How 1-800-Flowers Uses Puppet for Seasonal Cloud Demand
Founded in 1976, 1-800-Flowers.com Inc. was one of the earliest retail companies to start selling online and is one of the most recognized online retailers operating today. To right-size their systems for seasonal traffic peaks around holidays important to their business, 1-800-Flowers.com chose Puppet to ensure elasticity and scalability of their cloud infrastructure.
Benefits of Using Puppet:
Automatic remediation
for security vulnerabilities and SOX compliance.
Greater overall visibility
into system variances.
Fast build up and tear down
for cloud elasticity and scalability.
Challenge: A Rollercoaster of Seasonal Demands
People buy flowers all year round. But certain holidays drive huge numbers of people to the 1-800-Flowers.com multi-brand website, leading to big increases in sales volume and heavy loads on the company’s systems.
“Mother’s Day and Valentine’s Day are the big ones, where we see almost 10-day peaks,” said Veerakishore “Kishore” Vellanki, Director of IT Infrastructure. Of course, those peaks don’t last forever — and the resources needed to handle them aren’t utilized during normal business periods.
“We have to size our systems to meet anticipated load at these times,” said Kishore. "But to have all those resources for 365 days of the year is expensive. We need[ed] to find ways to minimize those costs, so we started exploring the cloud to see if we can move some of our workload there during peak periods.”
Transitioning its e-commerce operations to the cloud is not a trivial task for a company that has multiple brands to manage — even a company with a mature, professional IT department. And before Puppet, 1-800-Flowers.com were automating with scripts built manually in-house on hundreds of servers running AIX, Linux, and Solaris. They also had to do this while sticking to strict PCI and Sarbanes-Oxley (SOX) compliance standards, increasing the hours of manual work for the team.
“We could not ramp up capacity quickly to handle the load we anticipate[d],” Kishore said. “There is too much integration involved; it’s too complex, and you have to tie in with different services. It’s not just one app — there’s a bundle. There’s a sequence of steps that needs to be defined to have our systems built in a pre-cut fashion.”
Results: Cost-Efficient Cloud Elasticity
“One of the reasons we got Puppet Enterprise is to achieve that goal: to formulate our workflow and have systems built automatically,” said Kishore. "What used to take multiple weeks for our big application, we want done in a two-day time frame..”
As 1-800-Flowers.com continues to build its hybrid cloud capacity, the company has placed a priority on managing costs. “Our server inventory is going to grow, but we don’t want its associated costs to grow proportionally,” said Vice President of IT Magesh Ruthrapathy. “This initiative alone will directly impact the bottom line in a very positive way.”
Easier Replication, Faster Build Up and Tear Down
It’s far more cost-effective to treat servers as identical, interchangeable units, rather than as unique objects with distinctive features — the “cattle, not pets” model of IT. “The pets approach results in highly customized entities that support a specific application in a specific way,” said Ruthrapathy. “It becomes so complicated that replicating another such instance ends up becoming a massive engineering project. The cattle approach makes it easy to replicate machines.”
“One of our goals is to rapidly build the whole application stack in the cloud — internal or external, or hybrid — and to tear it down and build it back again as and when you need it. How can you do all that, including the required customization, without an automation tool like Puppet?”
Magesh Ruthrapathy, Vice President of IT, 1-800-Flowers.com
Automating the building and maintenance of servers is “a very important stepping stone to moving workloads to the cloud,” Ruthrapathy added. “Trying to do it manually is not going to work out, either time-wise or effort-wise.”
Automating Compliance to Save Time
Kishore’s team didn’t start by migrating transactions to the cloud; instead, its first project was to standardize configurations around compliance with Payment Card Industry Digital Security Standard (PCI DSS) requirements and Sarbanes-Oxley requirements.
Prior to using Puppet Enterprise, system engineers wrote in-house scripts for compliance. Achieving consistency was a challenge.
“It’s not easy to handle deploying changes in a mass, across hundreds of systems. We need to have consistent builds across systems, and make sure we have a continuous check that configurations are not modified, and not altered by somebody. This is an area where Puppet is helping a great deal.”
Veerakishore “Kishore” Vellanki, Director of IT Infrastructure, 1-800-Flowers.com
Kishore’s team is now using Puppet files to standardize configurations, checking them into a version control system. The system operations team can apply these configurations consistently through all stages of change, from development through QA to user acceptance testing and on to production. This infrastructure-as-code (IaC) approach not only ensures consistency, but it also provides visibility to anyone involved in the development and delivery process. Treating infrastructure as code is also a necessary step for 1-800-Flowers.com to move to continuous delivery.
After a short trial with Open Source Puppet, Kishore’s team shifted to Puppet Enterprise. Now a small subset of his team uses the software to manage hundreds of machines. Before, all their time was dedicated to management — not to mention support from other team members. Now these engineers have time to contribute to higher-value engineering and architecting work, making sure that a majority of new changes are made with Puppet.
Consistency and Cost Savings
Every team adopting a configuration management tool expects to achieve greater consistency, which becomes even more important when you’re planning to scale cloud infrastructure.
“As a company, we want to grow aggressively,” said Ruthrapathy. “This means server population growth, and with more and more servers, it’s important to be able to quickly find and address configuration drift. If you have 1 percent drift on 1,000 servers, you’ll have at least 10 times the number of events and impact on work. We want our server population to grow 10x, but not our problems.”
Download a free guide to cloud scalability >>
Kishore sees the early benefits of using Puppet Enterprise as a starting point for more complex automation greater collaboration between teams.
“We want the application operations teams to be able to do most things on their own, rather than waiting for the systems engineering or operations team to provision for them,” said Kishore.
“The main area where Puppet Enterprise is going to help is in achieving elasticity for peak demand seasons,” he said. “We look forward to making things easier and delivering to customers quicker.”
Puppet helped 1-800-Flowers scale infrastructure while holding down costs, all while ensuring compliance and eliminating repetitive manual work. How can Puppet help support your changing cloud infrastructure needs?
See for yourself what Puppet can do within the cloud. Try it today or request a demo with the Puppet team.