67
Cloud Foundry The Open Platform as a Service Patrick Chanezon Senior Director Developer Relations [email protected] http://twitter.com/chanezon Developer Summit, Tokyo February 2012 Thursday, February 16, 12

Cloud Foundry Japan Community Meetup

Embed Size (px)

Citation preview

Page 1: Cloud Foundry Japan Community Meetup

Cloud FoundryThe Open Platform as a Service

Patrick ChanezonSenior DirectorDeveloper [email protected]://twitter.com/chanezon Developer Summit, Tokyo February 2012Thursday, February 16, 12

Page 2: Cloud Foundry Japan Community Meetup

P@ in a nutshell

• French, based in San Francisco

• Senior Director, Developer Relations, VMware

• Software Plumber, API guy, mix of Enterprise and Consumer

• 18 years writing software, backend guy with a taste for javascript

• 2 y Accenture (Notes guru), 3 y Netscape/AOL (Servers, Portals), 5 y Sun (ecommerce, blogs, Portals, feeds, open source)

• 6 years at Google, API guy (first hired, helped start the team)

• Adwords, Checkout, Social, HTML5, Cloud

Thursday, February 16, 12

Page 3: Cloud Foundry Japan Community Meetup

Dreams Of my childhood

3

Thursday, February 16, 12

Page 4: Cloud Foundry Japan Community Meetup

Accelerando / Singularity, in a Galaxy far far away

§ Even if we automate ourselves out of a job every 10 years

§ ...I don’t think the singularity is near!

4

Thursday, February 16, 12

Page 5: Cloud Foundry Japan Community Meetup

Moore's Law is for Hardware Only

§ Does not apply to software

§ Productivity gains not keeping up with hardware and bandwidth

§ Writing software is hard, painful, and still very much a craft

5

Thursday, February 16, 12

Page 6: Cloud Foundry Japan Community Meetup

Moore's Law’s free lunch is over

§ Herb Sutter, Welcome to the Junglehttp://herbsutter.com/welcome-to-the-jungle/

6

Thursday, February 16, 12

Page 7: Cloud Foundry Japan Community Meetup

Future

“The future is already here — it's just not very evenly distributed” William Gibson

7

Thursday, February 16, 12

Page 8: Cloud Foundry Japan Community Meetup

Haiku - Skylark

“Trampling on clouds,inhaling the mist,the skylark soars” —SHIKI

8

Thursday, February 16, 12

Page 9: Cloud Foundry Japan Community Meetup

Haiku - Frog

“Crouching,studying the clouds—a frog”CHIYO-JO

9

Thursday, February 16, 12

Page 10: Cloud Foundry Japan Community Meetup

Architecture Changes: 60’s Mainframe

Thursday, February 16, 12

Page 11: Cloud Foundry Japan Community Meetup

Architecture Changes: 80’s Client-Server

Thursday, February 16, 12

Page 12: Cloud Foundry Japan Community Meetup

Architecture Changes: 90’s Web

Thursday, February 16, 12

Page 13: Cloud Foundry Japan Community Meetup

Architecture Changes: 2010’s Cloud, HTML5, Mobile

Thursday, February 16, 12

Page 14: Cloud Foundry Japan Community Meetup

Back to Client Server: Groovy Baby!

14

Thursday, February 16, 12

Page 15: Cloud Foundry Japan Community Meetup

What is Cloud Computing?

15

Cloud According to my daughter Eliette

Thursday, February 16, 12

Page 16: Cloud Foundry Japan Community Meetup

Cloud Stack - Classic Pyramid

16

Platform As A Service

Infrastructure As A Service

SoftwareAs A Service

Thursday, February 16, 12

Page 17: Cloud Foundry Japan Community Meetup

Cloud Stack - By Number

17

Platform As A Service

InfrastructureAs A Service

SoftwareAs A Service

Thursday, February 16, 12

Page 18: Cloud Foundry Japan Community Meetup

Cloud Stack - By Value

18

InfrastructureAs A Service

SoftwareAs A Service

Platform As A Service

Thursday, February 16, 12

Page 19: Cloud Foundry Japan Community Meetup

Cloud Stack - Neutral

19

Platform As A Service

Infrastructure As A Service

SoftwareAs A Service

Thursday, February 16, 12

Page 20: Cloud Foundry Japan Community Meetup

Cloud Stack - History

§ What does cloud mean, 4 main angles• Software 1994 Netscape

• Infrastructure 2002 Amazon AWS

• Platform 2008 Google

• Development now!

§ Industrialization of hardware and software infrastructure• like electricity beginning of 20th century, cf The Big Switch, Nick Carr

§ But software development itself is moving towards craftmanship

