CloudBees - Sacha Labourey - May 2011

29
Taking your Applications to the Cloud May 12 th , 2011 – JUG Lausanne Sacha Labourey CEO, CloudBees ©2011 Cloud Bees, Inc. All Rights Reserved

description

CloudBees - Sacha Labourey - May 2011

Transcript of CloudBees - Sacha Labourey - May 2011

Page 1: CloudBees - Sacha Labourey - May 2011

Taking your Applications to the Cloud

May 12th, 2011 – JUG Lausanne

Sacha Labourey CEO, CloudBees

©2011 Cloud Bees, Inc. All Rights Reserved

Page 2: CloudBees - Sacha Labourey - May 2011

2

•  Cloud 101 •  Ways to run your apps in the cloud •  The CloudBees Platform

– RUN@cloud – DEV@cloud

•  Demo •  Weather forecast

Agenda

©2011 CloudBees, Inc. All Rights Reserved

Page 3: CloudBees - Sacha Labourey - May 2011

Cloud 101 What does it mean for you?

©2011 Cloud Bees, Inc. All Rights Reserved

Page 4: CloudBees - Sacha Labourey - May 2011

4

Traditional Software Stack

©2011 CloudBees, Inc. All Rights Reserved

!"#$%&&'

()"*$)+'

,%$-.'

/01+%23'

4%&*2%$3'5$%-6'

Page 5: CloudBees - Sacha Labourey - May 2011

5 ©2011 CloudBees, Inc. All Rights Reserved

!"#$%&&'

()"*$)+'

,%$-.'

/01+%23'

4%&*2%$3'5$%-6'

Cloud Computing: Outsourcing headaches

!"#$%&'(#)*%+(&

Page 6: CloudBees - Sacha Labourey - May 2011

6

Cloud Services Market

©2011 Cloud Bees, Inc. All Rights Reserved

"Cloud computing is on-demand access to virtualized IT resources that are housed outside of your own data center, shared by others, simple to use, paid for via subscription, and accessed over the Web.“

- John Foley, Information Week

,--,&

'--,&

.--,&

Page 7: CloudBees - Sacha Labourey - May 2011

7

•  Amazon – the most popular example •  Lego blocks of servers, VM’s, DBs, AS etc •  Development Environment:

– Flexible, complicated –  “Give me a server, give me a OS, give me a

virtualization platform, give me a AS, give me a database. I will manage everything.”

•  User Perspective – Customized apps

IaaS

©2011 CloudBees, Inc. All Rights Reserved

Page 8: CloudBees - Sacha Labourey - May 2011

8

•  SalesForce.com, Zendesk, NetSuite, etc. •  Development Environment:

– Rigid – it is mostly about CONFIGURATION – When available, development happens

within the context of the SaaS being offered •  User Perspective

– Cookie cutter apps – Great for extending

existing SaaS

SaaS

©2011 CloudBees, Inc. All Rights Reserved

Page 9: CloudBees - Sacha Labourey - May 2011

9

•  CloudBees, BeansTalk, CloudFoundry, etc.

•  Development Environment: –  “Give me my standards-based environment

and manage servers, scalability for me” – Lots of different PaaS philosophies!

•  User Perspective – Customized apps

PaaS

©2011 CloudBees, Inc. All Rights Reserved

Page 10: CloudBees - Sacha Labourey - May 2011

10

1st decision: IaaS, SaaS or PaaS?

©2011 CloudBees, Inc. All Rights Reserved

!%%#'

7811&3'93-.")&)1*3#'

5%%#'

:)"#$+%*"32'

,%%#'

;&3<*=&3'

Page 11: CloudBees - Sacha Labourey - May 2011

11

•  AWS and Azure show “naïve” approach to PaaS i.e. IaaS+Middleware •  Modern approach provide infrastructure abstraction and favor APPS and

DEV •  Some platforms (like GAE) restrict developer’s ability to do what they

need, hence reduce application “migrability” from traditional AS

2nd decision: what PaaS?

©2011 CloudBees, Inc. All Rights Reserved

Flexibility/ Compatibility

SaaS-like IaaS-like

Azure GAE

Cloud Bees

VMW CF

RHT OShift

Beans Talk

>5';&3<'*#'

#3+?3+@-3"$+*-'A%#*-'

)+-.3#$+%B)"'

)C'DE5'=&)-6#'

FG3$@)"@%@53+?3+H'

