Your SlideShare is downloading. ×
0
Cloud Foundry Bootcamp      Alvaro Videla      Developer Advocate      avidela@vmware.com      @old_sound                 ...
About Me           •   Developer Advocate for Cloud Foundry           •   Blog: http://videlalvaro.github.com/           •...
About Me           •   Developer Advocate for Cloud Foundry           •   Blog: http://videlalvaro.github.com/           •...
About Me        Co-authored        RabbitMQ in Action         http://bit.ly/rabbitmq                                  4Wed...
Capabilities                             The Basics                How it Works (Architecture)                         Mic...
What does                        Cloud Foundry                            offer?                             CONFIDENTIAL ...
Cloud Foundry: Choice of Runtimes                             CONFIDENTIALWednesday, November 21, 12
Frameworks and Runtimes Supported  • Out of the Box     • Java (.WAR files, on Tomcat. Spring’s an ideal choice here, of c...
Cloud Foundry: Choice of Clouds                             CONFIDENTIAL                                            9Wedne...
Main Risk: Lock In            Welcome to the hotel California                                Such a lovely place          ...
Cloud Foundry.org                             CONFIDENTIAL                                            11Wednesday, Novembe...
Cloud Foundry: Clouds                             § AppFog.com                               • community lead for PHP    ...
Micro Cloud Foundry                             CONFIDENTIAL                                            13Wednesday, Novem...
Cloud Foundry: Services                             CONFIDENTIAL                                            14Wednesday, N...
Cloud Foundry: Services  § Services are one of the extensibility planes in Cloud Foundry  • there are more services being...
Cloud Foundry: Services  § Take Advantage of Services     • they cost nothing to setup     • they deliver value  § They ...
Demo: logging in,        asking questions, &        deploying from the CLI                             CONFIDENTIAL       ...
Cloud Foundry                        architecture                             CONFIDENTIAL                                ...
Cloud Foundry - Architecture                                  Message Bus                  Web             Message Bus    ...
Application deployment flow                              Cloud                 VMC                               DEA      ...
Application deployment flowvmc push                              Cloud                 VMC                               D...
Application deployment flowvmc push                              Cloud                 VMC                               D...
Application deployment flowvmc push                     create    Cloud                 VMC                               ...
Application deployment flowvmc push                     create    Cloud                 VMC                               ...
Application deployment flow                                                            find DEA                           ...
Application deployment flow                                                            find DEA                           ...
Application deployment flow                                                            find DEA                           ...
Application deployment flow                                                            find DEA                           ...
Application deployment flow                                                            find DEA                           ...
About the staging plugin  § Framework specific  § Creates a zip file = black box     • Contains everything necessary for...
Request handling flow  HTTP Request                        HTTP Request                  HTTP Request                    L...
Request handling flow  HTTP Request                        HTTP Request                  HTTP Request                    L...
Self Healing Infrastructure   § If an application instance crashes     • DEA detects unexpected exit => DEA broadcasts me...
Micro Cloud Foundry                             CONFIDENTIAL                                            24Wednesday, Novem...
What is in Micro Cloud Foundry?                App Instances                                Services                 Open ...
Pre-requisites for using Micro Cloud Foundry                       Minimum 1 GB         Minimum 8 GB       Internet Connec...
Register and login to CloudFoundry.com                             CONFIDENTIAL                                           ...
Select a domain name  *.cloudfoundry.me => IP address of your machine where Micro Cloud Foundry is  running               ...
Remember the configuration token                             CONFIDENTIAL                                            29Wed...
Download, unzip and open micro.vmx                             CONFIDENTIAL                                            30W...
Configure Micro Cloud Foundry                             CONFIDENTIAL                                            31Wednes...
Configure Micro Cloud Foundry                                            Pick                                            p...
Configure Micro Cloud Foundry                                            Pick                                            p...
Getting started with              Cloud Foundry...                             CONFIDENTIAL                               ...
Register               http://cloudfoundry.com/signup                                                          Use promo c...
Welcome email                             CONFIDENTIAL                                            34Wednesday, November 21...
Ways to use Cloud Foundry                                   command line...                                               ...
Example vmc commands        $	  gem	  install	  vmc        $	  vmc	  target	  <any	  cloud>        $	  vmc	  login	  <cred...
Installing vmc on Windows                             CONFIDENTIAL                                            37Wednesday,...
Installing vmc on Windows                                            Install the vmc gem                             CONFI...
Installing vmc on Mac OSX   Use Ruby Version Manager http://beginrescueend.com/  $ curl -L https://get.rvm.io | bash -s st...
Logging into CloudFoundry.com                             CONFIDENTIAL                                            39Wednes...
Logging into CloudFoundry.com$	  vmc	  target	  api.cloudfoundry.comSuccessfully	  targeted	  to	  	  	  	  	  	  	  	  	 ...
Logging into CloudFoundry.com$	  vmc	  target	  api.cloudfoundry.comSuccessfully	  targeted	  to	  	  	  	  	  	  	  	  	 ...
Cloud Foundry Integration plugin for Eclipse                                Eclipse support:                              ...
Cloud Foundry Integration plugin for Eclipse                                                 41Wednesday, November 21, 12
Sample App: CloudStagram                              42Wednesday, November 21, 12
Sample App: CloudStagram                              43Wednesday, November 21, 12
Sample App: CloudStagram                              44Wednesday, November 21, 12
Sample App: CloudStagram                              45Wednesday, November 21, 12
Sample App: CloudStagram                              46Wednesday, November 21, 12
Sample App: CloudStagram                              47Wednesday, November 21, 12
Sample App: CloudStagram                              48Wednesday, November 21, 12
Sample App: CloudStagram                              49Wednesday, November 21, 12
Sample App: CloudStagram  Frontend App        node.js                              50Wednesday, November 21, 12
Sample App: CloudStagram  Frontend App        node.js        Image Resizers               node.js                         ...
Sample App: CloudStagram  Frontend App        node.js        Image Resizers               Clojure                         ...
CODE OR      IT DIDN’T HAPPEN                             53Wednesday, November 21, 12
Thank You                        CloudFoundry Source Samples:                              https://github.com/cloudfoundry...
Upcoming SlideShare
Loading in...5
×

Cloud Foundry Bootcamp

2,254

Published on

Presentation given in Zurich at the Zurich IT Geeks Meetup demoing Cloud Foundry PaaS.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,254
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
52
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Cloud Foundry Bootcamp"

  1. 1. Cloud Foundry Bootcamp Alvaro Videla Developer Advocate avidela@vmware.com @old_sound © 2012 VMware, Inc. All rights reservedWednesday, November 21, 12
  2. 2. About Me • Developer Advocate for Cloud Foundry • Blog: http://videlalvaro.github.com/ • Twitter: @old_sound • http://slideshare.net/old_sound 2Wednesday, November 21, 12
  3. 3. About Me • Developer Advocate for Cloud Foundry • Blog: http://videlalvaro.github.com/ • Twitter: @old_sound • I created gifsockets™ 3Wednesday, November 21, 12
  4. 4. About Me Co-authored RabbitMQ in Action http://bit.ly/rabbitmq 4Wednesday, November 21, 12
  5. 5. Capabilities The Basics How it Works (Architecture) Micro Cloud Foundry CONFIDENTIAL 5Wednesday, November 21, 12
  6. 6. What does Cloud Foundry offer? CONFIDENTIAL 6Wednesday, November 21, 12
  7. 7. Cloud Foundry: Choice of Runtimes CONFIDENTIALWednesday, November 21, 12
  8. 8. Frameworks and Runtimes Supported • Out of the Box • Java (.WAR files, on Tomcat. Spring’s an ideal choice here, of course..) • Scala (Lift, Play!) • Ruby (Rails, Sinatra, etc.) • Node.js • Ecosystem Partners • .NET (Uhuru, Tier3) • Python (Stackato) • PHP (AppFog) • Haskell (1) • Erlang (2) 1) http://www.cakesolutions.net/teamblogs/2011/11/25/haskell-happstack-on-cloudfoundry/ 2) https://github.com/cloudfoundry/vcap/pull/20 CONFIDENTIALWednesday, November 21, 12
  9. 9. Cloud Foundry: Choice of Clouds CONFIDENTIAL 9Wednesday, November 21, 12
  10. 10. Main Risk: Lock In Welcome to the hotel California Such a lovely place Such a lovely face Plenty of room at the hotel California Any time of year, you can find it here Last thing I remember, I was Running for the door I had to find the passage back To the place I was before ’relax,’ said the night man, We are programmed to receive. You can checkout any time you like, But you can never leave! -the Eagles CONFIDENTIAL 10Wednesday, November 21, 12
  11. 11. Cloud Foundry.org CONFIDENTIAL 11Wednesday, November 21, 12
  12. 12. Cloud Foundry: Clouds § AppFog.com • community lead for PHP • PaaS for PHP § Joyent • community lead for Node.js § ActiveState • community lead for Python, Perl • Providers of Stackato private PaaS CONFIDENTIAL 12Wednesday, November 21, 12
  13. 13. Micro Cloud Foundry CONFIDENTIAL 13Wednesday, November 21, 12
  14. 14. Cloud Foundry: Services CONFIDENTIAL 14Wednesday, November 21, 12
  15. 15. Cloud Foundry: Services § Services are one of the extensibility planes in Cloud Foundry • there are more services being contributed by the community daily! § MySQL, Redis, MongoDB, RabbitMQ, PostgreSQL § Services may be shared across applications § Cloud Foundry abstracts the provisioning aspect of services through a uniform API hosted in the Cloud Controller § It’s very easy to take an app and add a service to the app in a uniform way CONFIDENTIAL 15Wednesday, November 21, 12
  16. 16. Cloud Foundry: Services § Take Advantage of Services • they cost nothing to setup • they deliver value § They Encourage Better Architectures • Need a fast read-write cache? Redis is ready to go! • Need to store long-tail documents? Give MongoDB a try • Need to decouple what applications do from when they do it? Use messaging and RabbitMQ CONFIDENTIAL 16Wednesday, November 21, 12
  17. 17. Demo: logging in, asking questions, & deploying from the CLI CONFIDENTIAL 17Wednesday, November 21, 12
  18. 18. Cloud Foundry architecture CONFIDENTIAL 18Wednesday, November 21, 12
  19. 19. Cloud Foundry - Architecture Message Bus Web Message Bus Web Message Bus (NATS) (NATS) (NATS)100s of DEAs Load Load App Load Balancers App Balancers Balancers App DEAs DEAs DEAs Cloud Routers Routers Cloud Routers Cloud Controllers DB Controllers Controllers DB DB Web Health Health Health Service API Services Services Services Manager Manager Manager Client, e.g. VMC CONFIDENTIALWednesday, November 21, 12
  20. 20. Application deployment flow Cloud VMC DEA Controller DEA Application Router Router CONFIDENTIALWednesday, November 21, 12
  21. 21. Application deployment flowvmc push Cloud VMC DEA Controller DEA Application Router Router CONFIDENTIALWednesday, November 21, 12
  22. 22. Application deployment flowvmc push Cloud VMC DEA Controller DEA Application Framework detection Router Router CONFIDENTIALWednesday, November 21, 12
  23. 23. Application deployment flowvmc push create Cloud VMC DEA app Controller DEA Application Framework detection Router Router CONFIDENTIALWednesday, November 21, 12
  24. 24. Application deployment flowvmc push create Cloud VMC DEA app Controller DEA Application Framework detection Framework specific staging plugin Creates Droplet Router Router CONFIDENTIALWednesday, November 21, 12
  25. 25. Application deployment flow find DEA for appvmc push create Cloud VMC DEA app Controller DEA Application Framework detection Framework specific staging plugin Creates Droplet Router Router CONFIDENTIALWednesday, November 21, 12
  26. 26. Application deployment flow find DEA for appvmc push I’m create Cloud VMC available DEA app Controller DEA Application Framework detection Framework specific staging plugin Creates Droplet Router Router CONFIDENTIALWednesday, November 21, 12
  27. 27. Application deployment flow find DEA for appvmc push I’m create Cloud VMC available DEA app Controller DEA Application deploy Framework droplet detection Framework specific staging plugin Creates Droplet Router Router CONFIDENTIALWednesday, November 21, 12
  28. 28. Application deployment flow find DEA for appvmc push I’m create Cloud VMC available DEA start app Controller DEA Application deploy Framework droplet detection Framework specific staging plugin Creates Droplet Router Router CONFIDENTIALWednesday, November 21, 12
  29. 29. Application deployment flow find DEA for appvmc push I’m create Cloud VMC available DEA start app Controller DEA Application deploy Framework droplet detection Framework specific staging plugin update routes Creates Droplet Router Router CONFIDENTIALWednesday, November 21, 12
  30. 30. About the staging plugin § Framework specific § Creates a zip file = black box • Contains everything necessary for DEA to run the application • Two scripts: start.sh, stop.sh CONFIDENTIAL 21Wednesday, November 21, 12
  31. 31. Request handling flow HTTP Request HTTP Request HTTP Request Load Balancer Router Application Load Balancer Router DEA CONFIDENTIAL 22Wednesday, November 21, 12
  32. 32. Request handling flow HTTP Request HTTP Request HTTP Request Load Balancer Router Application Load Balancer Router DEA CONFIDENTIAL 22Wednesday, November 21, 12
  33. 33. Self Healing Infrastructure § If an application instance crashes • DEA detects unexpected exit => DEA broadcasts message • Routers remove instance from routing • Health manager notifies Cloud Controller • Cloud Controller re-launches instance § If an DEA VM crashes • Application instances become unavailable • Health Manager notices the missing instances and notifies the Cloud Controller • Cloud Controller requests application instances to be started • Existing DEA will reply and start the applications CONFIDENTIALWednesday, November 21, 12
  34. 34. Micro Cloud Foundry CONFIDENTIAL 24Wednesday, November 21, 12
  35. 35. What is in Micro Cloud Foundry? App Instances Services Open source Platform as a Service project A cloud packaged as a VMware Virtual Machine Use as a developer sandbox • Use the services from Junit integration tests • Deploy your application for functional testing • Remote debugging from STS CONFIDENTIAL 25Wednesday, November 21, 12
  36. 36. Pre-requisites for using Micro Cloud Foundry Minimum 1 GB Minimum 8 GB Internet Connectivity RAM Disk (w/DHCP is ideal) VMC STS Command line GUI CONFIDENTIAL 26Wednesday, November 21, 12
  37. 37. Register and login to CloudFoundry.com CONFIDENTIAL 27Wednesday, November 21, 12
  38. 38. Select a domain name *.cloudfoundry.me => IP address of your machine where Micro Cloud Foundry is running CONFIDENTIAL 28Wednesday, November 21, 12
  39. 39. Remember the configuration token CONFIDENTIAL 29Wednesday, November 21, 12
  40. 40. Download, unzip and open micro.vmx CONFIDENTIAL 30Wednesday, November 21, 12
  41. 41. Configure Micro Cloud Foundry CONFIDENTIAL 31Wednesday, November 21, 12
  42. 42. Configure Micro Cloud Foundry Pick password CONFIDENTIAL 31Wednesday, November 21, 12
  43. 43. Configure Micro Cloud Foundry Pick password Enter token CONFIDENTIAL 31Wednesday, November 21, 12
  44. 44. Getting started with Cloud Foundry... CONFIDENTIAL 32Wednesday, November 21, 12
  45. 45. Register http://cloudfoundry.com/signup Use promo code cfnownov12 CONFIDENTIAL 33Wednesday, November 21, 12
  46. 46. Welcome email CONFIDENTIAL 34Wednesday, November 21, 12
  47. 47. Ways to use Cloud Foundry command line... IDE plugin... toolchain plugin... Cloud IDEs CONFIDENTIAL 35Wednesday, November 21, 12
  48. 48. Example vmc commands $  gem  install  vmc $  vmc  target  <any  cloud> $  vmc  login  <credentials> $  vmc  push  <my-­‐app>      >  bind  services?  Yes $  vmc  update  <my-­‐app> $  vmc  instances  <my-­‐app>  +100   CONFIDENTIAL 36Wednesday, November 21, 12
  49. 49. Installing vmc on Windows CONFIDENTIAL 37Wednesday, November 21, 12
  50. 50. Installing vmc on Windows Install the vmc gem CONFIDENTIAL 37Wednesday, November 21, 12
  51. 51. Installing vmc on Mac OSX Use Ruby Version Manager http://beginrescueend.com/ $ curl -L https://get.rvm.io | bash -s stable --ruby $ rvm install 1.9.2 $ rvm use 1.9.2 You need: $ gem install vmc Command Line Tools for OSX or XCode 4.1 CONFIDENTIAL 38Wednesday, November 21, 12
  52. 52. Logging into CloudFoundry.com CONFIDENTIAL 39Wednesday, November 21, 12
  53. 53. Logging into CloudFoundry.com$  vmc  target  api.cloudfoundry.comSuccessfully  targeted  to                  [http://api.cloudfoundry.com] CONFIDENTIAL 39Wednesday, November 21, 12
  54. 54. Logging into CloudFoundry.com$  vmc  target  api.cloudfoundry.comSuccessfully  targeted  to                  [http://api.cloudfoundry.com]$  vmc  loginAttempting  login  to      [http://api.cloudfoundry.com]Email:  avidela@vmware.comPassword:  ********Successfully  logged  into      [http://api.cloudfoundry.com] CONFIDENTIAL 39Wednesday, November 21, 12
  55. 55. Cloud Foundry Integration plugin for Eclipse Eclipse support: ✦ CF Integration for Eclipse ✦ SpringSource Tool Suite 40Wednesday, November 21, 12
  56. 56. Cloud Foundry Integration plugin for Eclipse 41Wednesday, November 21, 12
  57. 57. Sample App: CloudStagram 42Wednesday, November 21, 12
  58. 58. Sample App: CloudStagram 43Wednesday, November 21, 12
  59. 59. Sample App: CloudStagram 44Wednesday, November 21, 12
  60. 60. Sample App: CloudStagram 45Wednesday, November 21, 12
  61. 61. Sample App: CloudStagram 46Wednesday, November 21, 12
  62. 62. Sample App: CloudStagram 47Wednesday, November 21, 12
  63. 63. Sample App: CloudStagram 48Wednesday, November 21, 12
  64. 64. Sample App: CloudStagram 49Wednesday, November 21, 12
  65. 65. Sample App: CloudStagram Frontend App node.js 50Wednesday, November 21, 12
  66. 66. Sample App: CloudStagram Frontend App node.js Image Resizers node.js 51Wednesday, November 21, 12
  67. 67. Sample App: CloudStagram Frontend App node.js Image Resizers Clojure 52Wednesday, November 21, 12
  68. 68. CODE OR IT DIDN’T HAPPEN 53Wednesday, November 21, 12
  69. 69. Thank You CloudFoundry Source Samples: https://github.com/cloudfoundry-samples/ http://cloudfoundry.com Questions? @cloudfoundry #cloudfoundry @old_sound / avidela@vmware.com © 2012 VMware, Inc. All rights reservedWednesday, November 21, 12
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×