ExpressionEngine CMS
Open, Free, Amazing

Thread

This is an archived forum and the content is probably no longer relevant, but is provided here for posterity.

The active forums are here.

Multiple Server Architecture and Expression Engine

July 13, 2010 3:50pm

Subscribe [4]
  • #1 / Jul 13, 2010 3:50pm

    saraking

    17 posts

    A large client of ours is investigating the move to EE - they have an internal IT department and server environment, so moving to a new host isn’t a viable option.

    They are concerned about how well EE will integrate into their current server architecture - I’ve posted here previously regarding the ability to have EE in a load-balanced environment, but they have some additional questions.

    Could anybody help us out and provide as much technical information as possible to the questions below?

    (For an idea of how they have their environment structured currently, I’ve attached an image that details their setup)

    1. Best practices or case studies or any info you can find on horizontally scaled implementations of EE servers

    2. Can EE work with connecting to HTTP servers other than Apache such as IBM HTTP (this is built on Apache)

    3. Can multiple instances of EE connect to a single MySQL db and share the content form there?

    4. Session handling in EE 2.0 using CodeIgniter’s Session class suggests use of either Cookie based or MySQL db table. Which is the preferred technique from your perspective?

    Thanks!
    Sam

  • #2 / Jul 14, 2010 6:20pm

    Nevin Lyne

    370 posts

    The rsync setup is a bad idea in all honesty, outside the fact you will have multiple physical EE installations, and if you go by the book, multiple EE licenses, you also have multiple copies of EE you need to update.  File uploads, EE caching, if you use page/template caching for instance, when you publish a new article the caches are flushed, but the only system that would have the caches flushed would be the system that executed the publish, the other system would be unaware. There are other complications to consider too, but rsync of files/content in a load-balanced environment works great with all static content, but poorly if at all as you expect it to when you are dealing with dynamic content, file uploads, caching, etc.  It can be done, but its way more complex, and prone to complications then a central storage solution.

    On that note, you would be much better off adding a NFS file server, and/or an iSCSI/Fiber Channel storage system w/a clustered file system, but NFS would be the easier to implement and manage.  This gives you a single copy of EE, shared caching and other files, etc.  EE is at that point working across multiple servers but to itself looks to be on a single server, as of course from a files standpoint is.  If they are worried about single point of failure then suggested to use a redundant head-unit NFS system from places like Netapp, EMC, Nexenta, or others.

    EE nor most other webapps will have a problem “sharing” a single mysql server as really mysql is working based on an authenticated connection, executes a query, returns data.  Be that from localhost, a single web server IP, or 10 web server IP addresses, as long as you have privileges on the mysql database, its not an issue. 

    Finally on your diagram included though I am not sure the separation between ExpressionEngine and the IBM HTTP server above.  Are you going to be using the IBM HTTP servers as a proxy in front of EE running on apache/nginx or similar? If not then really those would be combined as EE really is a web application rather than a stand-alone server appliance of some sort.

    Just a few things to consider, but EngineHosting runs EE, and many other web applications in a load-balanced environment in a very similar fashion.  The technology vendors are different, but load-balancers, web servers, central storage (NFS based) and separate MySQL systems all come into play.  Have been doing that for many years, across many thousands of small and large sites alike.  In the end, its transparent to the web application.

  • #3 / Jul 15, 2010 3:45am

    Kenny M.

    82 posts

    This is the scariest forum thread I’ve ever seen.

  • #4 / Jul 15, 2010 10:55am

    saraking

    17 posts

    You ain’t kiddin’, Kenny.

    Thanks very much for your input Nevin; I’ve passed the info to our client for them to review.

    Sam

  • #5 / Jul 15, 2010 1:22pm

    Nevin Lyne

    370 posts

    Now you know now I feel reading about all of that CSS/JS/etc. stuff people fight with on site designs, multiple browsers, etc. 😉

    Best of luck with the client.

  • #6 / Jul 15, 2010 3:30pm

    Tony Geer

    253 posts

    Good point Nevin, to each his own!

  • #7 / Jul 15, 2010 3:54pm

    Nevin Lyne

    370 posts

    Tony,

    Thanks!. Liked the Pingdom graph you twittered about earlier too by the way. 😉

  • #8 / Jul 15, 2010 4:27pm

    Tony Geer

    253 posts

    You’re welcome 😊 You’re now my recommended host for clients.

.(JavaScript must be enabled to view this email address)

ExpressionEngine News!

#eecms, #events, #releases