I*$.')"&J'K'L)+3'

-)"#$+%*"$#'50+*"1@-3"$+*-'

)M3+*"1H'C)-8#32'

)"'?:&)82'

74(@=%#32'

)M3+*"1'N#))"'OOP'

C8&&J'#3+?3+@

%1")#B-'

>&23#$'5%%5@&*63'

)M3+*"1'=8$'I*$.'

&)$#')C'3"?F'

-)"#$+%*"$#'

Page 12: CloudBees - Sacha Labourey - May 2011

Why am I telling you all of this? Enter CloudBees’ world!

©2010 Cloud Bees, Inc. All Rights Reserved

Page 13: CloudBees - Sacha Labourey - May 2011

13

About CloudBees

©2011 Cloud Bees, Inc. All Rights Reserved

Our Mission

Strategy

A3-)L3'$.3'&3%2*"1'7%?%Q',&%R)+L'%#'%'53+?*-3'N,%%5P'

Why We’re Different

!"#$%/++0&0+()*1+0&23+&1#45"+2+&"*6+171"+&#6&!"#$%&-55"*1-8#9&%+)+"#54+92&-9%&%+5"#74+92:&;#&,+()+(0:&;#&<*(2$-"&=-13*9+0:&;#&.>:'

!  ?@<A1"#$%'S':&)82'53+?*-3#'C)+'T3?3&)03+#'

!  BC;A1"#$%&D&;+*-B)"&3##'+8"BL3',%%5'C)+'7%?%'%00#'

Page 14: CloudBees - Sacha Labourey - May 2011

14

,-13-&E-F#$(+7&:O>'

:)@C)8"23+')C'7A)##'