20

Thursday, February 16, 12

Page 21: Cloud Foundry Japan Community Meetup

Cloud started at Consumer websites solving their needs

• Google, Amazon, Yahoo, Facebook, Twitter

• Large Data Sets

• Storage Capacity growing faster than Moore’s Law

• Fast Networks

• Horizontal -> Vertical scalability

• Open Source Software

• Virtualization

• Cloud is a productization of these infrastructures

• Public Clouds Services: Google, Amazon

• Open Source Software: Hadoop, Eucalyptus, Ubuntu, Cloud Foundry

Thursday, February 16, 12

Page 22: Cloud Foundry Japan Community Meetup

22

Infrastructure

Thursday, February 16, 12

Page 23: Cloud Foundry Japan Community Meetup

IaaS/Virtualization getting mainstream

§ AWS, Joyent, Rackspace,...

§ Open Source projects: OpenStack, DeltaCloud, Eucalyptus

§ Automation: Chef, Juju

§ Standardization? DMTF

§ Inside the Firewall, Virtualization: VMware, Microsoft, Xen, KVM

§ 50% of workloads are virtualized

§ Easy to provision, manage instance...BUT

§ Still need to manage backups, software stacks, monitor, upgrades

23

Thursday, February 16, 12

Page 24: Cloud Foundry Japan Community Meetup

With Infrastructure, you still need to build your own platform

§ Need to build a distributed platform on top of you infrastructure

§ Story of the AWS meltdown from last summer• http://blog.reddit.com/2011/03/why-reddit-was-down-for-6-of-last-24.html

• http://www.readwriteweb.com/cloud/2010/12/chaos-monkey-how-netflix-uses.php

• http://news.ycombinator.com/item?id=2477296

• http://stu.mp/2011/04/the-cloud-is-not-a-silver-bullet.html

§ Twilio, Smugmug, SimpleGeo survived it because they built their own distributed platform on top of IaaS

§ Enterprise customers want to consider Infrastructure like CDNs• Multi Cloud usage

• Based on Open Source de facto standards, or full standards whenever that happens

24

Thursday, February 16, 12

Page 25: Cloud Foundry Japan Community Meetup

25

Platforms

Thursday, February 16, 12

Page 26: Cloud Foundry Japan Community Meetup

Platforms

§ Raise the Unit of currency to be application & services instead of infrastructure

§ Google App Engine, Cloud Foundry, Joyent, Heroku, Stax (Cloudbees), Amazon elastic beanstalk, Microsoft Azure, AppFog

§ Single or a few languages, services

§ Start of Multi language Polyglot platforms

§ Enabler for Agile Developers -> Create Business value faster

§ Lack of standards: risk, vendor lock-in

§ Enterprise needs:•Control, customizability

•Private/Hybrid Cloud

•Avoid lock-in

26

Thursday, February 16, 12

Page 27: Cloud Foundry Japan Community Meetup

Agile Development Processes

Thursday, February 16, 12

Page 28: Cloud Foundry Japan Community Meetup

Agility as a survival skill

§ Consumer software is becoming like fashion•Phone apps, social apps, short lifetime, fast lifecycles

•Ab testing

§ Clay shirky situational apps

§ Kent Beck, Usenix 2011 Talk, “Software G-Forces”change in software process when frequency grows

§ Cloud Platforms enables an Agile culture, driver for innovation•Scalability is built in the platforms

•Can iterate faster

•Focus on design

§ Cloud Platforms lets developers focus on driving business value

28

Thursday, February 16, 12

Page 29: Cloud Foundry Japan Community Meetup

Main Risk: Lock-In

29

Welcome to the hotel californiaSuch a lovely placeSuch a lovely facePlenty of room at the hotel californiaAny time of year, you can find it here

Last thing I remember, I wasRunning for the doorI had to find the passage backTo 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!

Thursday, February 16, 12

Page 30: Cloud Foundry Japan Community Meetup

Cloud Foundry: The Open PaaS

30

Clou

d Pr

ovide

r Int

erfa

ce

Application Service Private Clouds

PublicCloud

MicroCloud

Data Services

Other Services

Msg Services

vFabric Postgres

vFabric RabbitMQTM

• Open Source: Apache 2 Licensed

• multi language/frameworks

• multi services

• multi cloud

Thursday, February 16, 12

Page 31: Cloud Foundry Japan Community Meetup

31

Open Source

Thursday, February 16, 12

Page 32: Cloud Foundry Japan Community Meetup

Open Source Advantage

§ http://code.google.com/p/googleappengine/issues/detail?id=13

32

• https://github.com/cloudfoundry/vcap/pull/25

Thursday, February 16, 12

