Engine Yard’s Steve Gross explains how the company is using AWS for their Platform-as-a-Service offerings, Engine Yard Cloud and Orchestra:
Hi Steve, briefly tell us about your business.
Engine Yard is the leading Platform-as-a-Service (PaaS). With deep expertise in Ruby on Rails and PHP, combined with powerful orchestration, deep community involvement and world-class service, Engine Yard empowers businesses to build and run cloud-based applications easily and cost-effectively. Thousands of customers, from explosive-growth Web startups to Fortune 500 enterprises, rely on Engine Yard for agile deployment and scaling, high performance, and 24/7 uptime, allowing them to leverage the cloud for competitive advantage. We're headquartered in San Francisco, Calif., and backed by Benchmark Capital, New Enterprise Associates, and Amazon.com.
How have you incorporated Amazon Web Services as part of your architecture? What services are you using and how?
We currently provide two products that run on infrastructure from Amazon Web Services (AWS): Engine Yard Cloud and Orchestra. Both of these are PaaS products designed to run Ruby and PHP applications, respectively. The specific services we use for this product include:
The following diagram illustrates our architecture:
Engine Yard Architecture
What programming languages and/or tools did you use to build this solution?
The Engine Yard Cloud is built with Ruby and Orchestra with PHP. We use various tools and frameworks to provide the necessary management and deployment functionality, including Ruby on Rails, fog, and custom libraries for accessing AWS.
Why did you decide to use AWS?
We started Engine Yard in early 2006 to meet a genuine need: customers were developing business-critical Rails applications, but they didn’t want to worry about application deployment, management, and scaling.
We started out with our customer applications running on our own fully managed infrastructure. In 2009, we introduced Engine Yard Cloud, a Ruby on Rails PaaS for web developers and web teams running on top of the AWS cloud computing infrastructure. Engine Yard Cloud provides easy-to-use, automated Rails application deployment and management, with a design philosophy that allows easy migration of existing applications.
The AWS infrastructure has been key to powering thousands of high-traffic production applications that are deployed on the Engine Yard platform. Engine Yard Cloud is designed to take advantage of High Availability best practices and will automatically deploy clusters of instances across Amazon EC2 availability zones.
In September 2011, Engine Yard acquired Orchestra, a PHP platform for deploying, scaling, and managing PHP applications. Also built on Amazon Web Services, Orchestra integrates with your workflow, autoscales up and down, and gives you extra power with third-party add-ons. The Orchestra core team includes dedicated PHP community leaders and contributors, continuing Engine Yard’s tradition of leadership and participation in key open source projects.
Can you share any metrics on your usage of AWS to date?
PlayMesh, a key client of Engine Yard, successfully handles millions of requests per day in supporting its 13 million registered users. They can easily meet customer demand and still focus on cost savings by using the Engine Yard Cloud pay-as-you-go service. Being able to monitor their applications and scale up quickly with high customer demand allows PlayMesh to save money in the long run. They avoid the expense of owning infrastructure outright and only pay for the cloud computing capacity they need.
“Engine Yard Cloud pricing is very reasonable - especially compared to other cloud solutions. We can easily deploy new servers when customer demand increases, so we don’t have to invest in infrastructure before we need it,” said Eric Peng, CEO of PlayMesh. “We estimate that our costs are 3-5x lower than if we had to pay the direct and indirect costs of owning and managing our own infrastructure and deploying our large array of applications. A majority of the savings comes from intangibles like the time it takes to learn how to configure a server as opposed to using that time to code a new feature, the stress related to maintaining uptime without additional help, and the resources needed to manage servers.” iFarm by PlayMesh became the #1 iPhone App and was downloaded 1 million times in just 10 days.
The specific resource usage by PlayMesh has varied as their requirements and traffic load changes. Typically, their production environments are running over 50 instances and multiple application components, including databases, utility servers and custom components.
How has AWS helped your business?
According to Eric Peng, CEO of PlayMesh, AWS and Engine Yard were the perfect solution for the company's explosive growth: “We were victims of our own success – we had so many people using our applications that we couldn’t keep up with the need to expand. On top of that, we’re a game studio, not an infrastructure company, so we were inexperienced when it came to configuring servers to scale based on changing traffic patterns. Most people don’t know how to prepare for this level of growth because they’ve never been exposed to it. This is where Engine Yard PaaS running on AWS really shines because scaling Rails applications is one of their specialties.”
To learn more, visit http://www.engineyard.com/ .
Added December 21, 2011