agustyau's picture
From agustyau rss RSS  subscribe Subscribe

Fowa Miami 09 Cloud Computing Workshop 



 

 
 
Views:  385
Downloads:  6
Published:  November 18, 2009
 
0
download

Share plick with friends Share
save to favorite
Report Abuse Report Abuse
 
Related Plicks
Cloud Computing Tutorial - Jens Nimis

Cloud Computing Tutorial - Jens Nimis

From: csirn47
Views: 1542 Comments: 1
Cloud Computing Tutorial - Jens Nimis
 
Cloud Computing - Avner Algom IGT

Cloud Computing - Avner Algom IGT

From: bernstra
Views: 822 Comments: 0

 
Cloud Computing on ISO/IEC JTC 1

Cloud Computing on ISO/IEC JTC 1

From: aliceuh9
Views: 1023 Comments: 0

 
See all 
 
More from this user
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conference 2011

Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conference 2011

From: agustyau
Views: 17
Comments: 0

To Begin The Process Legal Authority And History Of Icaos

To Begin The Process Legal Authority And History Of Icaos

From: agustyau
Views: 412
Comments: 0

Refinancing Home Mortgage Online Refinancing Options

Refinancing Home Mortgage Online Refinancing Options

From: agustyau
Views: 62
Comments: 0

Centerfold Strips Keywords 6

Centerfold Strips Keywords 6

From: agustyau
Views: 1179
Comments: 0

RoboCup 2009 - Rescue Robot League - Darmstadt Rescue Robot Team - Germany

RoboCup 2009 - Rescue Robot League - Darmstadt Rescue Robot Team - Germany

From: agustyau
Views: 515
Comments: 0

Mortgage Loans

Mortgage Loans

From: agustyau
Views: 444
Comments: 0

See all 
 
 
 URL:          AddThis Social Bookmark Button
Embed Thin Player: (fits in most blogs)
Embed Full Player :
 
 

Name

Email (will NOT be shown to other users)

 

 
 
Comments: (watch)
 
 
Notes:
 