Page 33: Cloud Foundry Japan Community Meetup

33

Multi Cloud

Thursday, February 16, 12

Page 34: Cloud Foundry Japan Community Meetup

34

CloudFoundry.COM

Runtimes & Frameworks

Services

vCenter / vSphere

Cloud Foundry

Infrastructure

Thursday, February 16, 12

Page 35: Cloud Foundry Japan Community Meetup

35

Cloud Foundry.ORG

The Source Code to Compile & Build Cloud Foundry

vCenter / vSphere

Cloud Foundry

DownloadCode

Setup Environment

Deploy Behind Firewall

Setup Scripts

Thursday, February 16, 12

Page 36: Cloud Foundry Japan Community Meetup

Micro Cloud Foundry

36

Micro

Thursday, February 16, 12

Page 37: Cloud Foundry Japan Community Meetup

What is a Micro Cloud?

37

Entire Cloud Running inside of a single VM

Or

Thursday, February 16, 12

Page 38: Cloud Foundry Japan Community Meetup

Micro Cloud Foundry… (BETA)

38

A pre-built Micro (Single VM) version of Cloud Foundry…

Signup @ http://cloudfoundry.com/micro

You need a Cloud Foundry.com Account to use Micro Cloud Foundry

Thursday, February 16, 12

Page 39: Cloud Foundry Japan Community Meetup

Micro Cloud Foundry… (BETA)

38

A pre-built Micro (Single VM) version of Cloud Foundry…

Signup @ http://cloudfoundry.com/micro

You need a Cloud Foundry.com Account to use Micro Cloud Foundry

Micro

Thursday, February 16, 12

Page 40: Cloud Foundry Japan Community Meetup

What is in Micro Cloud Foundry?

39

Open source Platform as a Service project

App Instances Services

10.04

Dynamic Updating DNS

.COM

Thursday, February 16, 12

Page 41: Cloud Foundry Japan Community Meetup

Other Cloud Foundry powered PaaS

40

Private PaaS

Added Python and Perl

Public PaaS

Added PHP

Tier3 and Uhuru recently added .NET support

Thursday, February 16, 12

Page 42: Cloud Foundry Japan Community Meetup

41

Development LifeCycle

Thursday, February 16, 12

Page 43: Cloud Foundry Japan Community Meetup

Traditional App Deploy and Request/Response

Web

App

DB

Web

App

DB

Request/AllocateBuild/SetupInstall/ConfigureDeploy/Test

Scale?Upgrade?Update?

Thursday, February 16, 12

Page 44: Cloud Foundry Japan Community Meetup

Web

How Apps are Deployed on Cloud Foundry

Web

App

DB

“vmc push MyApp”

WebApp

DB

“vmc instances MyApp 5”“vmc map MyApp MyApp2”“vmc update MyApp”

Scale?Upgrade?Update?

Thursday, February 16, 12

Page 45: Cloud Foundry Japan Community Meetup

Web

How Apps are Deployed on Cloud Foundry

Web

App

DB

“vmc push MyApp”

WebApp

DB

“vmc instances MyApp 5”“vmc map MyApp MyApp2”“vmc update MyApp”

Scale?Upgrade?Update?

Thursday, February 16, 12

Page 46: Cloud Foundry Japan Community Meetup

How Apps are Accessed on Cloud Foundry

Web

App

DB

App Instance

Service

Request Web InterfaceLoad

Balancingand

Routing

Response

“vmc push MyApp”

Thursday, February 16, 12

Page 47: Cloud Foundry Japan Community Meetup

How Apps are Scaled on Cloud Foundry

Web

App

DB

App Instances

Service

Request

Response

Load

Balancer(s)Load

Balancer(s)

Load Balancing

and Routing

Web

App

Web

App

“vmc instances MyApp 3”

Thursday, February 16, 12

Page 48: Cloud Foundry Japan Community Meetup

How Apps are Updated on Cloud Foundry

Web

App

DB

Service

Web

App

DB

Service

Web

App

Web

App

PreviousVersion

InstanceStopped

UpdatedCode

NewVersion

“vmc update MyApp”

Thursday, February 16, 12

Page 49: Cloud Foundry Japan Community Meetup

47

Services

Thursday, February 16, 12

Page 50: Cloud Foundry Japan Community Meetup

Current Services Available on Cloud Foundry

48

Thursday, February 16, 12

Page 51: Cloud Foundry Japan Community Meetup

Service Creation and Binding

49

VCAP_SERVICES:

