Iron Heart Jeans

The brief was simple:-

Make the current website run super fast – and not die at sales time!

PBS Creative were asked to migrate an existing e-commerce store from a monolithic single server into a highly scalable and super fast AWS cloud hosted application.

Over our many years of inheriting websites from other developers we’ve been exposed to all sorts of configs by people with varying levels of technical understanding.

Most frequently we find developers have played it safe by adopting a server technology where the server is configured by a simple web based control panel interface, unfortunately this is restrictive in features and growth.

Amazon Web Services

The inherited configuration

In this particular instance the server was a physical private ‘metal’ machine configured with WHM/cPanel and very few options to upgrade.

Although this made things easier for the previous developer, our system architects found this highly restrictive and difficult to customise without breaking WHM/cPanel.

Additionally this held back adoption of new development technologies as we waited for recent features to be implemented by cPanel.

As www.ironheart.co.uk grew in both complexity and customers the server began to slow down, especially during busy periods. During special sales it would be unable to support a relatively small number of customers eager to grab a bargain, the first 30 mins of sale time would be met with an unresponsive server and error pages leading to disappointed customers and potentially lost revenue.

Iron Heart pride themselves on offering excellent customer service and want each and every one of their customers to have an outstanding experience throughout the whole buying process, to let them down in this way was unacceptable.

As believers in not simply “throwing more hardware at the problem” we first ensured we were maximising every drop of performance from the existing server.

Once we had gone as far as we could to optimise the existing site code, implemented advanced caching routines, content delivery networks and database optimisation – there was no other choice but to increase server capacity.

Simply increasing capacity at the existing provider would also mean over provisioning and committing to a much higher monthly payment for a high specification server which is only required for a fraction of time.

Considerations

Before deciding on a new hosting infrastructure we must first consider its requirements:

  • A global customer base, predominantly based in Europe and USA
  • Geography means 24/7 constant use, cannot afford any downtime
  • Very high quality, large images requiring significant storage capacity and download speed
  • Varying server load – must be adaptable to planned high demand
  • Ecommerce security and PCI compliance considerations
  • Various other supporting tools and web apps

Amazon Web Services

There are several well established and technically advanced hosting providers available to choose from, currently leading the pack with a 30% market share is AWS from Amazon.

AWS have established themselves as market leaders by providing technically advanced and reliable solutions. They are trusted by a large percentage of major international businesses, when you consider that Netflix runs on AWS you know they have some incredible Internet capability.

The beauty of AWS solutions are that they can be adopted by companies of all sizes, affordable for smaller businesses and supporting them throughout their growth.

Their products ticked all the requirements for Iron Heart and offered greater scope for future development and international support.

AWS architected solution

Work Undertaken

  • Architect and configure AWS to support www.IronHeart.co.uk and associated forum site.
  • Assess and modify the web store code for suitability of distributed processing (can it run across multiple load balanced web servers?)
  • Load testing to assess the scalability of the code, how many users can we server before the application starts to slow down.
  • Preparing the applications for a distributed environment (altering save locations so can be shared by multiple servers etc)
  • Implementing Redis memory based caching server to radically speed up load times for shop front and back end administration.
  • Containerising Prestashop and putting in place a way to manage the containers as part of the development and testing workflow (A specific and consistent server configuration from which the shop runs within)
  • Live migration from the old hosting server with just 30 mins of downtime required to backup and copy the old database.

Main Benefits

  • Scalability means we can prepare for busy periods by increasing the number of web and database servers to meet high demand at sales time.
  • 72.91% faster page rendering with the base line two web server configuration, 80.21% reduction in connection time.
  • Improved logs, statistics and error reporting ensure greater visibility and faster resolution of issues.
  • No more issues due to differences in development and live environments thanks to Docker containerisation.
  • Cost saving flexibility of enabling / disabling servers means only paying for the services used when required.
  • The AWS solution monthly hosting cost is approximately the same price as the previous legacy hosting.
  • Expanded opportunities to use other AWS features to further enhance hosting and coding features, for example mobile device detection and geo targeting with user location performed by CloudFront.