71
Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees, Inc. April 18, 2013 – PhillyJUG Photo credit: @romainguy ©2013 CloudBees, Inc. All Rights Reserved

Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

Embed Size (px)

Citation preview

Page 1: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

Next Generation Software Development:Continuous Cloud Deployment

@SachaLaboureyCEO, CloudBees, Inc.

April 18, 2013 – PhillyJUGPhoto credit: @romainguy

©2013 CloudBees, Inc. All Rights Reserved

Page 2: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

2

• Born in 1975 in Switzerland

• JBoss– Clustering lead – 2001– GM Europe - 2003– CTO - 2005

• Red Hat– JBoss acquisition in June 2006– co-GM of Red Hat’s middleware division– Left Red Hat in April 2009

• CloudBees– Started in April 2010– About 40 bees in 7 countries

Introduction – Sacha Labourey

©2013 CloudBees, Inc. All Rights Reserved

X

Page 3: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

3

• What’s the life of a developer today?• Challenges ahead…

– Ideal solution!• Cloud 101• Read my lips: SERVICE

– Software vs. Service– Continuous Cloud Delivery

• Reality Check• Quick demos

Agenda

©2013 CloudBees, Inc. All Rights Reserved

Page 4: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

Life of a Developer Today

©2013 CloudBees, Inc. All Rights Reserved

Page 5: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

5

• Release v1.0

• Gather requirements for v2.0 • Work on v2.0 • Release v2.0don’t screw it up: once it is out, it is out.

• Have your customer upgrade– Support v1.0 for years

• Support and patch dozen of “branches” in parallel

• Gather requirements for v3.0 • Work on v3.0

Typical Software Development

Mo

nth

s/Y

ears

Packaged Software

©2013 CloudBees, Inc. All Rights Reserved

Page 6: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

6

Developers vs. Sys Admins (aka Love Story)

Photo Credit: Joseph Viles/ The CW Photo Credit: http://www.sysadminday.com/people.html

©2013 CloudBees, Inc. All Rights Reserved

Page 7: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

7

M. Developer

Interests & Hobbies:• Give a try to the last framework• Put in the production application

the last shiny object seen at a conference

• Participate to the Scala vs. Ceylon debate, static vs. dynamic typing, etc.

• Dream of meeting with James Gosling

M. Sys Admin/ops

Interests and Hobbies:• Not to be beeped at 2am in the

morning• Not to be beeped at 4am in the

morning• Participate to the Debian vs. Fedora

vs. Ubuntu debate• Dream of meeting with Linus

Torvald

<sarcastic mode=“on” />

©2013 CloudBees, Inc. All Rights Reserved

Page 8: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

8

Development? Friction!

SourceCode

Managemnt

JenkinsContinuousIntegration

UnitTest

FunctionalTest

LoadTest

IntegrationTest

Developer

“Cloud you please provision a server for me?”

“Could I get X, Y and Z installed on that server?”

“Could you please patch my server?”

“Could I please get a database dump?”

Could I get a new Git server?

Where could I run my Jenkins integration tests?

IT

©2013 CloudBees, Inc. All Rights Reserved

Page 9: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

9

Deployment? Friction!

Configure OS Secure OS Setup JVM

Install AS on OS

Configure AS Secure AS

provision nodes

Install load-balancer (LB)

Configure LB

Secure LBSetup BC for cluster

QA cluster

Configure DNS

Provision node:

Provision cluster:

Provision node

Install DB Configure DB

Secure DBSetup BC for DB

Provision DB:

Provision cluster

Provision DBDeploy 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 FWValidate/QA stack

Measure App performance

Acquire Hardware

Provision node

Update Cluster Update LB

Metering/Scaling (recurring)

Update Security

©2013 CloudBees, Inc. All Rights Reserved

Page 10: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

10

Friction, friction, friction

provision nodes

Install load-balancer (LB) Configure LB

Secure LBSetup BC for cluster QA cluster

Configure DNS

Provision cluster:

Provision cluster

Provision DB Deploy schema

Deploy App to each node

Deploy App:

(not a transparent update process)

Configure OS Secure OS Setup JVM

Install AS on OS

Configure AS Secure AS

provision nodes

Install load-balancer (LB)

Configure LB

Secure LBSetup BC for cluster

QA cluster

Configure DNS

Provision node:

Provision cluster:

Provision node

Install DB Configure DB

Secure DBSetup BC for DB

Provision DB:

Provision cluster

