2

I have a EE site that has 62k entries. It's a directory site using open data sets. We are expanding to more countries and we expect at least 500k entries to be added in the next year and 400k plus on 2017.

I've being working with EE for years now. I read already this, and this (Looks like zocalo newspaper has 1M entries or so).

In your opinion; What's the best approch for that # of entries, categories and channels?

Setup 1

One EE install. We have 10 countries. Each country has between 20-50 channels. Each channel has 30-600 categories. Each country shares a unique custom field group between all channels with about 60 custom fields. Potential entries: 1M. What about using a SQL Cloud service like google or rackspace? that will help?

Setup 2

We have 10 different EE installs in different directories in same domain (domain.com/es, domain.com/de, etc). Problems: not sharing templates, not sharing user credentials, etc. Potential entries: 100k per EE install.

Setup 3

Will MSM help? Why? As far as i know; all the information will be at the same db as in setup 1, am I wrong? Is it possible to define each msm license to a directory, or only to a different domain or subdomain?

Thanks in advance,

Sorry for my english; it's not my primary language.

1

My suggestion would be to use services such as AWS. You would utilise RDS managed MYSQL services, Amazon S3 (Cloud based file storage), EC2 instances, auto scaling groups and a load balancer.

I know that there are plugins available to utilise Amazon S3 for Expression Engine, although it has been a while in all honesty since I have even installed Expression Engine, so I wouldn't be able to help you on that front. I'm positive a simple google will find it.

You would create a fully configured server in an EC2 instance and image it, this would allow you to effectively build the web server and deploy the application once, then clone it an unlimited amount of times in just minutes.

Ideally in order to keep costs low and make sure you have both an efficient and scalable environment you would design an autoscaling group. This would allow you to define triggers to enable the environment to scale from 1 server during low traffic to hundreds if your heart so desired.

This is a very rough overview of the process and resources that i would use in your situation. In my corporate environment we have very resource intensive web application which has periodic spike throughout the day, dependent on media coverage etc.

If you have any questions please don't hesitate to ask.

| improve this answer | |
  • Thanks Aaron, clouding sounds great, but unfortunately i'm more familiar with traditional dedicated servers. Don't know if it's just my imagination, but I find aws first approach quite difficult. I probably need to start testing with a small project. I understand it's the best solution for my overall needs, and labelled as "pending for 2016" (hope so at least). – Martin Pede Feb 11 '16 at 8:58
  • 1
    You would be surprised at how simple it can be - I will see if i can dig out some tutorials for you :) – Aaron Dobbing Feb 11 '16 at 9:26
  • 1
  • 1
    If you are comfortable in setting up your own environment in a *nix env, then the rest of it should be a breeze - Good luck if you choose to go down this path, feel free to send me a message if you hit any road blocks and i should be able to help! – Aaron Dobbing Feb 11 '16 at 9:44
1

What about using an SQL Cloud service like google or rackspace? Will that help?

It's not so much the size of the db, I think, as the expected traffic. You will certainly have to consider you hosting options carefully. Not all hosts are created equal ...

I certainly wouldn't want to install EE 10 times. Licensing costs apart, it'd be a monstrous task to maintain, no (simple) asset sharing between sites, etc.

Will MSM help? I think it might be an option worth considering. Yes, everything would be in the same database, but you could still have "separate" sites, if you will: separate URLs, separate editorial staff, etc. It would probably make things easier down the road. Each MSM site gives you a new site, and it's up to you how to access it: this could be a different (sub)domain or a separate part (like a subdirectory) of an existing site. In either case it would be trivial to map, say, example.com/de to de.example.com.

| improve this answer | |
  • Thanks Ingmar. We use a VPS environment for this project atm. We don't need "subdomains", just directories. What do we need to make site 1 "mysite.com/en" and site 2 "mysite.com/de"? Never used MSM. I've read the docs; and looks like we only need to create a new directory; copy those two php files and set paths to begin with? Is that right or we will be needing a .htaccess approach? Thanks in advance, & sorry for my english (not my native lang) – Martin Pede Feb 11 '16 at 9:03
  • If you really only want subdirectories, I'd probably try it with a single EE installation first. Make every subdirectory a template group in EE and take it from there. – Ingmar Feb 11 '16 at 9:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.