cloudbees - sacha labourey - may 2011
DESCRIPTION
CloudBees - Sacha Labourey - May 2011TRANSCRIPT
Taking your Applications to the Cloud
May 12th, 2011 – JUG Lausanne
Sacha Labourey CEO, CloudBees
©2011 Cloud Bees, Inc. All Rights Reserved
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
Cloud 101 What does it mean for you?
©2011 Cloud Bees, Inc. All Rights Reserved
4
Traditional Software Stack
©2011 CloudBees, Inc. All Rights Reserved
!"#$%&&'
()"*$)+'
,%$-.'
/01+%23'
4%&*2%$3'5$%-6'
5 ©2011 CloudBees, Inc. All Rights Reserved
!"#$%&&'
()"*$)+'
,%$-.'
/01+%23'
4%&*2%$3'5$%-6'
Cloud Computing: Outsourcing headaches
!"#$%&'(#)*%+(&
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
,--,&
'--,&
.--,&
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
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
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
10
1st decision: IaaS, SaaS or PaaS?
©2011 CloudBees, Inc. All Rights Reserved
!%%#'
7811&3'93-.")&)1*3#'
5%%#'
:)"#$+%*"32'
,%%#'
;&3<*=&3'
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'
-)"#$+%*"$#'
Why am I telling you all of this? Enter CloudBees’ world!
©2010 Cloud Bees, Inc. All Rights Reserved
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"+&!"#$%&-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#'
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
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
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
DEV@cloud Deep Dive of CloudBees Developer Services
©2011 Cloud Bees, Inc. All Rights Reserved
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&
19
/+9+S20&?@<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'
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
RUN@cloud Deep dive of CloudBees PaaS
©2011 Cloud Bees, Inc. All Rights Reserved
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
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'
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
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"$#'
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
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
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
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