Skip to main content
Taking your Applications to the Cloud
May 12th, 2011 – JUG Lausanne
Sacha Labourey
CEO, CloudBees

©2011 Cloud Bees, Inc. All Rights Reserved
Agenda
•  Cloud 101
•  Ways to run your apps in the cloud
•  The CloudBees Platform
–  RUN@cloud
–  DEV@cloud

•  Demo
•  Weather forecast

©2011 CloudBees, Inc. All Rights Reserved

2
Cloud 101
What does it mean for you?

©2011 Cloud Bees, Inc. All Rights Reserved
Traditional Software Stack
4%&*2%$3'
5$%-6'

!"#$%&&'

/01+%23'

()"*$)+'

,%$-.'

©2011 CloudBees, Inc. All Rights Reserved

4
Cloud Computing: Outsourcing headaches

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

!"#$%&&'

!"#$%&
'(#)*%+(&
/01+%23'

()"*$)+'

,%$-.'

©2011 CloudBees, Inc. All Rights Reserved

5
Cloud Services Market

,--,&

"Cloud computing is ondemand 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

.--,&
©2011 Cloud Bees, Inc. All Rights
Reserved

6
IaaS
•  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

©2011 CloudBees, Inc. All Rights Reserved

7
SaaS
•  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

©2011 CloudBees, Inc. All Rights Reserved

8
PaaS
•  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

©2011 CloudBees, Inc. All Rights Reserved

9
1st decision: IaaS, SaaS or PaaS?
!%%#'
7811&3'93-.")&)1*3#'

5%%#'
:)"#$+%*"32'

©2011 CloudBees, Inc. All Rights Reserved

,%%#'
;&3<*=&3'

10
2nd decision: what PaaS?
>5';&3<'*#'
#3+?3+@-3"$+*-'

A%#*-'
)+-.3#$+%B)"'
)C'DE5'=&)-6#'

Azure

Flexibility/
Compatibility
RHT
OShift

Beans
Talk

FG3$@)"@%@53+?3+H'
I*$.')"&J'K'L)+3'
-)"#$+%*"$#'

VMW
CF

50+*"1@-3"$+*-'
)M3+*"1H'C)-8#32'
)"'?:&)82'

IaaS-like

• 
• 
• 

74(@=%#32'
)M3+*"1'N#))"'OOP'
C8&&J'#3+?3+@
%1")#B-'

Cloud
Bees
>&23#$'5%%5@&*63'
)M3+*"1'=8$'I*$.'
&)$#')C'3"?F'
-)"#$+%*"$#'

GAE
SaaS-like

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
©2011 CloudBees, Inc. All Rights
Reserved

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

©2010 Cloud Bees, Inc. All Rights
Reserved
About CloudBees
Our Mission

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:&;#&.>:'

Strategy

!  ?@<A1"#$%'S':&)82'53+?*-3#'C)+'T3?3&)03+#'
!  BC;A1"#$%&D&;+*-B)"&3##'+8"BL3',%%5'C)+'7%?%'%00#'

©2011 Cloud Bees, Inc. All Rights
Reserved

