Graze Case Study
2016
Graze was founded in 2008 by seven friends who wanted to give people easy access to healthy snacks. Initially it sold its products in the U.K. via a subscription service, where customers would receive boxes of snacks tailored to their preferences in the mail. It has since expanded into the U.S. and added a web store through which customers can buy snacks directly. It has also started selling its products in over 4,000 U.K. retail outlets. Graze now employs hundreds of people and has an annual revenue of more than US$100 million.
With AWS we have better access to data, we’re more agile, and we can get feedback on product performance in days compared to six months for a large food manufacturer.”
Edd Read
Chief Technology Officer, Graze
The Challenge
Like many startups, Graze has used the cloud since day one. Edd Read, one of the original founders and chief technology officer (CTO), says, “We’ve never had physical servers. We’ve always used the cloud as a flexible way to spin up servers and store data.” Managing its infrastructure in house, Graze made use of Amazon Elastic Compute Cloud (Amazon EC2) for its web and database servers. However, “we felt we could get much more from the cloud,” admits Read.
Why Amazon Web Services
“Our mission is to become the world’s number-one healthy snacking brand by letting consumers buy heathy snacks in the most convenient way possible,” says Read. And when Head of Infrastructure Graham Moore joined the company in early 2015, he saw an opportunity to make some changes to enable this. Moore says, “We have a great team of people here, and I’d much rather they were focused on driving growth and experimenting to find innovative ways of delivering our products than managing a sprawling infrastructure.”
Recently Graze migrated many parts of its infrastructure from Amazon EC2 to various services managed by AWS. Moore sums up the reason for the move: “We didn’t want to treat AWS as just another data center anymore. We asked ourselves if it really made sense for us to run our own database, memcache, or Domain Name System servers when AWS offers a managed version of those services.” Developers at Graze now deploy code for the website using Docker on AWS Elastic Beanstalk, and all databases run on Amazon Relational Database Service (Amazon RDS). The company has also moved the physical servers in its factories to Docker and AWS Elastic Beanstalk. It uses Amazon Virtual Private Cloud (Amazon VPC) for its virtual private network (VPN) connection, Amazon Route 53 for DNS services, Amazon ElastiCache for database caching, and Amazon CloudFront to handle incoming traffic for its subscription site and online shop. All staff at Graze run reports from Graze’s Amazon Redshift data warehouse, and it is beginning to experiment with serverless architectures using AWS Lambda. “We have maybe 10 or 12 uses for Lambda, including real-time uploads of analytical data to Amazon Redshift, managing backups, and checking GitHub pull requests, but we’d like to increase that to triple figures in the next 12 months,” says Read.
The Benefits
“As a startup we want to move fast, be able to experiment, and quickly understand what’s working and what’s not,” says Read. “I think this is reflected in the way we support the business with AWS.”
By using Docker and AWS Elastic Beanstalk, developers now have consistent environments in which to deploy code for the company’s applications. “Any Graze developer can work on any Graze project and will have the same process to launch staging and live environments,” says Moore. “And if someone requires a special environment, we can set it up within minutes.”
Handing over management of services to AWS has also had a positive effect on the IT team’s productivity. “I haven’t had a support callout in six months,” says Moore. “Previously we’d have to work late at least once or twice a week. It’s allowed us to refocus people’s efforts onto more strategic tasks. Whereas before we had four or five people looking after the environment, now it’s just two.”
By using Amazon CloudFront, the team has saved money and improved the end-user experience. Moore says, “We made some changes to our web app, which has meant that we reduced the hits to our web platform by around 40 percent and increased the cache hit rate to 99 percent. This saved us money and made a significant difference to the speed of the website.”
Read continues, “I’m impressed with how Graham and the team have managed to unify our subscription and retail sites under one simple user interface behind Amazon CloudFront, which acts as a load balancer.”
The future for Graze holds further international expansion, something that Read feels is enabled by the data-driven nature of the company. “With AWS we have better access to data, we’re more agile, and we can get feedback on product performance in days compared to six months for a large food manufacturer,” he says. “For example, when we launched in retail, we had 12 products and replaced 2 of them within a few months—that involved collecting the data, developing the new products, and getting them onto the shelves. This is a great example of how our technology keeps us competitive.”
About Graze
Graze was founded in 2008 by seven friends who wanted to give people easy access to healthy snacks.
AWS Services Used
Amazon RDS
Amazon Relational Database Service (Amazon RDS) makes it easy to set up, operate, and scale a relational database in the cloud.
Amazon Route 53
Amazon Route 53 is a highly available and scalable cloud Domain Name System (DNS) web service.
Learn more »
Amazon CloudFront
Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds, all within a developer-friendly environment.
Amazon ElastiCache
Amazon ElastiCache offers fully managed Redis and Memcached. Seamlessly deploy, run, and scale popular open source compatible in-memory data stores.
Learn more »
Amazon RedShift
Redshift powers mission critical analytical workloads for Fortune 500 companies, startups, and everything in between.
Learn more »
AWS Lambda
AWS Lambda lets you run code without provisioning or managing servers. You pay only for the compute time you consume - there is no charge when your code is not running.
Learn more »
Amazon VPC
Amazon Virtual Private Cloud (Amazon VPC) lets you provision a logically isolated section of the AWS Cloud where you can launch AWS resources in a virtual network that you define.
Learn more »
Elastic Beanstalk
AWS Elastic Beanstalk is an easy-to-use service for deploying and scaling web applications and services developed with Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker on familiar servers such as Apache, Nginx, Passenger, and IIS.
Learn more »
Get Started
Companies of all sizes across all industries are transforming their businesses every day using AWS. Contact our experts and start your own AWS Cloud journey today.