{"redis-2.2":[{"name":"redis_sample","label":"redis-2.2","plan":"free",

"tags":["redis","redis-2.2","key-value","nosql"],

"credentials":

{"hostname":"172.30.48.40",

"host":"172.30.48.40",

"port":5023,

"password":"8e9a901f-987d-4544-9a9e-ab0c143b5142",

"name":"de82c4bb-bd08-46c0-a850-af6534f71ca3"}

}],

"mongodb-1.8":[{"name":"mongodb-e7d29","label":"mongodb-1.8","plan":"free","tags”:………………….

Thursday, February 16, 12

Page 52: Cloud Foundry Japan Community Meetup

Service Creation and Binding

50

App Instance

Thursday, February 16, 12

Page 53: Cloud Foundry Japan Community Meetup

Service Creation and Binding

50

App Instance Redis Service

Thursday, February 16, 12

Page 54: Cloud Foundry Japan Community Meetup

Service Creation and Binding

50

App Instance Redis Service

Thursday, February 16, 12

Page 55: Cloud Foundry Japan Community Meetup

Service Creation and Binding

50

App Instance Redis Service

MongoDB

Service

Thursday, February 16, 12

Page 56: Cloud Foundry Japan Community Meetup

51

How it works

Thursday, February 16, 12

Page 57: Cloud Foundry Japan Community Meetup

Logical View

52

VMC client STS plugin Browser(user app access)

Routers

CloudControllers App

Services

App

HealthManager

DEA Pool

Messaging

Thursday, February 16, 12

Page 58: Cloud Foundry Japan Community Meetup

53

Architecture

Thursday, February 16, 12

Page 59: Cloud Foundry Japan Community Meetup

Register today

54

http://cloudfoundry.com/signup

devsumitUse Promo Code

To avoid approval queue waiting time

Thursday, February 16, 12

Page 60: Cloud Foundry Japan Community Meetup

Open Source development process (in flux)

55

Thursday, February 16, 12

Page 61: Cloud Foundry Japan Community Meetup

Cloud for Developers: the true path is PaaS!

56

Thursday, February 16, 12

Page 62: Cloud Foundry Japan Community Meetup

Cloud Foundry Resources

57

Primary Site : cloudfoundry.com

Open Source Site : cloudfoundry.org

Twitter : @cloudfoundry , hash tag #cfoundry

Blog : blog.cloudfoundry.com

FB : facebook.com/cloudfoundry

Support : support.cloudfoundry.com• Documentation

• Knowledge Base

• Q & A / Forums

We’re hiring: www.cloudfoundry.com/jobs

Thursday, February 16, 12

Page 63: Cloud Foundry Japan Community Meetup

Questions

58

?Thursday, February 16, 12

Page 64: Cloud Foundry Japan Community Meetup

Thank You!@CloudFoundry

@chanezon

Website : www.cloudfoundry.comBlog : blog.cloudfoundry.comForum : support.cloudfoundry.com

t

t

Thursday, February 16, 12

Page 65: Cloud Foundry Japan Community Meetup

Books / Articles

§ Nick Carr, The Big Switch

§ Eric Raymond, The Art of Unix Programming

§ Weinberg, Psychology of Computer Programming

§ Wes python book

§ Mark html5 book

§ Kent Beck XP

§ Hunt, Thomas, The Pragmatic Programmer

§ Ade Oshineye, Apprenticeship Patterns

§ Matt Cutt's Ignite Talk IO 2011, Trying different things

§ Josh Bloch talk about api design

§ Larry and Sergey, Anatomy of a Search Engine

§ Rob Pike, The Practice of Programming

60

Thursday, February 16, 12

Page 66: Cloud Foundry Japan Community Meetup

Papers / Talks

§ Simon Wardley, Oscon 09 “Cloud - Why IT Matters”

§ Tim O’Reilly article on internet os

§ Peter Deutsch’s 8 Fallacies of Distributed Computing

§ Brewer’s CAP Theorem

§ Gregor Hohpe’s Starbucks Does Not Use Two-Phase Commit

§ Stuff I tag http://www.delicious.com/chanezon/

§ More specifically http://www.delicious.com/chanezon/cloudfoundry

§ My previous Talks http://www.slideshare.net/chanezon

§ My list of favorite books http://www.chanezon.com/pat/soft_books.html

61

Thursday, February 16, 12

Page 67: Cloud Foundry Japan Community Meetup

Acknowledgement

§ Drawings from my daughters Eliette

§ Slides from Dave McCrory, Derek Collison, Duke Leto

§ Haiku from Addiss, Stephen; Yamamoto, Fumiko; Yamamoto, Fumiko Y.; Yamamoto, Akira Y. (2011-06-22). Haiku: An Anthology of Japanese Poems (Shambhala Library)

§ Painting Hiroshige, Sengai

62

Thursday, February 16, 12