Provision DBDeploy 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 FWValidate/QA stack

Measure App performance

Acquire Hardware

Provision node

Update Cluster Update LB

Metering/Scaling (recurring)

Update Security

©2013 CloudBees, Inc. All Rights Reserved

Page 11: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

11

Why do we do software development again?

©2013 CloudBees, Inc. All Rights Reserved

Page 12: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

12

To serve the BUSINESS obviously!

Business Needs

SpecificationImplementa-tion

Deployment

©2013 CloudBees, Inc. All Rights Reserved

Page 13: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

13

IT serves the BUSINESS?

Increase Revenues

Implement e-commerce site

JVM? Ruby? PHP? Java? Scala?Play? Groovy? Lift? Jruby? CFML? Grails? Spring? EE6?JBoss? Tomcat? Glassfish? Jetty? MySQL? MongoDB? CouchDB? Cassandra? JMS? AMQP? Memcache? Ehcache? Quartz? Lucene? Solr? Jquery? GWT? iPhone? Android? JIRA? Redmine? SVN? Git? Maven? Ant/Ivy? Jenkins? Artifactory/Nexus? etc.

AMD/Intel? HP? DELL? SPARC? UX? AWS? Linux? Windows? Solaris? RHEL? Ubuntu? Debian? Arch? EXT2/3? NFS/CIFS? Backup? Chef? Puppet? Continuous Deployment? Apache HTTPD? Mod_jk? Mod_proxy? Nginx? Haproxy? Firewall? SSL? Server provisioing? Load-balancing? Failover? Monitoring? Management? Alerting? Escalation procedure? etc.

15 seconds

2 weeks

18 months

©2013 CloudBees, Inc. All Rights Reserved

Page 14: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

14

14

Didn’t we simply ask him to build an e-commerce site?

Page 15: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

15

• Lots of FRICTION• Less time spent on

DELIVERING VALUE

And that’s about to get worse…

Software Development got Difficult

©2013 CloudBees, Inc. All Rights Reserved

Page 16: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

Challenges ahead!

©2013 CloudBees, Inc. All Rights Reserved

Page 17: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

17

• In parallel, demand for new needs are growing fast!– Mobile– Big Data– Social– Local– …

At the same time…

©2013 CloudBees, Inc. All Rights Reserved

Page 18: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

18

Entering the post-PC era

Thanks to Mary Meeker and Matt Murphy, From David Skok presentation @ MassTLC

©2013 CloudBees, Inc. All Rights Reserved

Page 19: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

19

19

Source: Mary Meeker , 2011, www.kpcb.com/internettrends2011

©2013 CloudBees, Inc. All Rights Reserved

Page 20: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

20

Small but big!

©2013 CloudBees, Inc. All Rights Reserved

Source: Mary Meeker , 2012, http://www.kpcb.com/insights/2012-internet-trends

Page 21: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

21

India just made the switch!

©2013 CloudBees, Inc. All Rights Reserved

Source: Mary Meeker , 2012, http://www.kpcb.com/insights/2012-internet-trends

Page 22: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

22

• Drivers are accelerating the need for NEW apps– Mobile, Mobile, Mobile, Social, Big Data, Etc.

• Time-to-market is more important than ever!– “I need it for yesterday!”– Can’t afford 18m cycles

Plus, you must be in DISCOVERY MODE(admit it: you don’t really know what’s needed!)

Drivers & Acceleration

©2013 CloudBees, Inc. All Rights Reserved

+

+Jav

a.lang

.Stack

Overfl

owErro

r

Page 23: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

23

• You are (t)asked– To do many more new applications– To deliver them much earlier– To deliver incremental changes very quickly– To measure whether what you are doing works– To scale quickly the few apps that will be successful– To have them interact with an increasing number of

different devices

… Yet, nothing else should change?

Impact

©2013 CloudBees, Inc. All Rights Reserved

Java.l

ang.St

ackOve

rflowE

rror

Page 24: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

Looking For a Solution?

©2013 CloudBees, Inc. All Rights Reserved

Page 25: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

25

• You should be able to EXPERIMENT• That means

– Get a first release out FAST (i.e. TTM)– TRY lots of different things (i.e. DISCOVERY)

• KEEP what works• KILL what doesn’t

– ITERATE FAST (i.e. GO GO G0)

Ideally…

©2013 CloudBees, Inc. All Rights Reserved

Page 26: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

26

• In theory, fast-iteration is great! But…

