Shinola Detroit sells high quality products including watches, bicycles, and leather goods through their ecommerce website as well as in storefronts across the United States and internationally. Shinola wanted to prepare for the holiday shopping season and needed to be sure that their ecommerce website would scale under load.
ClearScale helped Shinola migrate off their Rackspace deployment and onto AWS. ClearScale re-architected Shinola’s infrastructure to take advantage of the scaling nature of AWS and automated with Chef and CloudFormation. Content is linked to CloudFront for fast delivery. Autoscaling groups grew as planned during testing, and Shinola is now ready for increased traffic driven by holiday shopping and marketing campaigns.
Shinola Detroit is committed to the return of American manufacturing including watches, bicycles, leather goods, and journals of the highest possible quality.
Shinola sells their products primarily through their ecommerce website at www.shinola.com as well as at storefronts in Detroit, Chicago, Minneapolis, New York City, Washington D.C., Los Angeles, and London, and via retailers across the United States and internationally.
"ClearScale helped us strategically and tactically migrate from a physical hosting environment to a robust and scalable AWS cloud infrastructure."
Shinola wanted to prepare for the holidays and to increase sales through their ecommerce website. They needed something that could scale under heavy load with automation and handle expected demand spikes of many times over normal traffic.
However, Shinola needed a more elastic, scalable, automated option that was not easily accomplished with their existing physical hosting environment. Plus, increasing capacity in their existing RackSpace infrastructure would require Shinola to lease even more servers and incur a significant ongoing expense.
Shinola decided to move to the Amazon Cloud and automate with Chef. AWS would enable their infrastructure to autoscale, meet holiday traffic spikes, and increase sales. Plus, Shinola would only have to pay for this extra infrastructure when it was actually being used.
Using Chef to automate their cloud infrastructure would help Shinola’s DevOps team to be more agile and efficient by automating routine, manual infrastructure management tasks.
Shinola chose to partner with ClearScale to design and deploy their new automated, autoscaling cloud infrastructure.
For Shinola’s DevOps team, efficiency is critical. To help save the team time by eliminating manual and repetitive tasks, they deployed Chef to automate Shinola’s cloud infrastructure on Amazon, including server provisioning, user management, and continuous application delivery. Chef lets DevOps teams to express their infrastructure design in code, and enables the repeatability, predictability, and agility necessary to get the most out of cloud infrastructure.
Shinola now has a collection of Chef cookbooks that completely automate their cloud infrastructure, and this increased agility enables their team to more efficiently manage platform configuration. Application server provisioning, previously a time-consuming and routine task, was automated with a Chef cookbook that installs and configures Apache, PHP, collectd, and all modules required for Drupal and Magento. It also adds parameters for MySQL, Memcached, and Redis. Monitoring tools are installed that send memory usage metrics to CloudWatch. These are common infrastructure management tasks that the Shinola team previously had to manage by hand, but with Chef, these routine tasks happen automatically behind the scenes.
Chef also has a powerful command line tool called Knife that the Shinola team uses to manage environments, roles, and data bags, to pull/push data to Shinola’s Git repository, and to upload new code to the Chef server.
ClearScale deployed an autoscaling application server group on EC2 using CloudFormation that could scale up or down automatically depending on levels of incoming traffic. In Shinola’s case, their autoscaling group is a group of application instances with Magento (an ecommerce platform) and Drupal installed and configured.
With CloudFormation, the team defined a number of conditions and parameters for scaling. AWS CloudWatch monitors CPU and memory utilization, and a CloudFormation template controls the autoscaling group based on parameters such as scaling thresholds, maximum and minimum number of instances in the group, which EC2 instance type to use, as well as which Chef environment to use for bootstrapping the instance. The CloudFormation template integrates with AWS Elastic Load Balancer (ELB), so that any new instances from the group would automatically be assigned to ELB; conversely, if the instance stopped according to autoscaling policy, it would automatically be deregistered from ELB.
ClearScale and Shinola simplified the architecture in a number of ways:
A secondary AWS Region was deployed for disaster recovery, and the whole deployment was simplified and made cost-effective by automating with Chef and CloudFormation.
The complex Redis cluster was replaced by Elasticache for an in-memory cache in the cloud, and MySQL servers were replaced by RDS to simplify management and cut costs.
The single-point-of-failure NFS server was replaced with GlusterFS for an elastic filesystem that could match the elasticity of the compute architecture. Later on, GlusterFS was replaced by the ultra durable S3 and linked up to CloudFront CDN for ultra fast delivery.
Amazon VPC also helped meet PCI requirements.
ClearScale and Shinola prepared to go live with a plan that involved multiple environments for staging and production as well as mock cutover and main cutover plans.
Before going live, they used JMeter to load test the existing environment and identify bottlenecks and weak spots in the architecture. Even load testing was automated with Chef via a JMeter cookbook that was used to build JMeter instances. With this cookbook, the team was able to spin up JMeter clusters in 5-10 minutes and use them in distributed load testing. Based on the JMeter results analysis, the team tuned the system and continued testing until a stable configuration was achieved that correctly autoscaled the application servers based on average CPU usage.
Despite meticulous testing and tuning, the load test scenarios did not reveal issues with GlusterFS, which was failing under load after Shinola went live. Shinola had to rush and modify their application to natively work with S3 which was better able to support serving static images at high load for Shinola’s product pages. It’s a good story about how network-based filesystems are hard to do on AWS and S3 is always a better option.
Shinola is now ready to handle holiday traffic and other demand spikes. The autoscaling groups grew as planned when Shinola’s site had increased traffic driven by TV advertising and marketing campaigns. “ClearScale helped us strategically and tactically migrate from a physical hosting environment to a robust and scalable AWS cloud infrastructure,” said Michael Chandler, Director at Shinola Detroit.
Shinola’s DevOps team is able to focus on higher-level activities because Chef infrastructure automation takes care of the routine configuration management tasks. And in addition to being able to meet increased traffic, Shinola was able to save significantly on hosting costs as well.