1-800-Flowers Uses Puppet to Achieve Elasticity in the Cloud

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. The stock is publicly traded on the Nasdaq exchange.

Challenge

  • Achieve elasticity in the cloud to respond to peak seasonal demand
  • Achieve stability & limit costs as the business scales

Solution

  • Puppet Enterprise to automate cloud provisioning and deprovisioning, maintain consistent configurations and efficiency as the business grows.

Results

  • Automation of routine system tasks and configuration control helps 1-800-Flowers.com move to the cloud more quickly.

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

Top Outcomes:

  • Fast remediation of security vulnerabilities. The team was able to deal with Heartbleed, a high-severity security vulnerability, very quickly across hundreds of machines. Before Puppet Enterprise, it would have required significantly more time to remediate a similar high-severity issue.
  • Much easier compliance with PCI DSS (Payment Card Industry Data Security Standard) and Sarbanes-Oxley requirements.D
  • Free up system engineers’ time by automating pre-build, post-build and integration of applications, thus accelerating the company’s transition to the cloud.
  • Greater visibility into system variances, plus automated remediation of configuration drift.

Cloud: The Path to Cost-Efficient Elasticity

People buy flowers and other gifts all year round. But certain holidays drive huge numbers of people to the 1-800-Flowers.com multi-brand website, creating big increases in sales volume and, naturally, 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 Director of IT Infrastructure Veerakishore Vellanki, who goes by the shorter “Kishore.”

“We have to size our systems to meet anticipated load at these times. But to have all those resources for 365 days of the year is expensive. We need 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. “If we were to use a manual process, and build these machines with the regular resources, we could not ramp up capacity quickly to handle the load we anticipate,” 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.

“One of the reasons we got Puppet Enterprise is to achieve that goal: to formulate our workflow and have systems built automatically. What used to take multiple weeks for our big application, we want done in a two-day time frame. We are about halfway there now.”

As 1-800-Flowers.com continues to build its capacity — both in the cloud and in the physical data center itself — the company must keep costs down. “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.”

Cattle, Not Pets

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 Magesh. “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.”

Automating the building and maintenance of servers is “a very important stepping stone to moving workloads to the cloud,” Magesh added. “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 we need it. How can you do all that, including the required customization, without an automation tool like Puppet? Trying to do it manually is not going to work out, either time-wise or effort-wise.”

Starting With Compliance

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,” Kishore said. “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.”

Kishore’s team is now using Puppet files to standardize configurations, checking them into a version control system. The system operations team is able to 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 approach not only ensures consistency, 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.

Freeing System Engineers’ Time for Higher-Value Work

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, it would have required all of their time to manage this many, plus extra 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 done with Puppet.

Consistency Drives Efficiency Up and Costs Down

Every team adopting a configuration management tool expects to achieve greater consistency. That becomes even more important when you’re planning to scale your infrastructure. “As a company, we want to grow aggressively,” said Magesh. “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.”

Puppet Enterprise and the Future of 1-800-Flowers.com

1-800-Flowers.com has made a good start with Puppet Enterprise, and seen some early benefits. Kishore is looking forward to doing a lot more automation and enabling 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.”

Starting Environment

  • Automation with scripts built in house
  • Hundreds of servers running Linux, AIX and Solaris
  • Proving PCI and Sarbanes-Oxley compliance required a lot of manual work

Why Puppet Enterprise?

  • Fully automate system provisioning and maintain consistent builds to meet security standards.
  • Easier monitoring of systems for security and compliance with PCI and Sarbanes-Oxley requirements.
  • Achieve elasticity in the cloud, enabling the company to meet higher customer demand during peak buying seasons.
  • Scale infrastructure while holding down costs.
  • Enable self-service provisioning for developers and system engineers.
  • Free sysadmin time from routine, basic activities to focus on high-value engineering and architecting.
  • Rapid response to security vulnerabilities and other events requiring immediate action at scale.

See for yourself what Puppet Enterprise can do for you.

TRY PUPPET ENTERPRISE

 

Magesh Ruthrapathy is vice president of IT at 1-800-Flowers.com, responsible for core infrastructure services. He has worked through the evolution of IT from client-server all the way through to today’s scalable, virtualized cloud infrastructure.

Veerakishore (Kishore) Vellanki is director of IT infrastructure at 1-800-Flowers.com, where he couples his deep experience in Unix-based infrastructure, virtualization, storage and cloud with a strong focus on IT as an enabler of business strategy.