FAST_ITERATION + FRICTION => HEAT!

Not feasible in your current environment You need a no-friction environment

(hint: this is what the cloud is about)

“ Yes, but… ”

©2013 CloudBees, Inc. All Rights Reserved

Page 27: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

Cloud 101

XaaS

©2013 CloudBees, Inc. All Rights Reserved

Page 28: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

28

Traditional software stackWe have done this for 20 years!

©2013 CloudBees, Inc. All Rights Reserved

Server

Hypervisor

VM

AS

JVM

LB

Application

You

Page 29: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

29©2013 CloudBees, Inc. All Rights Reserved

Servers

OS

VM

AS

JVM

LB

ApplicationsCloud Computing: How to do it? Who does what?

Cloud Provider?

Page 30: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

30

Easy: « Just use a XaaS! »

©2013 CloudBees, Inc. All Rights Reserved

Page 31: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

31

• SalesForce.com, Zendesk, NetSuite, etc.• Focuses on recurring IT needs

– CRM, e-mail, ERP, etc.– Very quick setup, but very limited

customization– Not for developers

• THINK– Standard applications

SaaS

©2013 CloudBees, Inc. All Rights Reserved

Page 32: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

32

• AWS – the most popular example• Server Lego blocks

– servers, storage blocks, DNS, IP addresses, etc.• Development environment:

– You rebuild your stacks “in the cloud”– Flexible but cOmpLi CaTed

• THINK– Custom-built systems

IaaS

©2013 CloudBees, Inc. All Rights Reserved

Page 33: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

33

ü Directly managing your IaaS resources provides you with resource elasticity (CAPEX-free), but…

O The amount of soft-IT typically required to do so is … higher!– All of the traditional IT activities remain

(maintain/patch/monitor OS+JVM+AS+DB++, etc.)– + cloud-specific items: elasticity/security/automation

• I can read your mind: this is where you will start• My advice? Do it and then move on…

IaaS – Consequences

©2013 CloudBees, Inc. All Rights Reserved

Page 34: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

34

• Cloud concepts are applied to Applications– On-demand, pay-as-you-go, elasticity, etc.– No need to handle updates, patches, scalability, failover, etc.

• This is about APPLICATIONS– NOT about systems– NOT about OS, middleware, etc.– You focus on your app, the PaaS

orchestrates the underlyinginfrastructure so “it happens”

• THINK– CUSTOM APPLICATIONS

PaaS

©2013 CloudBees, Inc. All Rights Reserved

Page 35: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

And how using the Cloud will help me?

©2013 CloudBees, Inc. All Rights Reserved

Page 36: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

36

• We focus a lot on the P/I/S of XaaS• But not enough on the … S!

• We are entering a SERVICE-ERA– IaaS - You are CONSUMING IT resources– SaaS - You are CONSUMING an online Service– PaaS - You are CONSUMING development services

This is not about software anymore!

The Cloud is refocusing IT roles

©2013 CloudBees, Inc. All Rights Reserved

Page 37: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

37

• What’s the big difference?– They’re just a long series of 1 and 0 at the end of the day,

right?

• A Services is not just “hosted software”– i.e. take your current software, host it, and keep doing what

you’ve been doing to date

Software vs. Service

©2013 CloudBees, Inc. All Rights Reserved

Page 38: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

38

Software != Service

©2013 CloudBees, Inc. All Rights Reserved

Not the same …

[ requirement gathering | development |

QA |success measurement |

release | support ]

… processes

Page 39: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

39

Packaged Software vs Cloud Software Delivery

Development Methodology VariesBonus: “We use CI”

Unachievable without Continuous Integration and Continuous Delivery

©2013 CloudBees, Inc. All Rights Reserved

Page 40: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

40

• Release v1.0

• Gather requirements for v2.0 • Work on v2.0 • Release v2.0don’t screw it up: once it is out, it is out.

• Have your customer upgrade– Support v1.0 for years

• Support and patch dozen of “branches” in parallel

• Gather requirements for v3.0 • Work on v3.0

• Release v0.1• Implement micro-feature, deploy,

measure success, keep or kill • Implement micro-feature, deploy,

measure success, keep or kill • Patch a bug• Implement micro-feature, deploy,

measure success, keep or kill • Implement micro-feature, deploy,

measure success, keep or kill • Implement micro-feature, deploy,

measure success, keep or kill

To Be Or Not To Be…M

on

ths/

Yea

