Top Banner
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
33

php|arch Cloud Summit

Apr 30, 2015

Download

Technology

jsjohnst

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: php|arch Cloud Summit

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

Page 2: php|arch Cloud Summit

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

Page 3: php|arch Cloud Summit

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

Page 4: php|arch Cloud Summit

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

Page 5: php|arch Cloud Summit

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

Page 6: php|arch Cloud Summit

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

Page 7: php|arch Cloud Summit

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

Page 8: php|arch Cloud Summit

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

IaaSComparison of three top compute providers

Amazon, Rackspace, and Linode

Wednesday, November 30, 2011

Page 9: php|arch Cloud Summit

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

Page 10: php|arch Cloud Summit

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

Page 11: php|arch Cloud Summit

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

Page 12: php|arch Cloud Summit

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

Page 13: php|arch Cloud Summit

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

Page 14: php|arch Cloud Summit

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

Page 15: php|arch Cloud Summit

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

PaaSGetting Started with

Google App Engine, Heroku and Joyent

http://www.princesspolymath.com/princess_polymath/?page_id=506

Wednesday, November 30, 2011

Page 16: php|arch Cloud Summit

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

Page 17: php|arch Cloud Summit

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

Page 18: php|arch Cloud Summit

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

Page 19: php|arch Cloud Summit

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

Page 20: php|arch Cloud Summit

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.pyprint 'Content-Type: text/plain'print ''print 'Hello, world!'

• helloworld/app.yamlapplication: helloworldversion: 1runtime: pythonapi_version: 1handlers:- url: /.*script: helloworld.py

Wednesday, November 30, 2011

Page 21: php|arch Cloud Summit

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

Page 22: php|arch Cloud Summit

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

Page 23: php|arch Cloud Summit

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

Page 24: php|arch Cloud Summit

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

Page 25: php|arch Cloud Summit

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.jsvar 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

Page 26: php|arch Cloud Summit

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

Page 27: php|arch Cloud Summit

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

• Procfileweb: node server.js

• Run foreman$ foreman start14:39:04 web.1 | started with pid 2438414:39:04 web.1 | Listening on 5000

• Test with a browser on localhost

Wednesday, November 30, 2011

Page 28: php|arch Cloud Summit

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, v2http://sharp-rain-871.herokuapp.com deployed to Heroku

• Scale web processes$ heroku ps:scale web=1

Wednesday, November 30, 2011

Page 29: php|arch Cloud Summit

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

Page 30: php|arch Cloud Summit

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 exampleserver.jspackage.json

• Add config.json file (optional)web: node server.js

Wednesday, November 30, 2011

Page 31: php|arch Cloud Summit

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/configHost 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

Page 33: php|arch Cloud Summit

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