Shinola Detroit’s Automated Cloud Infrastructure Powers Agile DevOps Team and Seamless Scaling
Challenge
Shinola wanted to leverage automation to drive sales through its eCommerce website.
Solution
ClearScale implemented Chef to enable infrastructure automation and auto-scaling with CloudFormation.
Benefits
Shinola now has the IT architecture it needs to scale with demand spikes whenever they occur.
AWS Services
Amazon CloudWatch, Amazon EC2, Amazon CloudFormation, Amazon ElastiCache, Amazon CloudFront
Summary
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. Auto-scaling 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.
Business Challenge
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.
The Solution
Shinola decided to move to the Amazon Cloud and automate with Chef. AWS would enable their infrastructure to auto-scale, 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, auto-scaling cloud infrastructure.
Infrastructure Automation with Chef
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, collected, 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.
Auto-scaling Cloud Infrastructure with Amazon Web Services
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 auto-scaling 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 auto-scaling 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 auto-scaling policy, it would automatically be deregistered from ELB.
Chef + AWS Simplify Shinola’s Architecture
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.
Preparing to Go Live
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 five to ten 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 auto-scaled the application servers based on average CPU usage.
Project Challenges
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.
Business Benefits
Shinola is now ready to handle holiday traffic and other demand spikes. The auto-scaling 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.