13
The CloudBees Team
Proven team of developers and entrepreneurs
,-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[[]''

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

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

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#'

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

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

53"*)+'3"1*"33+'%$'X32'Y%$'
_3%2*"1'63J'7A)##@*"@$.3@-&)82'
0+)`3-$#'%$'X32'Y%$'

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#&

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

7A)##'aD'L%"%13+'%$'7A)##'%"2'
$.3"'X32'Y%$]'7%?%'O"$3+0+*#3'
T3?3&)03+'%$'T3=*<'

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)+'

,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'

/#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'

©2011 Cloud Bees, Inc. All Rights
Reserved

14
Why CloudBees is Better?
Deploy App to traditional Java platform

Deploy App to CloudBees

Deploy App:
" Provision cluster
Deploy App to each
node

Provision DB

Deploy schema

(not a transparent update process)

Provision cluster:
"provision nodes

Install loadbalancer (LB)

Secure LB

Setup BC for
cluster

QA cluster

" Provision node

Install DB

Configure DB

Secure DB

Setup BC for DB

DEPLOY

Configure LB

(transparent,
multi-version,
HA, scalable)

Configure DNS

Provision DB:

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

Provision node:
Configure OS

Secure OS

Setup JVM

Install AS on OS

Configure AS

Secure AS

Manage environment (recurring)
Analyse sec.
bulletins

Analyse QA
bulletins

Analyse AS/OS
logs

maintain OS

maintain JVM

maintain AS

maintain DB

maintain FW

Acquire Hardware

Provision node

Update Cluster

Update LB

•  Metering/scaling updated in real-time

Validate/QA stack

Measure App
performance

•  Environment constantly monitored,
managed and maintained

Update Security

•  Business Continuity built-in
•  We do Ops, you do Dev

Metering/Scaling (recurring)

©2011 CloudBees, Inc. All Rights Reserved

15
CloudBees Platform as a Service
?+)+"#54+92&
'(#P+120

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

&

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

&

TO4'

Test

&

X/G'

Continuous
Deployment

Y82#)"'

Build

Preproduction

JVM – Java EE
Java, Python, Scala, …

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

Testing

&

X30)#*$)+*3#'
U!9'

54G'

Production

(%?3"'

K'

Maintenance

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

Provisioning

Identity

Messaging

Management

Logging/
Auditing

Runtime services

Monitoring

Metering
Billing

Back-end services

Databases
Other SaaS
On Premise

&

!"#$%/++0&G%%Q90

Data Services

IaaS Providers (Public Cloud)

Private Cloud

©2011 CloudBees, Inc. All Rights Reserved

16
DEV@cloud
Deep Dive of CloudBees Developer Services

©2011 Cloud Bees, Inc. All Rights Reserved
Continuous Integration in the Cloud
I37&!#989$#$0&.92+L(-8#9R&
•  G)'2*#+80B)"'I.3"'-)23'-.%"13#'=+3%6'$.*"1#'
A8*&2':)23'

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

93#$':)23'

•  ,+)?*23#'-+*B-%&'L3$+*-#'%=)8$'23?3&)0L3"$'S'
W8%&*$JH'0+)28-B?*$JH'C8"-B)"%&'
:)"B"8)8#'
!"$31+%B)"'
73"6*"#eY82#)"'
()"*$)+'
X30)#*$)+*3#'

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

•  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'*$'

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

•  !"$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'

©2011 Cloud Bees, Inc. All Rights
Reserved

18
Continuous Integration – Jenkins/Hudson
;+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'

Jenkins/Hudson
Adoption, by Builds

Zjk[[['

Z[k[[['

ljk[[['

l[k[[['

/+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'

jk[[['

['

©2011 Cloud Bees, Inc. All Rights
Reserved

Source: Hudson Labs

19
CloudBees DEV@cloud Offering
Develop in the cloud, no IT setup:
•  Jenkins as a Service
•  Git, SVN and Maven repositories

DEV@cloud
Respositories
(Git, SVN

Build

Jenkins

Directly deploy onto CloudBees PaaS
•  Choose from CLI, HTTP API, Jenkins,
Maven, ANT and Eclipse.

Stage

Leverage PaaS resources in testing (MySQL)

Test

CloudBees
Core Platform Services

CloudBees
Partner
Add-ons
Integrated
Services

Static Code
analysis
Web UI testing

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

More to come…

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

Available now
Future

©2011 CloudBees, Inc. All Rights Reserved

20
RUN@cloud
Deep dive of CloudBees PaaS

©2011 Cloud Bees, Inc. All Rights Reserved
Current Features
•  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.

©2011 CloudBees, Inc. All Rights
Reserved

22
CloudBees RUN@cloud
RUN@cloud
Java EE

Spring

JRuby

CFML

Scala

…

…

JVM-based Application Server

Multi-tenancy

PaaS
Deployers

Dependency
Management

Scale-DUO

HighAvailability

Session
Management

Production

D?%*&%=&3'")I'
;8$8+3'

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'

©2011 CloudBees, Inc. All Rights Reserved

23
Continuous Deployment
• 
• 
• 
• 

:&)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'

©2011 CloudBees, Inc. All Rights
Reserved

24
CloudBees Demo
• 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"$#'
©2011 CloudBees, Inc. All Rights
Reserved

25
CloudBees: Basic Application Lifecycle

Elastic App
Elastic App
Elastic App
RUN@cloud
Deploy

Create

App Project

Run

Dev

Test

Local Dev Cycle

©2010 Cloud Bees, Inc. All Rights
Reserved

26
CloudBees: End-to-End Application Lifecycle

Source
Control

Hudson

Build/Test

Deploy

DEV@cloud

Elastic App
Elastic App
Elastic App
RUN@cloud

Push

App Project

©2010 Cloud Bees, Inc. All Rights
Reserved

27
The Cloud – Weather Forecast
•  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?

©2010 Cloud Bees, Inc. All Rights
Reserved

28
CloudBees Resources
•  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

©2011 CloudBees, Inc. All Rights Reserved

29