rs

Day

s/W

eeks

Packaged Software As-A-Service

©2013 CloudBees, Inc. All Rights Reserved

Page 41: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

41

Time

v1.0 Release

v2.0 Release

Time

v1.0.x ContinuousReleases

Risk/Cost

Risk/Cost

Packaged Software As-A-Service

Lower Risk and Cheap Experimentation

Same basic value prop as agile, but code is being released continuously

©2013 CloudBees, Inc. All Rights Reserved

Page 42: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

42

• Integrated & automated “pipeline”• Always be in a “release-ready” state

Continuous Cloud Delivery

©2013 CloudBees, Inc. All Rights Reserved

Code Build Test Stage Deploy

#Fail#Fail #Fail#Fail

Page 43: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

43

Complex Scenarios are possible!

43

SQE Job

Database Tests

Compliance Tests

Stress Tests

Developer Job

Developer Tests

Functional Tests

X-Team Tests

Security Tests

Access Tests

Production Job

Backup Production

Deploy

Monitor

Developer Org

QA Org

Production Org

Promote

Promote

©2013 CloudBees, Inc. All Rights Reserved

Page 44: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

44

• Your Code Your Service• Always be in a “deploy-ready state”

– This requires a NO-friction environment• Enables high-frequency iterations

– Code, test, deploy, measure, keep-or-kill

Continuous Cloud Delivery

©2013 CloudBees, Inc. All Rights Reserved

Page 45: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

Why am I telling you all of this?

Enter into the world of CloudBees!

©2012 Cloud Bees, Inc. All Rights Reserved

Page 46: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

46

The CloudBees Platform

cloudbees.com

Test

Stage

Build

Code

JenkinsExecutor

Fo

rg

e

Re

po

si

to

ri

es

Git

SVN

mvn

CloudBees API

Grand Central Web Console

SDK

SessionClustering

MySQL

Router

Application

PartnerEcosystem

©2013 CloudBees, Inc. All Rights Reserved

Code Test Stage Deploy ManageBuild

Develop Deploy

Iterate

Page 47: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

47

What You Interact With When You Use CloudBees

47

CLI/SDKGrandCentral Web

Console IDE

©2013 CloudBees, Inc. All Rights Reserved

Page 48: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

48©2013 CloudBees, Inc. All Rights Reserved

Integrated « add-ons » for DEV and RUN

Page 49: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

49©2013 CloudBees, Inc. All Rights Reserved

Flexible Deployments

cloudbees.com

Amazon - US

Amazon - EUR

AmazonVirtual Private CloudUS or EUR

HP Cloud ServicesOpenStack

• Fully integrated with Amazon AWS• Provided as a SERVICE, nothing for you to maintain/patch

SDK

Developers

EnterpriseDatacenter

Page 50: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

50

ClickStartsGet started in a snap!

©2013 CloudBees, Inc. All Rights Reserved

Page 51: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

51

ClickStacksReuse or create your own software stack

©2013 CloudBees, Inc. All Rights Reserved

CustomerManaged

CommunityManaged

CloudBeesCurated

Fork

Push Push Clone

Page 52: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

52

Development? No friction!

DeveloperCloudBees

PaaS

©2013 CloudBees, Inc. All Rights Reserved

Page 53: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

53

Deployment? No Friction!

Configure OS Secure OS Setup JVM

Install AS on OS Configure AS Secure AS

provision nodesInstall 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 care about servers, load-balancers, firewalls, backups, etc.

• The environment is constantly managed and monitored

• Scalability happens in realtime

• Integrated failover/HA

• We do « Ops », you do « Dev »

Deploy app to traditional Java platform Deploy app to CloudBees

DEPLOY

©2013 CloudBees, Inc. All Rights Reserved

Page 54: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

54

Value à la carte – NO FRICTION

OURYOUR TEAMYOUR PROJECT

©2013 CloudBees, Inc. All Rights Reserved

Page 55: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

55

Typical Mobile App with Java back-end

???CustomMobile

Back-end

Fast-IterationDiscovery

StableNO-discovery

©2013 CloudBees, Inc. All Rights Reserved

Page 56: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

56

Continuous Cloud Delivery at CloudBees

Jenkins Core

Jenkins Plugins

Staging

Production

Web Console

SDK

API

Identity

Provisioning

Monitoring

Messaging

Services Platform

Generic App Container

Database

Router

Curated Stack

Git

SVN

Forge

Unit Tests

