“The cloud” Explained for Normal People

If you are like most people in software, you have heard the term “The cloud” but have no idea what it means. If you are industrious enough to buy a book, google the term, or troll twitter for related tweets, you are likely exasperated by the shear marketing buzzword blast you encounter.

To make it easier on you, I am going to tell you what it means to me with a very specific example:

I am helping my company move into the cloud. Specifically, we are going to use most of Amazon’s AWS services.

Definitions

First, some abbreviations and definitions:

  • AWS
    • Amazon Web Services, a division of Amazon focusing on hosting our applications and data
  • SimpleDB
    • AWS’s always-available replacement for RDBMSs. Specifically SimpleDB is their hosted, replicated key-value store that is always available and accessible as a web service
  • S3
    • (a.k.a Simple Storage Service) AWS’s always-available file storage solution accessible as a web service
  • SQS
    • (a.k.a Simple Queue Service) AWS’s always-available queueing service accessible as a web service
  • ELB
    • (a.k.a Elastic Load Balancer) AWS’s always-available load balancing service accessible as a web service
  • EC2
    • (a.k.a Elastic Compute Cloud) AWS’s on-demand server offering accessible as a web service
  • CloudFront
    • AWS’s CDN (a.k.a Content Delivery Network) offering accessible as a web service

All of the services above are pay-as-go (and are very reasonable at that) and are accessible as web services. They are also always-available.

So why does one go about using these services?

Why use these AWS services?

  • SimpleDB
    • Instead of storing your data in Oracle, Postgres, or MySQL, put it in SimpleDB. You will have to give up strong-data consistency and ACID transactionality, but you will gain high availability and throughput.
  • S3
    • Want to store and access files and not worry about losing access to them temporarily or permanently due to hardware or software failures? Store them in S3
  • SQS
    • Want to use a messaging solution a la MQ series or WebLogic’s message queue servers? Worried how much much the hardware and licensing costs will run? Never mind! Use SQS and pay as you go.
  • EC2 and ELB
    • Deciding how much money to earmark for data center maintenance and expansion over the next year? If you are running a start-up, you have no idea how your traffic will grow. Also, if you get a TechCrunch mention, your traffic can sky rocket, only to fall to only slightly-higher-than-earlier levels. Do you spend vast amounts of money on hardware to cover your peak traffic hardware needs? Or do you just live with denying users’ access to your site during peaks? EC2 and ELB will spin up hardware when the traffic peaks and spin it down when traffic subsides. You are charged only for what you use.
  • CloudFront
    • Are CDNs charging an arm and a leg? Do they require accurate estimates of your proposed usage over the next few months? Use Cloudfront and pay as you go.

Basically, by moving these services out of your data center and into the cloud, you:

  • No longer need to run and maintain a data center. You no longer need the associated staff
  • Free yourself from some of the tax hassles associated with managing capital expenses (e.g. defining depreciation)
  • Get a more scalable and available infrastructure without trying to build it yourself

IAAS vs PAAS vs SAAS

Amazon is an example of an IAAS (Infrastructure as a Service) provider. They provide a a means to define and deploy your application and environment (i.e. OS and supporting packages) on demand to any number of hardware instances that you need. They do this via ELB + EC2.  They also provide various cloud services (e.g. SQS, S3, SimpleDB, CloudFront, etc…)

I hope you found this article useful. Feel free to follow me @r39132

  1. rooksfury posted this
blog comments powered by Disqus
About Me

A blog describing my work in building websites that millions of people visit. I'm a senior member of LinkedIn's Distributed Data Systems team. I previously held technical and leadership roles at Netflix, Etsy, eBay & Siebel Systems.
Tumblelogs I follow: