Cloud foundry practice

Post on 06-May-2015

2.779 views 2 download

Transcript of Cloud foundry practice

CloudFoundryPracticeSean@Weaveus

May 2011

History

• VMware founded 1998

• x86/x64 OS Emulation & Binary Translation

• VMware Workstation 1999

• VMware Server 2001

• EMC buys VMware$625M 2004

Diane Greene

2Monday, May 9, 2011

History

• Prepare DataCenter,Cloud 2007-

• Old CEO fired,new CEO Paul fromEMC Cloud Service

• Buy SpringSource $420M, Move to Platform, 2009

• CloudFoundry 2011

Paul Maritz

3Monday, May 9, 2011

History - Spring

• Started 2002, Rod Johnson, Juergen Holler

• Lightweight Application Platform (then JEE)

• Spring 1.0, 2004

• Spring 2.0, 2006, Spring 2.5, 2007

• Spring 3.0, 2009, Acquired to VMware

4Monday, May 9, 2011

Cloud History

• Google founded 1996~8

• GFS 2003, BigTable 2004, Gmail 2004, Docs 2006

• Salesforce 1999

• Facebook founded 2004

• Facebook Platform 2007

• Twitter founded 2006

• Amazon EC2 2006

• Oracle buys Sun 2009

5Monday, May 9, 2011

CloudFoundry

6Monday, May 9, 2011

CloudFoundry

7Monday, May 9, 2011

Server/Client

• VCAPVMware Cloud Application Platform

• Ubuntu Server

• VMCVMware Cloud CLI

• Any with Ruby, Java, Python

8Monday, May 9, 2011

Ruby App Demo

9Monday, May 9, 2011

Ruby App Demo

• Target -VCAP (host api.vcap.me)

• Ubuntu Server 10.04 LTS(on VMware Fusion)

• VCAP Installed & Started Client

• Client

• Ruby1.8

• Sinatra

Ruby Demo - EnvSeanMacBookPro:foo sean$ pwd/Users/sean/Documents/Projects/CloudFoundry/fooSeanMacBookPro:foo sean$ cat foo.rb require 'rubygems'require 'sinatra'

get '/' do host = ENV['VCAP_APP_HOST'] port = ENV['VCAP_APP_PORT'] "<h1>Ruby-Sinatry CloudFoundry</h1><h2>#{host}:#{port}</h2>"endSeanMacBookPro:foo sean$ vmc info

VMware's Cloud Application PlatformFor support visit support@cloudfoundry.com

Target: http://api.vcap.me (v0.999)Client: v0.3.10

User: sean@weaveus.comUsage: Memory (0B of 2.0G total) Services (0 of 16 total) Apps (0 of 20 total)SeanMacBookPro:foo sean$

11Monday, May 9, 2011

Ruby - Demo - PushSeanMacBookPro:foo sean$ vmc push fooWould you like to deploy from the current directory? [Yn]: Application Deployed URL: 'foo.vcap.me'? Detected a Sinatra Application, is this correct? [Yn]: Memory Reservation [Default:128M] (64M, 128M, 256M, 512M, 1G or 2G) Creating Application: OKWould you like to bind any services to 'foo'? [yN]: Uploading Application: Checking for available resources: OK Packing application: OK Uploading (0K): OK Push Status: OKStaging Application: OK Starting Application: OK

SeanMacBookPro:foo sean$ vmc push foo -n// ‘-n’ no questions

SeanMacBookPro:foo sean$ vmc list

+-------------+----+---------+-------------+----------+| Application | # | Health | URLS | Services |+-------------+----+---------+-------------+----------+| foo | 1 | RUNNING | foo.vcap.me | |+-------------+----+---------+-------------+----------+

SeanMacBookPro:foo sean$ vmc update foo// after a modification of // the application

12Monday, May 9, 2011

Spring App Demo

13Monday, May 9, 2011

Spring Demo

• Target - VCAP (host api.vcap.me)

• Ubuntu Server 10.04 LTS(on VMware Fusion)

• VCAP Installed & Started

• Client

• SpringSource Tool Suite 2.6

14Monday, May 9, 2011

15Monday, May 9, 2011

16Monday, May 9, 2011

Spring Application with Local TC Server

17Monday, May 9, 2011

18Monday, May 9, 2011

19Monday, May 9, 2011

ApplicationList

on VCAP

20Monday, May 9, 2011

Actually Fails ‘push’with my VCAP on VM

21Monday, May 9, 2011

Spring Application fails ‘deploy’

23Monday, May 9, 2011

Spring App Demo Refs

• http://blog.springsource.com/2011/04/13/using-cloud-foundry-from-sts/

• https://github.com/SpringSource/cloudfoundry-samples/wiki/Spring-Hello-MongoDB-Sample-Application

24Monday, May 9, 2011

Node.JS App Demo

25Monday, May 9, 2011

!"

26Monday, May 9, 2011

In Depth

27Monday, May 9, 2011

VCAP

• Cloud Controller

• Health Manager

• Router

• DEA: Droplet Execution Agent

• Services

• NATS - as a Bus. Pub/Sub Messaging

28Monday, May 9, 2011

NAT

VCAP

Front-EndNginx Router

CloudController

DEA(App.

Server Node)

HealthManager

RedisNode

RedisGateway

MySQLNode

MySQLGateway

MongoDB Node

MongoDBGateway

Redis

MySQL

MongoDB

VMCClient

Redis

MySQL

MongoDB

DEA(App.

Server Node)

http://blog.cloudfoundry.com/post/5223861703/how-cloud-foundry-works-when-a-new-

application-is

http://blog.cloudfoundry.com/post/4754582920/cloud-

foundry-open-paas-deep-dive

29Monday, May 9, 2011

root 26338 0.0 0.0 27996 184 ? Ss 10:59 0:00 nginx: master process /usr/sbin/nginxwww-data 26339 0.0 0.2 28732 1052 ? S 10:59 0:00 nginx: worker processsean 27634 0.1 2.0 60932 10300 ? Sl 11:00 1:01 nats-server sean 27637 0.2 3.7 94856 19080 tty1 Sl 11:00 1:02 ruby /home/sean/cloudfoundry/vcap/router/bin/routersean 27654 0.2 13.2 415380 66804 tty1 Sl 11:00 1:25 ruby ./cloud_controllersean 27669 0.3 5.7 107768 29072 tty1 Sl 11:00 1:43 ruby /home/sean/cloudfoundry/vcap/dea/bin/deasean 27711 0.2 9.4 170548 47656 tty1 Sl 11:00 1:05 ruby /home/sean/cloudfoundry/vcap/health_manager/bin/health_managersean 27743 0.1 7.0 136772 35460 tty1 Sl 11:00 0:59 ruby /home/sean/cloudfoundry/vcap/services/redis/bin/redis_gatewaysean 27781 0.1 1.4 139800 7180 tty1 Sl 11:00 0:57 ruby /home/sean/cloudfoundry/vcap/services/redis/bin/redis_nodesean 27800 0.1 7.0 136900 35436 tty1 Sl 11:00 1:01 ruby /home/sean/cloudfoundry/vcap/services/mysql/bin/mysql_gatewaysean 27817 0.3 6.0 144764 30612 tty1 Sl 11:00 1:52 ruby /home/sean/cloudfoundry/vcap/services/mysql/bin/mysql_nodesean 27836 0.1 7.2 136744 36680 tty1 Sl 11:00 0:59 ruby /home/sean/cloudfoundry/vcap/services/mongodb/bin/mongodb_gatewaysean 27853 0.1 7.3 142744 36900 tty1 Sl 11:00 0:57 ruby /home/sean/cloudfoundry/vcap/services/mongodb/bin/mongodb_node

VCAP Processes

30Monday, May 9, 2011

#$

31Monday, May 9, 2011

CloudFoundry

32Monday, May 9, 2011

References

• Images

• http://cache.gawkerassets.com/assets/images/34/2008/08/GreeneAPRisberg.jpg

• http://infosmackpodcasts.com/infosmack-63-vmwares-paul-maritz/

• http://blog.springsource.com/2011/04/12/launching-cloud-foundry/

• http://blog.springsource.com

• http://blog.cloudfoundry.com/

33Monday, May 9, 2011