StageCross Service Tests UAT Prod

As needed, multiple

times per day

©2013 CloudBees, Inc. All Rights Reserved

Page 57: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

Is this real?!?

©2013 Cloud Bees, Inc. All Rights Reserved

Page 58: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

58

• Lose it!– Mobile application– >> millions of users– > 30,000 transactions per minute, at peak time

• And… only 4 employees and …2 developers!– No IT, no servers, no DevOps– Complete focus on SOFTWARE DEVELOPMENT– Anything else is handled by CloudBees

• Unmatched productivity level!– This is possible TODAY– Will you wait for your competitors to shoot first?

Example: Lose it!

©2013 CloudBees, Inc. All Rights Reserved

Page 59: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

59

Yeah, but the cloud is just for startups!

0

2

4

6

8

10

12

Estimated Amazon Web Services Revenue ($B)

Source: Macquarie Capital; Morgan Stanley

©2013 CloudBees, Inc. All Rights Reserved

Page 60: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

60

… Or not!

0

2

4

6

8

10

12

Estimated Amazon Web Services Revenue ($B)

Source: Macquarie Capital; Morgan Stanley

88% CAGR(2009-2012)

FY12: VMW: $4.3B, RHT: $1.1B Dell Server, Storage, Networking: $11B

©2013 CloudBees, Inc. All Rights Reserved

Page 61: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

61

• This is « the industrialization of IT »• Went there, done that (many times):

« I am against the cloud »

Specialisation, standardisation, regulation, etc.

economy of scale, higher availability, etc.

… unstoppable!

©2013 CloudBees, Inc. All Rights Reserved

Page 62: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

First Demo• Complete Java Server Application…

• (Backbone.js front-end, REST back-end, DB)

• … with full lifecycle automation …• (Code, build, test, deploy)

• … and do it in a single click!

ClickStart

Page 63: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

63

cloudbees.com

What’s up with this new framework!

Get started in a snap! “ClickStart”

CloudBeesGit

Repo

Database

Build/Testdb:create

App

PartnerServicePartnerService

CloudBees API

Grand Central Web

Console

app:create

gi t cl one Jenkins job create

Bind

Bind

Trigger

Deploy

Wow! At yourservice

©2013 CloudBees, Inc. All rights reserved

Page 64: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

64

cloudbees.com

Continous Delivery at work

CloudBeesGit

Repo

Database

Build/Test

App

PartnerServicePartnerService

Bind

Bind

TriggerDeployI want to make some

changes!

Local GitRepo gi t cl one

gi

t

co

mm

it

gi t push

Ch

an

ge

s

Wow! At yourservice

©2013 CloudBees, Inc. All Rights Reserved

Page 65: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

#fail #fail #fail

Mobile!

Code Build App Test Beta

DeployGADeploy

• Get started fast!• Team Work• Automatically

push new code to test

#fail

• Build on several targets: iOS, Android, etc.

• If it fails, stop

• Test is costly!• Easy-frst, then

increase!• Basic test• Multi-device• Gesture• Etc.

• If it fails, stop

• Deploy in the feld on real users

• Gather input• Retrieve dumps• Etc.• If it fails, stop

• D-Day! • Push apps to

real-life users!• If it fails, stop

Page 66: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

Build Matrix• Testing mobile application requires testing on lots

of different devices, form factors, etc.

• Create one build job per form factor/generation?

• No!

• Jenkins Build Matrix!

Page 67: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

Jenkins Build Matrix

http://wiki.cloudbees.com/bin/view/DEV/Matrixed_Jenkins_Android_Builds

Page 68: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

So much more!

Page 69: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

Getting started• Lots of new things to learn!

• (delegation of trust, access to legacy data, latency, elasticity, iterativity, etc.)

• Identify an application

• Start small & Non-critical

• Focus on « Learning »

• And extend from there

• (and enjoy!)

Page 70: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

70

• We are entering a SERVICE-era• The Cloud == the commoditization of IT

– Read: it is inevitable• Packaged software is dead

– Too long cycles, no ability to measure, etc.• How can you remain competitive?

I’m ready to deploy! Are you?

TIME TO WAKE-UP!

©2013 CloudBees, Inc. All Rights Reserved

Page 71: Next Generation Software Development: Continuous Cloud Deployment · PDF file · 2013-04-18Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees,

Thank you

@SachaLabourey

“It is easier to ask forgiveness than it is to ask permission”-- Grace Hopper