Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What’s this “cloud” stuff I keep hearing about ...

What’s this “cloud” stuff I keep hearing about and how do I use it?

In this talk, learn about the various cloud based services which are out there and how to get up to speed quickly on each. Should you go with Amazon EC2 or Rackspace Cloud or Linode? Maybe Heroku or Google App Engine or Joyent’s no.de service? Each has their specific use cases, so learn why you would pick one vs the other. While it’s interesting to learn the overview, don’t stop there! Dig right in and follow along getting up to speed quickly on several of the most popular options. This is a hands on talk, so be ready to follow along as we present the getting started section!

Jeremy Johnstone

December 11, 2011
Tweet

More Decks by Jeremy Johnstone

Other Decks in Technology

Transcript

  1. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" What is this “cloud” stuff I keep hearing about and how do I use it? Kirsten Jones and Jeremy Johnstone Developer Advocates @ LinkedIn Wednesday, November 30, 2011
  2. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" What is "cloud" anyway? Wednesday, November 30, 2011
  3. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Agenda • About Us • Cloud Overview • IaaS Comparison • PaaS Getting Started Wednesday, November 30, 2011
  4. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Our Backgrounds • Jeremy • Used Linux for over 17 years • Experience scaling to billions of PV/m • Kirsten • Passionate about data and mashups • Self proclaimed scripting princess Wednesday, November 30, 2011
  5. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Types of Cloud providers • Attack of the aaS: • IaaS • PaaS • SaaS Wednesday, November 30, 2011
  6. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" IaaS vs PaaS • Level of experience required • Flexibility • Customizability • Ease of setup / deployment • Risk Wednesday, November 30, 2011
  7. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Types of IaaS providers • Computing • Storage • HPC • Telecom • more... Wednesday, November 30, 2011
  8. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" IaaS Comparison of three top compute providers Amazon, Rackspace, and Linode Wednesday, November 30, 2011
  9. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Amazon EC2 • Six geographically diverse facilities • Moderately easy to use multiple zones • Linux and Windows support • Hourly billing Wednesday, November 30, 2011
  10. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" EC2 continued • HPC support • Automatic scaling • Elastic IP • Most storage included Wednesday, November 30, 2011
  11. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Rackspace Cloud Servers • Three geographically diverse facilities • Relatively difficult to use multiple DCs • Linux and Windows support • Hourly billing • Fully managed options available Wednesday, November 30, 2011
  12. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Linode cloud servers • Six geographically diverse facilities • Relatively easy to use multiple DCs • Linux distros only • Monthly billing • Closest to experience of a dedicated server Wednesday, November 30, 2011
  13. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Common Functionality • Burstable resource usage • 99% or better SLA • Load balancing • APIs • DNS • Storage / CDN * Wednesday, November 30, 2011
  14. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Use Cases • Conventional multi-machine web hosting • Short term / bursty usage • High performance computing • Persistent Storage • Redundancy • Managed Support Wednesday, November 30, 2011
  15. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" PaaS Getting Started with Google App Engine, Heroku and Joyent http://www.princesspolymath.com/princess_polymath/?page_id=506 Wednesday, November 30, 2011
  16. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Platform as a Service • Build code and deploy to the cloud • Provides the application framework • More infrastructure: more lock-in • Choosing: Programming language, pricing scheme • All have free versions to test on Wednesday, November 30, 2011
  17. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Quick Compare • Google App Engine - Easy to administer, nice tools, high lock-in • Heroku - Many languages, scalability, add-ons • Joyent - Focused on node.js, shell access, more configurability Wednesday, November 30, 2011
  18. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Google App Engine • Native support for Python and Java • Other languages supported in JVM • Easy to deploy django applications • Integrate with SimpleDB, Google OAuth • Strong vendor lock-in Wednesday, November 30, 2011
  19. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Getting Started with Google App Engine • Walkthrough at http://code.google.com/appengine/docs/python/ gettingstarted/ • Download the SDK: http://code.google.com/appengine/downloads.html • Command line functionality or App Engine Launcher (Win/OSX) Wednesday, November 30, 2011
  20. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Creating Hello World • helloworld/helloworld.py print 'Content-Type: text/plain' print '' print 'Hello, world!' • helloworld/app.yaml application: helloworld version: 1 runtime: python api_version: 1 handlers: - url: /.* script: helloworld.py Wednesday, November 30, 2011
  21. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Run the application • google_appengine/dev_appserver.py helloworld/ • By default it will run at :8080 on your local server • Automatically restarts when you change files • Real applications use webapp framework Wednesday, November 30, 2011
  22. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Deploy to the Cloud • The dashboard can be reached at https://appengine.google.com/ • To deploy, you need to create an application ID on the dashboard, then edit app.yaml application: setting to match. • appcfg.py update helloworld/ • http://application-id.appspot.com Wednesday, November 30, 2011
  23. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Heroku • Started with Ruby on Rails, now supports node.js, python, scala, clojure • Plugins to quickly add functionality - logging, couchdb, redis • Easy to control scaling of web and worker components of your application independently Wednesday, November 30, 2011
  24. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Getting Started with Heroku • http://devcenter.heroku.com/articles/node-js • Get a Heroku user account: https://api.heroku.com/signup • Set up your local workstation • Node.js, NPM and Git • Login to heroku Wednesday, November 30, 2011
  25. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Creating Hello World • server.js var http = require('http'); var server = http.createServer(function (req, res) { res.writeHead(200, { "Content-Type": "text/plain" }) res.end("Hello world\n"); }); var port = process.env.PORT||process.env.port||8001; server.listen(port, function() console.log("Listening on " + port); }); Wednesday, November 30, 2011
  26. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" NPM Configuration • package.json { "name": "my-app", "version": "1.0.0", "scripts": { "start": "node server.js" } Wednesday, November 30, 2011
  27. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Procfile • Procfile web: node server.js • Run foreman $ foreman start 14:39:04 web.1 | started with pid 24384 14:39:04 web.1 | Listening on 5000 • Test with a browser on localhost Wednesday, November 30, 2011
  28. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Deploy to the Cloud • Create local Git repo $ git init $ git add . $ git commit -m "init" • Create heroku stack and deploy $ heroku create --stack cedar $ git push heroku master ... -----> Launching... done, v2 http://sharp-rain-871.herokuapp.com deployed to Heroku • Scale web processes $ heroku ps:scale web=1 Wednesday, November 30, 2011
  29. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Joyent • http://wiki.joyent.com/display/node/ Getting+Started+with+a+Node.js +SmartMachine • Sign up for no.de: http://no.de/ • Set up your SSH key • “Order a machine” Wednesday, November 30, 2011
  30. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Creating Hello World • Same node.js files as heroku example server.js package.json • Add config.json file (optional) web: node server.js Wednesday, November 30, 2011
  31. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Deploy to the Cloud • Update ~/.ssh/config Host synedranodetest.no.de Port 57791 User node ForwardAgent yes • Create local Git repo $ git init $ git add . $ git commit -m "initial commit" • Push to joyent $ git remote add joyent synedranodetest.no.de:repo $ git push joyent master Wednesday, November 30, 2011
  32. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" Resources http://code.google.com/appengine/docs/python/ gettingstarted/ http://devcenter.heroku.com/articles/node-js http://wiki.joyent.com/display/node/Getting+Started +with+a+Node.js+SmartMachine Wednesday, November 30, 2011
  33. php|architect Live! The Cloud Summit - 11/30/2011 "What's this "cloud"

    stuff I keep hearing about and how do I use it?" The end... =) Questions? Wednesday, November 30, 2011