We’ve been working with Sexy Hair for the past few years on a wide mandate. We’ve helped the company evolve everything—mobile user experience, content management strategy for dozens of internationally localized websites, even development of a custom platform to engage their community of stylists and salon owners.
Why is it slow AND expensive?
At one point in time, Sexy Hair’s web systems were spread over multiple, beefed-up servers running versions of Drupal to facilitate international web content, as well as storefronts in multiple currencies. Although the goal was to continue growing the online presence internationally, the system had grown unwieldy and the entire web presence was getting crushed under its own weight. This resulted in a spiral where the entire deployment slowed down over time, and the only strategy to resolve that was to invest more into increasingly powerful servers.
Graceful solutions create efficiencies
Magento was selected as the ecommerce platform for the future, because of its robust features as well as its integration capabilities to automate business processes. Coinciding with a move to Magento, we implemented a strategy for Sexy Hair to deliver localized content for all of their international websites using a lightweight CMS called Craft—promising a graceful replacement to the hefty Drupal deployment. Further, we architected a seamless integration between Magento and Craft to provide the end-user with a fluid experience at SexyHair.com, whether they were reading blog posts in North America, or browsing the product catalog in Turkish.
Replacing costly servers with the power of the cloud
The platform migration solved the content management and workflow issues, however Sexy Hair was still faced with mounting costs due to the powerful servers required to run a massive, high-traffic retail website as well as 30+ international content sites. So, rather than rely on a few massive and costly servers, we introduced Sexy Hair to the “cloud” way of doing things—we implemented dozens of tiny servers and distributed services that would be fault tolerant and self-healing, increasing speed and redundancy, all while significantly reducing overall costs.
We re-deployed all of Sexy Hair’s systems using Amazon Web Services. The application servers for Magento, Craft and their community application were deployed using Docker and ElasticBeanstalk, creating a frictionless pipeline for our team to move code from development to QA to staging to the live website. Our custom configuration for Magento allowed us to store all persistent information, such as the product database and session information about logins or shopping cart contents on shared instances of RDS and Elasticache. This allowed our servers to become nimble and disposable: at times of high load the configuration would automatically instantiate new servers and bring them online to serve traffic, and during times of low traffic the excess servers would be terminated to save on computing costs. Further, CloudFront was employed to aggressively cache static templates and asset storage across all of the websites, significantly reducing the load to application servers.
Cheaper and faster—what’s not to like?
Ultimately, we were able to move Sexy Hair to an infrastructure that greatly improved the speed of their web presence. The fact that CloudFront handled most of the requests for simple content such as images or template code, meant that the server infrastructure only processed requests that CloudFront couldn’t handle—page loads went from many seconds of lag to being instantaneous. Reliability increased greatly because the server environments are self-healing— automatically replacing themselves in case of degradation. Lastly, the server costs were reduced to less than 10% of what they were previously paying, thanks to the efficient configuration and the variable pricing tiers available on AWS. Now, money that was previously spent on keeping systems afloat could be reallocated to actually growing and improving the online presence.
We're leaving out a lot of the detail on how we had to hack Magento's configuration system in order to create a singular, flexible codebase. Magento doesn't naturally lend itself to this sort of deployment and we did have to fight with the traditional "Magento way" of doing things to pull this off.
Ultimately, we're fans of Magento as a robust ecommerce platform. However, a little bit of ingenuity and systems thinking upfront can ensure that the deployment is as nimble and graceful as the modern web—and modern consumers—require.