11. Deploying to the cloud
• Provision for current load
• Capital expenditure operating expenditure
• Elastic provisioning
• On-demand infrastructure Ease of deployment
• More actionable performance metrics
25. The Engine Yard Cloud Stack
• Managed
• Secure, current, and optimized
• High Performance
• Up to 20% more than a vanilla stack
• Optimally configured out of the box
• Standards-based and open source
26. Four ways to scale in the Cloud
1. The right stack
2. Scalable application design
3. Agile deployments
4. The right components
29. Application scalability design rules
• Partition to scale
• Heavy reporting or analytics workload? Run on a database
replica
• Optimize for common workflows
• Caching instead of hitting the database
• Move non-critical services out of http response path
• Use the right tools
• Measure, measure, measure
• New Relic and Soasta are great tools to help
• Engine Yard Cloud monitoring infrastructure
33. 3 Steps to Agile Deployment
1. One-click and repeatable deploys
• Separate configuration state and data
2. Integrate deployments into development workflows
• Git integration
3. Environment cloning and tear-down
• Use for true staging and development replicas
44. Why Engine Yard Cloud
• Scale from start to finish
• One-click deployments
• Use any custom component
• Pay only for what you use
• Automate everything
• Access our expert Rails support team
Welcome to the Rails Roadshow. My name is Abheek Anand, and I’m a product manager atEngine Yard.I’m here to have a conversation with you about achieving your performance and scalability for your Rails applications Engine Yard Cloud.
How many people have deployed applications to the cloud? Any users of Engine Yard Cloud? Excellent. So about 50-50..
Here’s what we will be covering today.
I’m also going to try out something new here – interleave this presentation with a demo of engine yard cloud to give you a flavor of what some of our customers do to scale some of the biggest rails sites on the internet.
Just as an FYI, I have anticipated everything that needs to work for this demo and I can assure you that nothing will possibly go wrong.
This is what a typical datacenter might look like. Lots of equipment. Lots of cables. But most importantly, lots of humans. And that can be a problem.
Pop quiz #1 – Any ideas on what this graph is? 2 takeaways for me. First Rails definitely scales!Second, But traffic surges can happen suddenly, and they can be pretty dramatic. This phenomena of sudden traffic spikes is extremely common on the internet. Makes it incredibly hard for you to avoid situations like this…
Here at Engine Yard, we believe that the cloud is just a fundamentally better way to deploy your applications
Elastic provisioning lets you scale up and down.
Really its about self-service, being in control of your applications at all times, and doing so easily.
Let’s see how Engine Yard Cloud can make it easy, and fun, for you to deploy your application to the cloud.I didn’t want to focus on some toy-app to deploy, and instead wanted to use a real-world complex rails application for this task. Notice all the things that I didn’t end up doing. I didn’t file a ticket to buy new hardware. There was no setting up of infrastructure involved – no cables to be plugged, no switches being setup. There was no database configuration – no application configuration. Engine Yard Cloud does it all for you.
Saying over at Engine Yard – let’s get it to the point that customers can hire Abheek to manage all of their infrastructure. Now of course you probably don’t want me running your mission critical applications 24x7 – but I assure you with this platform I can.
Ease of deployment is only the first part of the story. Really this is the point at which the performance optimization work really begins.
This speed and effectiveness of iteration is a strong competitive differentiator for your product.
Let’s talk about each of these in detail.
First off, choose the right stack. Wait a minute….
This is a rails meetup. And aren’t we in agreement that Rails is a great platform for scalable web applications? Tom just spoke about how it increases developer productivity 2-5x. 2-5x!Ruby on Rails is a great application framework we all know and love, and is fundamentally a better way to do things.
Some of the biggest rails sites run on this stack, and we at Engine Yard believe this is really the secret sauce behind why we are able to help applications scale better.
Let’s talk about each of these in detail.
As an application developer, we believe your first objective while designing your application should be focusing on user happiness.
At the same time, be prepared to scale your application as soon as possible.
Engine Yard Cloud makes it easy for you to implement these features (and more), right out of the box
Let’s talk about each of these in detail.
At Engine Yard, we have been practicing agile development as a fundamental development practice, and that gives us a significant advantage when it comes to feature delivery speed. Deployment should be no different – agile deployments can help you iterate faster and more effectively, making it invaluable in resolving performance bottlenecks.
Cloning with live data – enables more effectively testing and performance measurement. Fast setup and then throw away. Repeatable.
Let’s talk about each of these in detail.
The first question you want to ask yourself is – what is YOUR performance bottleneck?
Is your application layer unable to scale?
Or perhaps database load is causing problems with page load performance?
Do you need to use a custom application to achieve your scalability and performance needs?
And many solutions. In fact, there are too many solutions. Now you can hire Randall, our rails expert here, to figure it out for you.
Pick the right tool for the right job. And rely on our expert support team to support you in case you need it.
Flexibility is something we built into the platform from day one. Engine Yard Cloud helps you pick the right tools for the job, whatever they might be.
If you remember only three things from this presentation, make it these.
But remember twitter – and be prepared to scale when needed.
The faster you go through this cycle, the more agile you can be. And on the web, agility is a significant competitive advantage for your business.