• Save
Scaling Your Applications with Engine Yard Cloud
Upcoming SlideShare
Loading in...5
×
 

Scaling Your Applications with Engine Yard Cloud

on

  • 3,421 views

Abheek Anand on Engine Yard Cloud, Rails in the cloud.

Abheek Anand on Engine Yard Cloud, Rails in the cloud.

Statistics

Views

Total Views
3,421
Views on SlideShare
3,302
Embed Views
119

Actions

Likes
2
Downloads
1
Comments
0

4 Embeds 119

http://www.engineyard.com 102
http://www.slideshare.net 12
http://me:4000 3
http://staging.engineyard.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 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.

Scaling Your Applications with Engine Yard Cloud Scaling Your Applications with Engine Yard Cloud Presentation Transcript

  • Scaling your applications with Engine Yard Cloud! Abheek Anand! abheek@engineyard.com
  • Quick Survey
  • Agenda • What’s different about the cloud? • Engine Yard’s web performance mantra • The four-step path to performance nirvana • Q&A
  • Demo
  • Nothing can possibly go wrong
  • What is different about the cloud?
  • A typical datacenter
  • Traditional hosting • Provision to peak demand • Non-elastic platform •  No programmatic provisioning • Lack of actionable performance metrics
  • Daily Page Views at Twitter
  • A better way to deploy
  • Deploying to the cloud • Provision for current load •  Capital expenditure  operating expenditure • Elastic provisioning •  On-demand infrastructure  Ease of deployment • More actionable performance metrics
  • Take control
  • DEMO – Deploying on Engine Yard Cloud
  • Even a Product Manager can do it
  • Scaling your application in the cloud
  • The Engine Yard Web Performance Mantra
  • The right platform can help • Iterate over this loop quickly • Fix problems the right way • In a cost effective and scalable manner
  • Four ways to scale in the Cloud 1.  The right stack 2.  Scalable application design 3.  Agile deployments 4.  The right components
  • Four ways to scale in the Cloud 1. The right stack 2.  Scalable application design 3.  Agile deployments 4.  The right components
  • Ruby on Rails
  • But not all stacks are created equal
  • Too simple…
  • … or overly complex
  • The right stack is critical
  • 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
  • Four ways to scale in the Cloud 1.  The right stack 2. Scalable application design 3.  Agile deployments 4.  The right components
  • Focus on user happiness
  • But be prepared to scale
  • 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
  • DEMO! Scaling your application with Engine Yard Cloud
  • Four ways to scale in the Cloud 1.  The right stack 2.  Scalable application design 3.  Agile deployments 4.  The right components
  • Agile deployment
  • 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
  • DEMO! Cloning Environments with Engine Yard Clod
  • Four ways to scale in the Cloud 1.  The right stack 2.  Scalable application design 3.  Agile deployments 4.  The right components
  • What is YOUR performance bottleneck?
  • Application Layer?
  • Database Load?
  • Custom Applications?
  • Many problems…
  • …No Silver Bullet
  • Choose the right tools
  • DEMO! Scaling with custom utility instances
  • 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
  • Three takeaways
  • 1. Start small, be agile about performance Corollary – Focus on user happiness first
  • Remember Twitter
  • 2. Scaling is about rapid iterations (Measure  Identify  Optimize)
  • 3. Use the right platform to let you scale
  • Three Takeaways! 1. Start small, be agile about performance! 2. Scaling is about rapidly iterating! 3. Use the right platform
  • Questions?
  • Thanks for listening! Abheek Anand! abheek@engineyard.com