Thursday, October 27, 2011

Week 10 MIST 7500 - Amazon's Cloud Technology

Many years ago, when you heard the name Amazon you automatically thought of "books online".  If you wanted to get books shipped to you for a low price, they were the place to go.  Fast forward several years and Amazon is now a huge success selling almost anything you can possibly imagine in their marketplace.  Much of this success is due to how they run their business.  Some changes to the way they did business several years ago helped make up some of that success.

Amazon considers themselves to be a technology company that just happens to do retail.  Everything at Amazon is driven by technology stacks.  Originally they had teams of developers that were kept small to drive down the need for meetings.  They kept teams to around 8 - 10 people (enough people for two pizzas as Dr. Werner Vogel (Amazon's CTO) put it).  This proved to be a success early on, but eventually some productivity was lost and they had to do a deep dive into analysis to try and figure out what was causing this decline.  It turns out that their teams were spending about 70% of their time managing their infrastructure.  Amazon gave their developers the freedom to use whatever programs they wanted to use in their development, at first a blessing but it turns out it caused this infrastructure nightmare that spawned this decline in productivity.  Dr. Vogel wanted to relieve this burden so he came up with the idea of Amazon Web Services or Amazon's "Cloud".  The cloud would allow all of the programs and services to be housed and managed separately so the engineers could use what they needed and not have to worry about managing any of the infrastructure.  This proved to be a success from Amazon, and so they made this technology available to other businesses as well. 

So what makes the cloud so successful for both Amazon and other businesses that utilize it's features?  Below is an outline of the key features or benefits of using the cloud:
  • Designed for Flexibility - gave their developers the freedom to use the programs of their choice.  Wanted to avoid lock-in.
  • Designed for On-Demand - resources were made available when needed
  • Designed for Automation - all things in the cloud needed to be automated to keep productivity up
  • Designed for Elasticity - must be able to scale up and scale down
  • Designed for Failure - if you plan for the worst, you'll be prepared for it
  • Designed for Utility Pricing - customer's decide what pricing they are willing to pay
  • Break Transparency - creating of regions to avoid latency
  • Decompose into simplest form - break everything into smaller pieces
  • Designed with security in mind - from the ground up
  • Don't do it alone - invite the third parties to create the larger catalogs
  • Focus on what doesn't change - customer's always want low prices!
  • Let your customers benefit - pass your increased revenue into savings for your customers
  • Continuously innovate - be ahead of the game
So all of this infrastructure work is done by the cloud keeping the developers focused on what they do best...developing.   Amazon came up with these key features to make the cloud an attractive option for other companies to utilize.  They followed a model that most companies could easily adopt. 

The jury is really still out on whether or not cloud computing will really take off, but for now it seems to be working well for Amazon and some other early adopters.  My guess is that it may not completely steer companies away from conventional methods, but it will certainly become a viable option for most.

No comments:

Post a Comment