Slide 1: How to build your app quickly (and cheaply?) using the Cloud Mark Masterson | http://jroller.com/MasterMark
Slide 2: (Admin, facilities, who I am) Intro Mark Masterson | http://jroller.com/MasterMark
Slide 3: Agenda •Overview •Walk-through deployment on PaaS and IaaS •Break •Considerations •Costs / Economics •Architecture •Discussion Mark Masterson | http://jroller.com/MasterMark
Slide 4: Goals for the workshop Mark Masterson | http://jroller.com/MasterMark
Slide 5: Cloud computing. WTF? Mark Masterson | http://jroller.com/MasterMark
Slide 6: Router LAN A , N ISDN WA lay, e e R tc.) am e (Fr LAN B Router Mark Masterson | http://jroller.com/MasterMark
Slide 7: For this workshop, it means: elastic compute resources, charged for like a utility Mark Masterson | http://jroller.com/MasterMark
Slide 8: Why bother? Mark Masterson | http://jroller.com/MasterMark
Slide 9: What’s a “web app”? Mark Masterson | http://jroller.com/MasterMark
Slide 10: http://www.flickr.com/photos/psd/6732568/in/set-666533/ Mark Masterson | http://jroller.com/MasterMark
Slide 11: http://www.flickr.com/photos/psd/6733371/in/set-666533/ Mark Masterson | http://jroller.com/MasterMark
Slide 12: http://www.flickr.com/photos/psd/6733187/in/set-666533/ Mark Masterson | http://jroller.com/MasterMark
Slide 13: http://www.flickr.com/photos/gopal1035/322084210/ Mark Masterson | http://jroller.com/MasterMark
Slide 14: http://www.flickr.com/photos/psd/58054545/ Mark Masterson | http://jroller.com/MasterMark
Slide 15: Mark Masterson | http://jroller.com/MasterMark
Slide 16: Mark Masterson | http://jroller.com/MasterMark
Slide 17: It’s more than static content. Mark Masterson | http://jroller.com/MasterMark
Slide 18: So that means, it’s about any and all commercial web sites, right? Mark Masterson | http://jroller.com/MasterMark
Slide 19: No. Don’t think so. Mark Masterson | http://jroller.com/MasterMark
Slide 20: Griefer alert: is this just flamebait? Mark Masterson | http://jroller.com/MasterMark
Slide 21: No. In the context of cloud computing, it makes a difference. Mark Masterson | http://jroller.com/MasterMark
Slide 22: A big difference. Mark Masterson | http://jroller.com/MasterMark
Slide 23: Apps do something. Mark Masterson | http://jroller.com/MasterMark
Slide 24: Content doesn’t. Mark Masterson | http://jroller.com/MasterMark
Slide 25: Cloud computing is about doing something. Mark Masterson | http://jroller.com/MasterMark
Slide 26: http://www.nytimes.com/2006/06/14/technology/14search.html Mark Masterson | http://jroller.com/MasterMark
Slide 27: “Microsoft is adding 10k servers a month to their infrastructure” http://blogs.zdnet.com/microsoft/?p=1391 Mark Masterson | http://jroller.com/MasterMark
Slide 28: “That’s one Facebook per month” http://www.datacenterknowledge.com/archives/2008/04/23/facebook-now-runn http://www.istartedsomething.com/20080812/microsoft-enviroment-video-revea Mark Masterson | http://jroller.com/MasterMark
Slide 29: Amazon talks a lot about the demand… Mark Masterson | http://jroller.com/MasterMark
Slide 30: Animoto went from 50 to 3400 Amazon virtual servers in two days Mark Masterson | http://jroller.com/MasterMark
Slide 31: http://aws.typepad.com/aws/2008/04/animoto---scali.html Mark Masterson | http://jroller.com/MasterMark
Slide 32: The New York Times converted 4TB of TIFFs to PDFs in a day. For $240 Mark Masterson | http://jroller.com/MasterMark
Slide 33: http://open.blogs.nytimes.com/2007/11/01/self-service-prorated-super-computing-fun/ http://open.blogs.nytimes.com/2008/05/21/the-new-york-times-archives-amazon-web-services-timesmachine/ http://www.roughtype.com/archives/2008/11/the_new_economi.php Mark Masterson | http://jroller.com/MasterMark
Slide 34: And Amazon shows everyone who will sit still for more than 5 seconds the following picture: Mark Masterson | http://jroller.com/MasterMark
Slide 35: http://aws.typepad.com/aws/2008/05/lots-of-bits.html Mark Masterson | http://jroller.com/MasterMark
Slide 36: Assumption: Mom+Pop ISP ™ cannot compete with this. Mark Masterson | http://jroller.com/MasterMark
Slide 37: Are Mom+Pop doomed? Mark Masterson | http://jroller.com/MasterMark
Slide 38: Ultimately, that depends on you, the developers of web apps. Mark Masterson | http://jroller.com/MasterMark
Slide 39: It’s going to depend on decisions you make about architectural and engineering concerns. Mark Masterson | http://jroller.com/MasterMark
Slide 40: Architecture is about making design choices. Engineering is about knowing your materials. Mark Masterson | http://jroller.com/MasterMark
Slide 41: Making use of the Cloud is an architectural and engineering challenge. Mark Masterson | http://jroller.com/MasterMark
Slide 42: So what are the architectural choices? What are the materials? Mark Masterson | http://jroller.com/MasterMark
Slide 43: SPI (SaaS, Paas, IaaS) SADIST-PIMP http://www.collab-ogce.org/gce08/images/7/76/LamiaYouseff.pdf http://cloudcomputing.sys-con.com/node/811519 http://rationalsecurity.typepad.com/blog/2009/01/cloud-computing-taxonomy-ontology-please-review.html Mark Masterson | http://jroller.com/MasterMark
Slide 44: http://www.mindmeister.com/maps/show_public/15936058 Mark Masterson | http://jroller.com/MasterMark
Slide 45: But wait! Once that’s sorted, you have to consider contextual dimensions… Mark Masterson | http://jroller.com/MasterMark
Slide 46: The Radeztsky Cube http://cloudforum.googlegroups.com/web/Metaverse+Decomposition.pdf Mark Masterson | http://jroller.com/MasterMark
Slide 47: http://cloudforum.googlegroups.com/web/Metaverse+Decomposition.pdf Mark Masterson | http://jroller.com/MasterMark
Slide 48: IOW, your choices are influenced by whether you are integrating established apps, or writing a green-field app…. Mark Masterson | http://jroller.com/MasterMark
Slide 49: And whether your architecture will be entirely in the public Cloud, or a mix of public and private resources. Mark Masterson | http://jroller.com/MasterMark
Slide 50: For the sake of this workshop, we’re going to refer to the SPI model… Mark Masterson | http://jroller.com/MasterMark
Slide 51: SPI Model SaaS PaaS IaaS Mark Masterson | http://jroller.com/MasterMark
Slide 52: We’re going to assume a greenfield app, deployed entirely on the public Cloud… Mark Masterson | http://jroller.com/MasterMark
Slide 53: We’re going to focus on the scenario of “your code, running elsewhere” – not so much on mashups and re-use of SaaS Mark Masterson | http://jroller.com/MasterMark
Slide 54: And we’re going to examine the question of PaaS vs. IaaS for that app. Mark Masterson | http://jroller.com/MasterMark
Slide 55: Goals for the workshop Mark Masterson | http://jroller.com/MasterMark
Slide 56: OK. So what is PaaS? Mark Masterson | http://jroller.com/MasterMark
Slide 57: Platform As A Service Mark Masterson | http://jroller.com/MasterMark
Slide 58: Some examples: Google App Engine, Bungee, Force.com, Heroku Mark Masterson | http://jroller.com/MasterMark
Slide 59: Characterized by… Mark Masterson | http://jroller.com/MasterMark
Slide 60: Constraints on language and design Mark Masterson | http://jroller.com/MasterMark
Slide 61: A high level programming model Mark Masterson | http://jroller.com/MasterMark
Slide 62: A specific model of multi-tenancy Mark Masterson | http://jroller.com/MasterMark
Slide 63: Takes care of low level concerns Mark Masterson | http://jroller.com/MasterMark
Slide 64: Google App Engine Mark Masterson | http://jroller.com/MasterMark
Slide 65: Mark Masterson | http://jroller.com/MasterMark
Slide 66: Mark Masterson | http://jroller.com/MasterMark
Slide 67: Mark Masterson | http://jroller.com/MasterMark
Slide 68: Mark Masterson | http://jroller.com/MasterMark
Slide 69: Mark Masterson | http://jroller.com/MasterMark
Slide 70: That’s it. Mark Masterson | http://jroller.com/MasterMark
Slide 71: Constraints on language and design (Python + BigTable + Goog Svcs) Mark Masterson | http://jroller.com/MasterMark
Slide 72: A high level programming model (The WebApp (or other Python) framework, Datastore APIs, Memcache, etc.) Mark Masterson | http://jroller.com/MasterMark
Slide 73: A specific model of multi-tenancy (Google’s BigTable + GFS platform) Mark Masterson | http://jroller.com/MasterMark
Slide 74: Takes care of the low level concerns (Scales for you (up and down), distribution across cluster nodes, load balancing, replication of data, etc. ) Mark Masterson | http://jroller.com/MasterMark
Slide 75: Pretty cool. Mark Masterson | http://jroller.com/MasterMark
Slide 76: Infrastructure As A Service Mark Masterson | http://jroller.com/MasterMark
Slide 77: Characterized by… Mark Masterson | http://jroller.com/MasterMark
Slide 78: No constraints on language or design Mark Masterson | http://jroller.com/MasterMark
Slide 79: A high level architectural model Mark Masterson | http://jroller.com/MasterMark
Slide 80: A specific model of multi-tenancy Mark Masterson | http://jroller.com/MasterMark
Slide 81: Takes care of very few low level concerns Mark Masterson | http://jroller.com/MasterMark
Slide 82: This is a LOT more work. ;) Mark Masterson | http://jroller.com/MasterMark
Slide 83: Amazon Web Services Mark Masterson | http://jroller.com/MasterMark
Slide 84: Amazon Web Services •Elastic Compute Cloud (EC2) •SimpleDB •Simple Storage Service (S3) •Simple Queue Service (SQS) •EC2 Elastic Block Store (EBS) •Other stuff… •Cloudfront •DevPay •Flexible Payments Service (FPS) •Mechanical Turk •Alexa Mark Masterson | http://jroller.com/MasterMark
Slide 85: By and large, “Amazon” means “EC2” Mark Masterson | http://jroller.com/MasterMark
Slide 86: EC2 is the only AWS service that one deploys to Mark Masterson | http://jroller.com/MasterMark
Slide 87: You just use the other services – whether from an EC2 instance or anywhere else on the Web is irrelevant Mark Masterson | http://jroller.com/MasterMark
Slide 88: The core “unit” of EC2 is the Amazon Machine Image – AMI Mark Masterson | http://jroller.com/MasterMark
Slide 89: An AMI is a virtual machine image – a VM Mark Masterson | http://jroller.com/MasterMark
Slide 90: A VM is just a (very large) file. Like a live ISO disk image. Typically, it is some distro of Linux. Mark Masterson | http://jroller.com/MasterMark
Slide 91: Amazon uses Xen, an open source VM system http://www.xen.org/ Mark Masterson | http://jroller.com/MasterMark
Slide 92: The key to IaaS is that you can use any app architecture you like Mark Masterson | http://jroller.com/MasterMark
Slide 93: The drawback with IaaS is that you therefore have to design your own app architecture Mark Masterson | http://jroller.com/MasterMark
Slide 94: Generally speaking, this is the same task (with the same effort) that you would need for physical hardware hosted at an ISP Mark Masterson | http://jroller.com/MasterMark
Slide 95: App servers, load balancers, databases, clusters, replication, networking… Mark Masterson | http://jroller.com/MasterMark
Slide 96: You sort it out yourself Mark Masterson | http://jroller.com/MasterMark
Slide 97: With Amazon, this begins with obtaining your credentials Mark Masterson | http://jroller.com/MasterMark
Slide 98: Mark Masterson | http://jroller.com/MasterMark
Slide 99: Then you download the command line tools and set them up… Mark Masterson | http://jroller.com/MasterMark
Slide 100: Mark Masterson | http://jroller.com/MasterMark
Slide 101: You use the tools to proceed through the AMI workflow Mark Masterson | http://jroller.com/MasterMark
Slide 102: http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/ Mark Masterson | http://jroller.com/MasterMark
Slide 103: AMI ID http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/ Mark Masterson | http://jroller.com/MasterMark
Slide 104: http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/ Mark Masterson | http://jroller.com/MasterMark
Slide 105: •Create keypair •Save the private key locally •ec2-add-keypair <descriptive keypair name> •Launch selected instance •Using AMI ID and keypair name •ec2-run-instances <AMI ID> -k <keypair name> •Returns the Instance ID •Examine the running instance •ec2-describe-instances <instance ID> Mark Masterson | http://jroller.com/MasterMark
Slide 106: … http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/ Mark Masterson | http://jroller.com/MasterMark
Slide 107: Let’s pick that apart… Mark Masterson | http://jroller.com/MasterMark
Slide 108: Reservation ID … http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/ Mark Masterson | http://jroller.com/MasterMark
Slide 109: AWS Access Key ID … http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/ Mark Masterson | http://jroller.com/MasterMark
Slide 110: AWS Access Key ID Mark Masterson | http://jroller.com/MasterMark
Slide 111: Security Group ID … http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/ Mark Masterson | http://jroller.com/MasterMark
Slide 112: Instance ID … http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/ Mark Masterson | http://jroller.com/MasterMark
Slide 113: AMI ID … http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/ Mark Masterson | http://jroller.com/MasterMark
Slide 114: External DNS host name … http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/ Mark Masterson | http://jroller.com/MasterMark
Slide 115: … Internal DNS host name http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/ Mark Masterson | http://jroller.com/MasterMark
Slide 116: … Current state of the instance http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/ Mark Masterson | http://jroller.com/MasterMark
Slide 117: … Keypair name http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/ Mark Masterson | http://jroller.com/MasterMark
Slide 118: … AMI Launch Index http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/ Mark Masterson | http://jroller.com/MasterMark
Slide 119: … Instance type http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/ Mark Masterson | http://jroller.com/MasterMark
Slide 120: http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/ Mark Masterson | http://jroller.com/MasterMark
Slide 121: … Launch time http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/ Mark Masterson | http://jroller.com/MasterMark
Slide 122: … Availability Zone ID http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/ Mark Masterson | http://jroller.com/MasterMark
Slide 123: Availability zones are a bit complicated… Mark Masterson | http://jroller.com/MasterMark
Slide 124: http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/ Mark Masterson | http://jroller.com/MasterMark
Slide 125: Other IaaS providers may (or may not) have similar capabilities Mark Masterson | http://jroller.com/MasterMark
Slide 126: The point is that, unlike GAE, here is yet another detail that you need to think about Mark Masterson | http://jroller.com/MasterMark
Slide 127: http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/ Mark Masterson | http://jroller.com/MasterMark
Slide 128: •Open network access to the instance •ec2-authorize <security group name> -p <port number> •Can include options like restricting access to a specific (public) IP address •-s <IP address/CIDR subnet range> •Eg. “-s your_public_IP_address/32”* for just your host •At a minimum, you need to configure port 22 for SSH access •Connect to the instance with SSH •ssh –i <private keyfile> root@<public DNS host name> •Note: with “ec2-get-console-output”, you can get (among other things) the SSH host key fingerprint, before logging on with SSH. At login, you can compare to be sure there’s no “man in the middle” •Begin modifying the instance Mark Masterson | http://jroller.com/MasterMark
Slide 129: Once you’ve modified the image, you “bundle” it (which is a kind of snapshot), upload the bundle to S3, and register it with EC2 Mark Masterson | http://jroller.com/MasterMark
Slide 130: There are hundreds of publicly available AMIs for use as templates Mark Masterson | http://jroller.com/MasterMark
Slide 131: And, finally, with some set of your own AMIs, you can begin running instances of your app Mark Masterson | http://jroller.com/MasterMark
Slide 132: And that brings us to the runtime considerations… Mark Masterson | http://jroller.com/MasterMark
Slide 133: AKA – how does your app scale horizontally? Mark Masterson | http://jroller.com/MasterMark
Slide 134: A brief scalability refresher: vertical scalability is “get a bigger box” Mark Masterson | http://jroller.com/MasterMark
Slide 135: Horizontal scalability is “add more copies of the same box” Mark Masterson | http://jroller.com/MasterMark
Slide 136: To put it bluntly, if your app can't efficiently scale in a horizontal fashion, you’re wasting your time on the Cloud Mark Masterson | http://jroller.com/MasterMark
Slide 137: On GAE, under the covers tech like BigTable, GFS and the legendary Map/Reduce are taking care of this for you Mark Masterson | http://jroller.com/MasterMark
Slide 138: In an IaaS context like AWS, you have to solve the problem yourself Mark Masterson | http://jroller.com/MasterMark
Slide 139: EC2 has a SOAP API that you can invoke – whether you do so from outside EC2, or from within a running AMI is irrelevant Mark Masterson | http://jroller.com/MasterMark
Slide 140: Invoking the EC2 API to launch and terminate instances from a running instance gives you the ability to create dynamic horizontal scalability Mark Masterson | http://jroller.com/MasterMark
Slide 141: Your load balancer AMI could start extra instances of your web server AMI to meet demand… Mark Masterson | http://jroller.com/MasterMark
Slide 142: And turn them back off, when demand subsides Mark Masterson | http://jroller.com/MasterMark
Slide 143: And there are numerous ways to exploit this capability Mark Masterson | http://jroller.com/MasterMark
Slide 144: From RightScale to Scalr to Gigaspaces, Hadoop, Terracotta and countless others Mark Masterson | http://jroller.com/MasterMark
Slide 145: Combined with the other elements of AWS, like S3, SQS, EBS and SimpleDB, you can design a system that competes favorably with GAE Mark Masterson | http://jroller.com/MasterMark
Slide 146: This is what “elastic” means Mark Masterson | http://jroller.com/MasterMark
Slide 147: To repeat: this is a LOT more work. ;) Mark Masterson | http://jroller.com/MasterMark
Slide 148: No constraints on language or design (AMIs can be any Linux or Windows server platform, and your app can be anything that runs on those platforms) Mark Masterson | http://jroller.com/MasterMark
Slide 149: A high level architectural model (The core services of AWS provide a foundation, and do constrain your design – for example, you need horizontal scalability) Mark Masterson | http://jroller.com/MasterMark
Slide 150: A specific model of multi-tenancy (AMIs are securely isolated from one another, but the underlying hardware is all shared) Mark Masterson | http://jroller.com/MasterMark

   
Time on Slide Time on Plick
Slides per Visit Slide Views Views by Location