fowa miami 09 cloud computing workshop

Download Fowa Miami 09 Cloud Computing Workshop

Post on 26-Aug-2014




5 download

Embed Size (px)


Slides for an introductory workshop on cloud computing for a web app developer audience at FOWA Miami 09 (


  • How to build your app quickly (and cheaply?) using the Cloud
  • Intro (Admin, facilities, who I am)
  • Agenda
    • Overview
    • Walk-through deployment on PaaS and IaaS
    • Break
    • Considerations
      • Costs / Economics
      • Architecture
    • Discussion
  • Goals for the workshop
  • Cloud computing. WTF?
  • WAN (Frame Relay, ISDN, etc.) Router Router LAN A LAN B
  • For this workshop, it means: elastic compute resources, charged for like a utility
  • Why bother?
  • Whats a web app?
  • Its more than static content.
  • So that means, its about any and all commercial web sites, right?
  • No. Dont think so.
  • Griefer alert: is this just flamebait?
  • No. In the context of cloud computing, it makes a difference.
  • A big difference.
  • Apps do something.
  • Content doesnt.
  • Cloud computing is about doing something.
  • Microsoft is adding 10k servers a month to their infrastructure
  • Thats one Facebook per month
  • Amazon talks a lot about the demand
  • Animoto went from 50 to 3400 Amazon virtual servers in two days
  • The New York Times converted 4TB of TIFFs to PDFs in a day. For $240
  • And Amazon shows everyone who will sit still for more than 5 seconds the following picture:
  • Assumption: Mom+Pop ISP cannot compete with this.
  • Are Mom+Pop doomed?
  • Ultimately, that depends on you, the developers of web apps.
  • Its going to depend on decisions you make about architectural and engineering concerns.
  • Architecture is about making design choices. Engineering is about knowing your materials.
  • Making use of the Cloud is an architectural and engineering challenge.
  • So what are the architectural choices? What are the materials?
  • SADIST-PIMP SPI (SaaS, Paas, IaaS)
  • But wait! Once thats sorted, you have to consider contextual dimensions
  • The Radeztsky Cube
  • IOW, your choices are influenced by whether you are integrating established apps, or writing a green-field app.
  • And whether your architecture will be entirely in the public Cloud, or a mix of public and private resources.
  • For the sake of this workshop, were going to refer to the SPI model
  • SPI Model SaaS PaaS IaaS
  • Were going to assume a green-field app, deployed entirely on the public Cloud
  • Were going to focus on the scenario of your code, running elsewhere not so much on mashups and re-use of SaaS
  • And were going to examine the question of PaaS vs. IaaS for that app.
  • Goals for the workshop
  • OK. So what is PaaS?
  • Platform As A Service
  • Some examples: Google App Engine, Bungee,, Heroku
  • Characterized by
  • Constraints on language and design
  • A high level programming model
  • A specific model of multi-tenancy
  • Takes care of low level concerns
  • Google App Engine
  • Thats it.
  • Constraints on language and design (Python + BigTable + Goog Svcs)
  • A high level programming model (The WebApp (or other Python) framework, Datastore APIs, Memcache, etc.)
  • A specific model of multi-tenancy (Googles BigTable + GFS platform)
  • Takes care of the low level concerns (Scales for you (up and down), distribution across cluster nodes, load balancing, replication of data, etc. )
  • Pretty cool.
  • Infrastructure As A Service
  • Characterized by
  • No constraints on language or design
  • A high level architectural model
  • A specific model of multi-tenancy
  • Takes care of very few low level concerns
  • This is a LOT more work. ;)
  • Amazon Web Services
  • Amazon Web Services