U('7A)##'O(ODH'$.3"'7A)##':9>F''

DV3+'7A)##'%-W8*#*B)"'=J'X32'

Y%$H'-)@U('L*22&3I%+3'2*?*#*)"H'

&3V'*"'(%+-.'Z[[\]''

G%(*-9&/(#1H&D+-.*$3-$'

:.*3C'5-*3"B#$'%$'7A)##H'>^-3')C'

$.3'7A)##':9>'%$'X32'Y%$'

_32'L)#$')C'7A)##'D5'63J'

$3-.")&)1*3#'

=*13-+"&;+-"+&D+-.*$3-$'

53"*)+'3"1*"33+'%$'X32'Y%$'

_3%2*"1'63J'7A)##@*"@$.3@-&)82'

0+)`3-$#'%$'X32'Y%$'

B7-9&!-45F+""&D+-.*$3-$&

7A)##'aD'L%"%13+'%$'7A)##'%"2'

$.3"'X32'Y%$]'7%?%'O"$3+0+*#3'

T3?3&)03+'%$'T3=*<'

,5*H+&I-03F$(9&D+-.*$3-$&

;)8"23+'5$%<F''(*22&3I%+3'

3"1*"33+'%"2'T3?'(1+F'!A('

E3=50.3+3''D&&%*+3H'(%-+)L32*%H'

D0$%"%'%"2'(*-+)#)VF'

The CloudBees Team

©2011 Cloud Bees, Inc. All Rights Reserved

J#30$H+&J-K-L$13*&D+-.*$3-$&

;)8"23+'%"2'&3%2'23?3&)03+')C'

Y82#)"'

<*)+H&'-9%+7&D+-.*$3-$&

53"*)+'5$%M'O"1*"33+'%$'58"'

(*-+)#J#$3L#H'!"-F'

503-*%&*#$'*"'7%?%'%"2'2J"%L*-'

&%"18%13#H'U&%##b#.'%"2'&3%2')C'

58"c#'E3='53+?*-3#'#$%-6'

M(-9N#*0&?O13+(7&53+?*-3#&

T*+F'53+?*-3#'O(OD'%$'7A)##H'T*+F'

7A)##'5800)+$'%$'X32'Y%$H'T*+F'

5800)+$',%+$"3+#'%$'X32'Y%$H'

d,(U',3%$'(%+I*-6H'58"'

(*-+)#J#$3L#H'(3$%I%+3H'!"C)+'

/#F&/*1H+"&D2?*#)+'

U('Y,'L*22&3I%+3eA&83#$)"3H'

4,'5$+%$31J'f'A8#*"3##'T3?'%$'

7A)##]'YJ03+*-H'(3$%?3+#3H'

X*"1#*23'G3$I)+6#H'3g)'

,&%R)+L'%"2'L)+3'

Proven team of developers and entrepreneurs

Page 15: CloudBees - Sacha Labourey - May 2011

15 ©2011 CloudBees, Inc. All Rights Reserved

Why CloudBees is Better?

Configure OS Secure OS Setup JVM

Install AS on OS Configure AS Secure AS

"provision nodes Install load-balancer (LB) Configure LB

Secure LB Setup BC for cluster QA cluster

Configure DNS

Provision node:

Provision cluster:

" Provision node Install DB Configure DB

Secure DB Setup BC for DB

Provision DB:

" Provision cluster Provision DB Deploy schema

Deploy App to each node

Deploy App:

(not a transparent update process)

Analyse sec. bulletins

Analyse QA bulletins

Analyse AS/OS logs

maintain OS maintain JVM maintain AS

maintain DB

Manage environment (recurring)

maintain FW Validate/QA stack

Measure App performance Acquire Hardware Provision node

Update Cluster Update LB

Metering/Scaling (recurring)

Update Security

(transparent, multi-version, HA, scalable)

•  No need to provision nodes, clusters, load-balancers, databases, etc.

•  Environment constantly monitored, managed and maintained

•  Metering/scaling updated in real-time

•  Business Continuity built-in

•  We do Ops, you do Dev

Deploy App to traditional Java platform Deploy App to CloudBees

DEPLOY

Page 16: CloudBees - Sacha Labourey - May 2011

16

IaaS Providers (Public Cloud)

©2011 CloudBees, Inc. All Rights Reserved

CloudBees Platform as a Service

Continuous Deployment

Production

Build

Test

Provisioning

Maintenance

Y82#)"'

,--,&<+9%#(&G55"*1-8#90&

@92+(5(*0+&C0+(&G55"*1-8#90&

JVM – Java EE Java, Python, Scala, …

:&)82A33#':)+3',&%R)+L'53+?*-3#'

X/G'TO4'

X30)#*$)+*3#'

Data Services RDBMS, NoSQL

Metering Billing Monitoring Management

Messaging Identity Logging/ Auditing

Back-end services

Runtime services

?+)+"#54+92&'(#P+120&

'-(29+(&G%%&Q

90&

U!9' (%?3"' K'54G'

D,!#'

Testing Preproduction !"#$%/++0&G

%%Q90&

Databases

Other SaaS

On Premise

Private Cloud

Page 17: CloudBees - Sacha Labourey - May 2011

DEV@cloud Deep Dive of CloudBees Developer Services

©2011 Cloud Bees, Inc. All Rights Reserved

Page 18: CloudBees - Sacha Labourey - May 2011

18 ©2011 Cloud Bees, Inc. All Rights Reserved

Continuous Integration in the Cloud

•  G)'2*#+80B)"'I.3"'-)23'-.%"13#'=+3%6'$.*"1#'

•  hE)+6*"1i'=8*&2'%&I%J#'%?%*&%=&3'C)+'$3#$H'23L)#H'

3$-F'

•  ,+)?*23#'-+*B-%&'L3$+*-#'%=)8$'23?3&)0L3"$'S'

W8%&*$JH'0+)28-B?*$JH'C8"-B)"%&'

I37&!#989$#$0&.92+L(-8#9R&

93#$':)23'

5$%13'

:)"B"8)8#'T30&)JL3"$'

()"*$)+'X30)#*$)+*3#'

A8*&2':)23'

:)"B"8)8#'!"$31+%B)"'

73"6*"#eY82#)"'

•  A8*&2'L%-.*"3#'%&I%J#'%?%*&%=&3'I.3"'J)8'"332'

$.3LH'&)I3+#':D,Og'

•  5-%&3'T/>'S',%J'C)+'I.%$'J)8'8#3H'I.3"'J)8'"332'*$'

•  !"$31+%B)"'=3$I33"':!'L)28&3#'+328-3#'23?'

-)L0&3<*$JH'&)I3+#'>,Og'

•  53%L&3##'*"$31+%B)"'$)'+8"BL3',%%5'''

•  :)"B"8)8#'T30&)JL3"$':%0%=*&*$J'

I37&*9&23+&!"#$%R&

Page 19: CloudBees - Sacha Labourey - May 2011

19

/+9+S20&#6&?@<A1"#$%&T+9H*90&,+()*1+U&•  ,1-"+'J)8+'73"6*"#'3"?*+)"L3"$'I*$.'$.3'

0)I3+')C'$.3':&)82'

•  @-0+'J)8+'73"6*"#'L%"%13L3"$')?3+.3%2'

•  ,5++%'J)8+'73"6*"#'=8*&2#'

•  ,-)+&4#9+7&I*$.')"@23L%"2'73"6*"#'

53+?*-3F'

©2011 Cloud Bees, Inc. All Rights Reserved

Continuous Integration – Jenkins/Hudson

['

jk[[['

l[k[[['

ljk[[['

Z[k[[['

Zjk[[['

Jenkins/Hudson Adoption, by Builds

Source: Hudson Labs

;+12-(&V&Q9D'(+4*0+&@92+(5(*0+&T+9H*90&•  ,$55#(2&C+)L'$.3'73"6*"#'3<03+$#F'

•  <=K-(+'#-%&3'J)8+'73"6*"#'3"?*+)"L3"$F'

•  @92+(5(*0+&M+-2$(+0'3<$3"2'73"6*"#'C)+'&%+13'3"?*+)"L3"$#F'

•  .92+L(-2+&K*23&23+&!"#$%&*"$31+%B)"'I*$.'TO4m:&)82'%"2'X/Gm:&)82'-)L*"1'

Page 20: CloudBees - Sacha Labourey - May 2011

20

CloudBees Partner Add-ons

Integrated Services

©2011 CloudBees, Inc. All Rights Reserved

CloudBees DEV@cloud Offering

DEV@cloud Build

Test

Stage

Static Code analysis

More to come…

Web UI testing

Jenkins

Res

posi

torie

s (G

it, S

VN

Develop in the cloud, no IT setup: •  Jenkins as a Service • Git, SVN and Maven repositories

Directly deploy onto CloudBees PaaS • Choose from CLI, HTTP API, Jenkins,

Maven, ANT and Eclipse.

Leverage PaaS resources in testing (MySQL)

3rd party partner integrations: • Sonar - Static Code Analysis - NOW • Web UI testing – Soon • More to come…

Free offering for Open Source projects ! www.cloudbees.com/foss/

CloudBees Core Platform Services

Available now

Future

Page 21: CloudBees - Sacha Labourey - May 2011

RUN@cloud Deep dive of CloudBees PaaS

©2011 Cloud Bees, Inc. All Rights Reserved

Page 22: CloudBees - Sacha Labourey - May 2011

22

•  Easiest, Fastest Deployment of Java Web Apps –  Tomcat, Spring –  Multi-Tenant –  Scalable Amazon EC2

Deployment –  Scalable MySQL Database

•  Management Tools for Scaling •  Management Tools for Monitoring •  Supports other JVM-based

languages/frameworks: Scala, JRuby, ColdFusion, Grails, Play, etc.

Current Features

©2011 CloudBees, Inc. All Rights Reserved

Page 23: CloudBees - Sacha Labourey - May 2011

23 ©2011 CloudBees, Inc. All Rights Reserved

CloudBees RUN@cloud

RUN@cloud

Production

JVM-based Application Server

BC;A1"#$%&+9)*(#94+92&5(#)*%+0&($984+D-L9#081&'--,&0$FD0702+40&

•  ,)##*=&3'$)'.%"2&3'")"@7%?%'3"?*+)"L3"$#''

•  ,1-"+D?CQn'#-%&%=*&*$J'=%#32')"'+3%&@&)%2'•  53##*)"'#$%$3'3<$3+"%&*o32'C+)L'74(@+8"BL3'

•  ;8&&J'YD'• T30&)JL3"$'C+)L'L8&B0&3'#)8+-3#n'/!H'O-&*0#3H':_!H'XO59H'

(%?3"H'D"$H'3$-F'

T-)-WT<=&'--,'•  9)L-%$@=%#32'

•  7A)##'*"'23?3&)0L3"$H'%*L'$)'#800)+$'OO'p'E,'

•  5800)+$#'%'?%+*3$J')C'74(@=%#32'&%"18%13#'%"2'

C+%L3I)+6#'

•  50+*"1H'7X8=JH':;(_eX%*&)H',&%JH'U+%*&#H'5-%&%H'3$-F'

!"#$%/++0&@1#0702+4&V&,+()*1+0&'(#)*%+(0&•  hG3<$'U3"3+%B)"'!54#i'•  O<$3"2'$.3':&)82A33#'0&%R)+Ln'G)5a_H'L)"*$)+*"1H'&)%2'

$3#B"1H'3$-F'

•  D?%*&%=*&*$Jn'?3+J'#))"F'

Scale-DUO High-Availability

Session Management

Multi-tenancy PaaS Deployers

Dependency Management

CFML Scala …

Java EE Spring JRuby

D?%*&%=&3'")I'

;8$8+3'

Page 24: CloudBees - Sacha Labourey - May 2011

24

•  :&)82A33#'%&&)I#'7%?%'23?3&)03+#'$)'08$'$.3*+'-)23'*"$)'$.3'TO4m-&)82'=8*&2'

#J#$3LH'%"2'C+)L'.3+3'08=&*#.'$.3*+'%00&*-%B)"')"'$.3'X/Gm-&)82',%%5'C)+'7%?%'

•  :8#$)L3+#'%+3'")I'=3'%=&3'$)'2)'3?3+J$.*"1'S'23?3&)0H'=8*&2H'$3#$'%"2'230&)J'S'*"'

$.3'-&)82'

•  9.*#'*#'$.3'b+#$'7%?%',%%5'$)'2%$3'$.%$')M3+#'%'-)L0&3$3'3"?*+)"L3"$H'C+)L'

23?3&)0L3"$'$)'0+)28-B)"'

•  5)L3'G8L=3+#'

–  ()+3'$.%"'qHj[['%00&*-%B)"'230&)J32'$)'2%$3')"'X/Gm-&)82'

–  ()+3'$.%"'lHr[['%--)8"$#')"'TO4m-&)82'

Continuous Deployment

©2011 CloudBees, Inc. All Rights Reserved

Page 25: CloudBees - Sacha Labourey - May 2011

25

CloudBees Demo

©2011 CloudBees, Inc. All Rights Reserved

• T*#-)?3+':A'E3='3"?*+)"L3"$'

• :+3%B"1'%'"3I'-)23'+30)#*$)+J'• :+3%$3'%00'C+)L'$.3':_!'S'=%#*-'&*C3-J-&3'

• _)-%&'$3#B"1H'-&)82'230&)JL3"$'

• :+3%$3'%00'C+)L'$.3':_!'S'-)L0&3$3'&*C3-J-&3'

• U*$Y8='*"$31+%B)"'• /#*"1'73"6*"#'%#'%'53+?*-3'• ,8#.'$)'X/Gm-&)82'C+)L'73"6*"#'

• E)+6'C+)L'I*$.*"'O-&*0#3'

• :+3%$3'L%?3"'%00&*-%B")'

• 5$)+3'*"'$.3':A'C)+13H'TO4m-&)82'L%"%13L3"$'

• T3&$%'230&)JL3"$#'

Page 26: CloudBees - Sacha Labourey - May 2011

26

RUN@cloud

CloudBees: Basic Application Lifecycle

©2010 Cloud Bees, Inc. All Rights Reserved

Local Dev Cycle

Dev Test App Project

Elastic App

Deploy

Run Create

Elastic App Elastic App

Page 27: CloudBees - Sacha Labourey - May 2011

27

CloudBees: End-to-End Application Lifecycle

©2010 Cloud Bees, Inc. All Rights Reserved

App Project

Deploy

DEV@cloud RUN@cloud

Elastic App Elastic App Elastic App Source Control Hudson

Build/Test

Push

Page 28: CloudBees - Sacha Labourey - May 2011

28

•  The cloud is the new platform •  By 2020, >80% of the computing load will take place

on public clouds –  You will not acquire software anymore " SaaS –  On-premise custom computing will be legacy:

•  slower, remote, less secure, less safe.

•  What will happen between now and 2020? –  Applications + Data must become the focus

•  Developers will lead the change (that’s you) –  Not your CIO –  Remember Open Source?

The Cloud – Weather Forecast

©2010 Cloud Bees, Inc. All Rights Reserved

Page 29: CloudBees - Sacha Labourey - May 2011

29

•  CloudBees Resources Page –  http://www.cloudbees.com/support.cb

•  Try DEV@Cloud & RUN@cloud for FREE –  https://grandcentral.cloudbees.com/account/signup

•  CloudBees Eclipse Plugin –  http://cloudbees.com/eclipse-plugin.cb

CloudBees Resources

©2011 CloudBees, Inc. All Rights Reserved