1

I'm asking this question in the Magento stack because I feel that it is directly related to the Magento setup.

We are using Magento, and we currently have a development environment and a production environment each set up on their own Amazon AWS instances. Any changes on dev can be pushed to production using git and a deploy script we have made.

We would like to create an additional 'website' for customers in the U.K. within Magento, but we would like to host it in Europe, instead of in the U.S. The codebase of the U.K. website will be the same, and any changes from dev should go to both the U.S. and U.K. versions of the website. Our data is stored in Amazon RDS.

What would you suggest we do in order to separate the websites into different locations? One option that I have thought of implementing is to create an additional 'website' within Magento and then duplicate the AWS instance, placing the new instance in Europe. Code from dev will then need to be pushed to both instances every time. Data will be accessed and stored in the same RDS as the U.S. website.

Does this seem like a good idea, or are there better ways of doing this?

  • If you do so, the database needs either to be synced between the two locations which might be a bad idea or you have only one in EU or US - which makes latency high, therefore I would think about two stores or live with the latency – Fabian Blechschmidt May 20 '14 at 17:46
  • Bad idea, you are going to have order issues among others. It is more effort that it is worth, if this is to boost your rankings the ROI is not there. Obviously you can run two separate instances but again, the ROI is usally negative from a business perspective. – user2935 May 22 '14 at 15:36
0

The issue you're going to have with the suggested is latency between the application nodes and the database or between the master and the slave nodes if you distribute them.

Magento supports 1 master multiple slaves, non of the major hosts (as far as I know) have managed to get Magento working with Multi-Master cluster.

You could look at using a CDN such as Cloudfront to localise static content/http caching but your dynamic requests/content are always going to have the overhead of the required data/database being in the US.

  • Thanks. We plan on using Cloudfront, but we still have a lot of dynamic content. – Big Joe May 21 '14 at 11:38
  • Single master multi-slave and living with the latency of write ops is your only option. Magento is write heavy when tracking user activity, if you're doing that via Google Analytics, you should disable storage of all that data in your DB and just use GA. Full Page Cache (via plugin if using CE) is also going to be key to maximizing performance. I'd consider also using Zend Server which is cheaply available in AWS Marketplace for extra performance (and includes its own Page Cache among other goodies). Finally, try new Aurora DB - easier to setup & manage, MySQL drop-in & 5x performance boost – Bryan 'BJ' Hoffpauir Jr. Aug 19 '15 at 7:26

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.