SlideShare a Scribd company logo
1 of 66
Next Generation Software
Development:
Continuous Cloud Deployment



 @SachaLabourey
 CEO, CloudBees, Inc.
                                       Photo credit: @romainguy
 March 20, 2013 – Silicon Valley JUG   ©2013 CloudBees, Inc. All Rights Reserved
Introduction – Sacha Labourey
       •   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 35 bees in 7 countries
                                                        X
                     ©2012 CloudBees, Inc. All Rights       2
                               Reserved
Agenda
•   What’s the life of a developer today?
•   Challenges ahead…
•   Solution!
•   Cloud 101
•   Read my lips: SERVICE
•   Quick demos




                   ©2012 CloudBees, Inc. All Rights   3
                             Reserved
Life of a Developer Today




            ©2013 CloudBees, Inc. All Rights Reserved
Typical Software Development
                               Packaged Software
                      •
       Months/Years
                          Release v1.0

                      •   Gather requirements for v2.0 
                      •   Work on v2.0 
                      •   Release v2.0
                           don’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 


                                ©2013 CloudBees, Inc. All rights      5
                                          reserved
Developers vs. Sys Admins (aka Love
Story)




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

                                                                                               6
<sarcastic mode=“on” />

          M. Developer                             M. Sys Admin/ops

Interests & Hobbies:                         Interests and Hobbies:
• Give a try to the last framework           • Not to be beeped at 2am in the
• Put in the production application              morning
    the last shiny object seen at a          • Not to be beeped at 4am in the
    conference                                   morning
• Participate to the Scala vs. Ceylon        • Participate to the Debian vs.
    debate, static vs. dynamic typing,           Fedora vs. Ubuntu debate
    etc.                                     • Dream of meeting with Linus
• Dream of meeting with James                    Torvald
    Gosling




                                         7                                      7
Development? Friction!
                                                                               Unit
                                                                               Test

                                                                                        Functional
                                                                                          Test


                                                       Source      Jenkins
                                                        Code     Continuous                    Load
                                                     Managemnt   Integration                   Test
Developer             IT

 “Cloud you please provision a server for me?”                                        Integration
“Could I get X, Y and Z installed on that server?”                                        Test

     “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?




                                                                                               8
Deployment? Friction!
Deploy App:
   Provision                                 Deploy
                      Provision DB
    cluster                                   schema
 Deploy App to
                      (not a transparent update process)
  each node
 Provision cluster:
  provision           Install load-
                                            Configure LB
   nodes              balancer (LB)
                      Setup BC for
   Secure LB                                 QA cluster
                         cluster
   Configure
     DNS
 Provision DB:
   Provision
                        Install DB          Configure DB
     node
                      Setup BC for
   Secure DB
                          DB
 Provision node:
  Configure OS         Secure OS             Setup JVM

  Install AS on
                      Configure AS           Secure AS
       OS
   Manage environment (recurring)
  Analyse sec.         Analyse QA             Analyse
    bulletins           bulletins            AS/OS logs

  maintain OS         maintain JVM          maintain AS

  maintain DB
                                            Validate/QA
                      maintain FW
                                               stack
Metering/Scaling (recurring)
  Measure App            Acquire              Provision
  performance           Hardware                node
    Update                                    Update
                       Update LB
    Cluster                                   Security




                                                           9
Friction, friction, friction
Deploy App:
   Provision                                 Deploy
    cluster
                      Provision DB
                                              schema            Deploy App:
 Deploy App to
                      (not a transparent update process)
  each node
 Provision cluster:
  provision           Install load-
                                            Configure LB
                                                                    Provision        Provision          Deploy
   nodes              balancer (LB)
                                                                     cluster             DB              schema
                      Setup BC for
   Secure LB                                 QA cluster
                         cluster
   Configure
     DNS                                                           Deploy App          (not a transparent update
 Provision DB:                                                    to each node                  process)
   Provision
                        Install DB          Configure DB
     node
                                                                Provision cluster:
                      Setup BC for
   Secure DB
                          DB
                                                                                     Install load-
 Provision node:                                                   provision                           Configure
  Configure OS         Secure OS             Setup JVM                                 balancer
                                                                    nodes                                  LB
                                                                                         (LB)
  Install AS on
                      Configure AS           Secure AS
       OS
   Manage environment (recurring)                                                    Setup BC for
                                                                    Secure LB                           QA cluster
  Analyse sec.         Analyse QA             Analyse                                   cluster
    bulletins           bulletins            AS/OS logs

  maintain OS         maintain JVM          maintain AS
                                                                    Configure
  maintain DB
                                            Validate/QA
                      maintain FW                                     DNS
                                               stack
Metering/Scaling (recurring)
  Measure App            Acquire              Provision
  performance           Hardware                node
    Update                                    Update
                       Update LB
    Cluster                                   Security




                                                           10                                                        10
Why do we do software development
again?




                  11                11
To serve the BUSINESS obviously!



Business                        Implementa-
           Specification                      Deployment
 Needs                              tion




                           12                          12
IT serves the BUSINESS?



                                  JVM? Ruby? PHP? Java?
                                                               AMD/Intel? HP? DELL? SPARC?
                                            Scala?
                                                                 UX? AWS? Linux? Windows?
                                 Play? Groovy? Lift? Jruby?
                                                               Solaris? RHEL? Ubuntu? Debian?
                                CFML? Grails? Spring? EE6?
              Implement          JBoss? Tomcat? Glassfish?
                                                                  Arch? EXT2/3? NFS/CIFS?

Increase                         Jetty? MySQL? MongoDB?
                                                                   Backup? Chef? Puppet?
                                                               Continuous Deployment? Apache
             e-commerce        CouchDB? Cassandra? JMS?
                                                                HTTPD? Mod_jk? Mod_proxy?
Revenues                       AMQP? Memcache? Ehcache?
                                                               Nginx? Haproxy? Firewall? SSL?
                 site          Quartz? Lucene? Solr? Jquery?
                               GWT? iPhone? Android? JIRA?
                                                                   Server provisioing? Load-
                                                               balancing? Failover? Monitoring?
                               Redmine? SVN? Git? Maven?
15 seconds                            Ant/Ivy? Jenkins?
                                                                    Management? Alerting?
                                                                  Escalation procedure? etc.
                                   Artifactory/Nexus? etc.
               2 weeks

                           
                                                      18 months


                               



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




    14                 14
Software Development got Difficult
• Lots of FRICTION
• Less time spent on
  DELIVERING VALUE



And that’s about to get worse…



              ©2013 CloudBees, Inc. All Rights   15
                        Reserved
Challenges ahead!




           ©2013 CloudBees, Inc. All Rights Reserved
At the same time…
• In parallel, demand for new needs are
  growing fast!
  – Mobile
  – Big Data
  – Social
  – Local
  –…




                                          17
Entering the post-PC era




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


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


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


20                                                                 20
Mobile Internet - 10x bigger!




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

                                                                                             21
Small but big!




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


                 ©2013 CloudBees, Inc. All Rights                                                                 22
                           Reserved
India just made the switch!




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


               ©2013 CloudBees, Inc. All Rights                                                                 23
                         Reserved
Drivers & Acceleration
• Drivers are accelerating the need for NEW
  applications
  – 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 DISCOVER MODE, since
      …You don’t really know what’s needed!
                       ©2012 CloudBees, Inc. All Rights   24
                                 Reserved
Impact
• 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?

                     ©2013 CloudBees, Inc. All Rights         25
                               Reserved
Looking For a Solution?




            ©2013 CloudBees, Inc. All Rights Reserved
Cloud 101
Read my lips: A-S A S-E-R-V-I-C-E




                 ©2013 CloudBees, Inc. All Rights Reserved
Easy: « Just use a XaaS! »




             ©2012 CloudBees, Inc. All Rights   28
                       Reserved
Traditional software stack
We have done this for 20 years!

                            validate           setup




                     update                       monitor



                                       Patch




    ©2012 CloudBees, Inc. All Rights                        29
              Reserved
Cloud Computing: How to do it? Who does what?


                                         Validate           setup


                                                Cloud
                                               Provider
                                  Update                       Monitor
                                                  ?
                                                    Patch




                 ©2012 CloudBees, Inc. All Rights                        30
                           Reserved
SaaS
• SalesForce.com, Zendesk, NetSuite, etc.
• Development environment
  – Rigid – mostly through CONFIGURATION
  – When available “development” takes place
    within the SaaS itself
• THINK
  – Standard applications



                ©2012 CloudBees, Inc. All Rights   31
                          Reserved
IaaS – Let’s try not to change too much…


                                                  SUN/HP/IBM/XYZ

          ?
                                                  AWS/Rackspace/etc.




Must probably be the same…

              ©2012 Cloud Bees, Inc. All Rights                    32
                        Reserved
IaaS
• AWS – the most popular example
• Server Lego blocks – VM, storage, IP, etc.
• Development environment:
  – “Give me a server, an OS, a virtualization layer,
    an application server, a firewall, a database, I’ll
    deal with it! And patch it. And monitor it. And…”
  – Flexible but cOmpLiCaTed
• THINK
  – Custom-built systems


                   ©2012 CloudBees, Inc. All Rights       33
                             Reserved
IaaS – Congratulations!




“Great” news: you have now become responsible for the data-center!

                        ©2012 Cloud Bees, Inc. All Rights       34
                                  Reserved
IaaS – Consequences
 Directly managing your IaaS resources provides
  you with resource elasticity (CAPEX-free), but…
 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…

                     ©2012 CloudBees, Inc. All Rights         35
                               Reserved
PaaS
• Cloud concepts are applied to Applications
  – On-demand, pay-as-you-go, elasticity, etc.
  – No need to handle updates, patches, scalability, failover, etc.
• Development environment
  – “Give me my typical development
    environment and manage everything
    else for me – servers, scalability, etc.”
• THINK
  – Custom applications
  – Harder to “grasp” initially




                        ©2012 CloudBees, Inc. All Rights              36
                                  Reserved
The Cloud is refocusing IT roles
• We focus a lot on the P/I/S on 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!




                     ©2012 CloudBees, Inc. All Rights   37
                               Reserved
Again: Looking For a Solution?
Read my lips: A-S A S-E-R-V-I-C-E




                 ©2013 CloudBees, Inc. All Rights Reserved
To Be Or Not To Be…
                      Packaged Software                                      As-A-Service
               •                                                         •




                                                            Days/Weeks
Months/Years




                   Release v1.0                                             Release v0.1
                                                                         •  Implement micro-feature,
               •   Gather requirements for v2.0                            deploy, measure success, keep
               •   Work on v2.0                                            or kill 
               •   Release v2.0                                           • Implement micro-feature,
                    don’t screw it up: once it is out, it is out.           deploy, measure success, keep
               •   Have your customer upgrade                               or kill 
                    – Support v1.0 for years                              • Patch a bug
               •   Support and patch dozen of                             • Implement micro-feature,
                   “branches” in parallel                                   deploy, measure success, keep
                                                                            or kill 
               •   Gather requirements for v3.0 
                                                                          • Implement micro-feature,
               •   Work on v3.0                                            deploy, measure success, keep
                                                                            or kill 
                                                                          • Implement micro-feature,
                                                                            deploy, measure success, keep
                                                   ©2013 CloudBees, Inc. All rights                     39
                                                                 reserved
                                                                            or kill 
Software vs. Service
• 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




                      ©2012 CloudBees, Inc. All Rights              40
                                Reserved
Software != Service
  Not the same …
   [ requirement gathering |
         development |
              QA |
     success measurement |
           release |
           support ]

                                … processes

              ©2012 CloudBees, Inc. All Rights   41
                        Reserved
Packaged Software vs Cloud Software
Delivery
 Version   • Shipped May
    1        2011



           Version         • Shipped May
                             2012
              2

                           Version         • Shipped May
                                             2013
                              3




  Development Methodology Varies                                Unachievable without Continuous
        Bonus: “We use CI”                                     Integration and Continuous Delivery



                                      ©2013 CloudBees, Inc. All rights                               42 42
                                                reserved
Lower Risk and Cheap Experimentation
      Packaged Software                           As-A-Service

                                              v1.0.x
          v1.0 v2.0                         Continuous
Ri            Release
         Release                         Ri Releases
sk/                                      sk/
Co                                       Co
st                                       st
                      Time                           Time
        Same basic value prop as agile, but code is being released
                             continuously

                                                                     43
Fast Iteration is good, but…
• In theory, fast-iteration is great! But…

 FAST_ITERATION + FRICTION => HEAT!


 You need a no-friction environment




                ©2012 CloudBees, Inc. All Rights   44
                          Reserved
Continuous Cloud Deployment

    Code   Build               Test                   Stage     Deploy
             #Fail                 #Fail                #Fail      #Fail




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




                   ©2012 CloudBees, Inc. All Rights                        45
                             Reserved
Complex Scenarios are possible!
      Developer Org
                Developer Tests


Developer Job   Functional Tests
                                   Security Tests
                 X-Team Tests
                                   Access Tests
                                                         QA Org
                                                             Database Tests


                                               SQE Job      Compliance Tests

                                                                                          Production Org
                                                               Stress Tests
                                                                                               Backup Production


                                                                              Production Job        Deploy


                                                                                          4        Monitor

                                                                                          6
                                    ©2012 CloudBees, Inc. All Rights                                         46
                                              Reserved
Continuous Cloud Deployment
• Your Code ~= Your Service
• Always be in a release-ready state
  – This requires a NO-friction environment
• Enables high-frequency iterations
  – Code, test, deploy, measure, keep-or-kill




                 ©2012 CloudBees, Inc. All Rights   47
                           Reserved
Why am I telling you all of this?
Enter into the world of CloudBees!




                   ©2012 Cloud Bees, Inc. All Rights Reserved
CloudBees Platform as a Service
         Development                                            SaaS Vendor              Enterprise User
           Projects                                             Applications              Applications


                          Test      DEV@ RUN@




                                                                                                                       CloudBees Ecosystem
               Deploy            Code
                                         Continuous                       JVM – Java EE
       Build        Jenkins              Deployment
                                                    Stage               Deploy
                                                                      Java, Python, Scala, …
                                                                                             Scale

                                                                           Production
                 Test            Build
                                                                           Maintenance
                 Repositories
         GIT     SVN      Maven      …
                                                               Iterate


                                                            APIs

                 CloudBees Core Platform Services




                                                                                                                   CloudBees Smart
                                                                                                                                             Databases
                                                                           Logging/           Runtime services
          Data Services          Messaging          Identity
                                                                           Auditing




                                                                                                                       Plugins
                                                                                                                                             Other SaaS
                                                                           Metering            Back-end services
           Provisioning          Management        Monitoring
                                                                            Billing
                                                                                                                                             On Premise




       Public Edition - IaaS Providers                                    Private Edition - On-Premise


                                                     ©2012 CloudBees, Inc.                                                                   49
                                                      All Rights Reserved
What You Interact With When You Use
CloudBees




CLI/SDK   GrandCentral Web Console                  IDE




                 ©2013 CloudBees, Inc. All rights         50 50
                           reserved
Development? No friction!




Developer
            CloudBees
               PaaS




                ©2012 CloudBees, Inc. All Rights   51
                          Reserved
Deployment? No Friction!
              Deploy app to traditional Java                                                Deploy app to CloudBees
                        platform
Deploy App:

    Provision cluster           Provision DB             Deploy schema

   Deploy App to each
                           (not a transparent update process)
          node
Provision cluster:
                                                                                                                 (transparent,
    provision nodes
                                 Install load-
                                balancer (LB)
                                                           Configure LB
                                                                                                  DEPLOY         multi-version,
                                                                                                                 HA, scalable)
                                 Setup BC for
       Secure LB                                             QA cluster
                                    cluster

     Configure DNS

Provision DB:                                                                     • No need to care about servers, load-
     Provision node              Install DB               Configure DB
                                                                                    balancers, firewalls, backups, etc.
       Secure DB               Setup BC for DB

Provision node:                                                                   • The environment is constantly managed
      Configure OS                Secure OS                 Setup JVM
                                                                                    and monitored
     Install AS on OS            Configure AS               Secure AS

Manage environment (recurring)
                                                                                  • Scalability happens in realtime
      Analyse sec.               Analyse QA               Analyse AS/OS
        bulletins                 bulletins                    logs               • Integrated failover/HA
       maintain OS              maintain JVM                maintain AS


       maintain DB               maintain FW             Validate/QA stack
                                                                                  • We do « Ops », you do « Dev »
Metering/Scaling (recurring)
      Measure App
                               Acquire Hardware            Provision node
      performance

     Update Cluster               Update LB               Update Security




                                                             ©2012 CloudBees, Inc. All Rights                                52
                                                                       Reserved
Value à la carte – NO FRICTION


         Deploy                           Code


            YOUR TEAM
             OUR
           YOUR PROJECT

          Test                            Build



             ©2012 CloudBees, Inc. All Rights     53
                       Reserved
Example: Lose it!
• 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?



                                                          54
Continuous Cloud Delivery at CloudBees
    Web Console

         API

        SDK
                                                               Staging
       Identity

    Provisioning

     Monitoring

     Messaging

  Services Platform
                         Unit
                                 Cross Service Tests   Stage   UAT   Prod
         Git             Tests
        SVN

       Forge

    Jenkins Core

   Jenkins Plugins
                         As needed,
Generic App Container
                        multiple times         Production
       Router

      Database
                          per day
   Curated Stack




                                                                            55
Typical Mobile App with Java back-end


                Custom
                  ???
                Mobile
               Back-end



       Fast-Iteration         Stable
        Discovery           NO-discovery

                                        56
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
Get started in a snap! “ClickStart”
                                                              cloudbees.com
                                                                                              Partner
                                                                                              Partner
                                                                                               Service
               Grand                                                                          Service
              Central
                Web
              Console

                                             db:create                  Database
               CloudBees                                                                      Bind
                  API
                                                                                     Bind


                                                                                                App



       What’s up with this                                                           Deploy
                                               CloudBees
                               Wow!                                     Build/Test              At your
        new framework!                             Git        Trigger
                                                  Repo                                          service




                           ©2013 CloudBees, Inc. All rights                                              58 58
                                     reserved
Continous Delivery at work
                                                        cloudbees.com
                                                                                       Partner
                                                                                       Partner
                                                                                        Service
                                                                                       Service



                  Local Git                                      Database
                    Repo                                                               Bind

                              git commit                                      Bind
                   Changes




                                                                                         App



 I want to make some                       CloudBees                          Deploy
                             Wow!                      Trigger   Build/Test              At your
       changes!                                Git
                                              Repo
                                                                                         service




                                                                                                  59
Mobile!
                        •   Build on several                              •   Deploy in the
                                                                                                          Deploy            Code
                            targets: iOS,                                     field on real users
                            Android, etc.                                 •   Gather input
                        •   If it fails, stop                             •   Retrieve dumps
                                                                          •   Etc.
                                                                          •   If it fails, stop             Test            Build




                                                                               Beta                         GA
                             Build
     Code                                               Test                   Deplo                       Deplo
                             App                                                 y                           y
                                    #fail                    #fail                     #fail                       #fail




•   Get started fast!                            •   Test is costly!                                •   D-Day!
•   Team Work                                    •   Easy-first, then                               •   Push apps to
•   Automatically                                    increase!                                          real-life users!
    push new code to                                     • Basic test                               •   If it fails, stop
    test                                                 • Multi-device
                                                         • Gesture
                                                         • Etc.
                                                 •   If it fails, stop
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!
Jenkins Build Matrix




 http://wiki.cloudbees.com/bin/view/DEV/Matrixed_Jenkins_Android_Builds
So much more!
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!)
TIME TO WAKE-UP!
• We are entering a SERVICE-era
• Packaged software is dead
  – Too long cycles, no ability to measure, etc.
• How can you remain competitive?

     I’m ready to deploy! Are you?



                 ©2012 CloudBees, Inc. All Rights   65
                           Reserved
Thank you




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


                       @SachaLabourey

More Related Content

What's hot

Mythbusting goes virtual What's new in vSphere 5.1
Mythbusting goes virtual   What's new in vSphere 5.1Mythbusting goes virtual   What's new in vSphere 5.1
Mythbusting goes virtual What's new in vSphere 5.1
Eric Sloof
 
V mware v sphere boot camp
V mware v sphere boot campV mware v sphere boot camp
V mware v sphere boot camp
bestip
 
Dell Crowbar and OpenStack at OSCON
Dell Crowbar and OpenStack at OSCONDell Crowbar and OpenStack at OSCON
Dell Crowbar and OpenStack at OSCON
Open Stack
 
Building Business Continuity Solutions With Hyper V
Building Business Continuity Solutions With Hyper VBuilding Business Continuity Solutions With Hyper V
Building Business Continuity Solutions With Hyper V
rsnarayanan
 
Dell openstack boston meetup dell crowbar and open stack
Dell openstack boston meetup   dell crowbar and open stackDell openstack boston meetup   dell crowbar and open stack
Dell openstack boston meetup dell crowbar and open stack
DellCloudEdge
 
Improve your Developer Experiece using the WAS Liberty Profile with JRebel
Improve your Developer Experiece using the WAS Liberty Profile with JRebel Improve your Developer Experiece using the WAS Liberty Profile with JRebel
Improve your Developer Experiece using the WAS Liberty Profile with JRebel
Anton Arhipov
 

What's hot (20)

Cloud Foundry Open Tour - London
Cloud Foundry Open Tour - LondonCloud Foundry Open Tour - London
Cloud Foundry Open Tour - London
 
VMware PEX Boot Camp - Reaching the Clouds with NetApp Integrations with VMwa...
VMware PEX Boot Camp - Reaching the Clouds with NetApp Integrations with VMwa...VMware PEX Boot Camp - Reaching the Clouds with NetApp Integrations with VMwa...
VMware PEX Boot Camp - Reaching the Clouds with NetApp Integrations with VMwa...
 
Mythbusting goes virtual What's new in vSphere 5.1
Mythbusting goes virtual   What's new in vSphere 5.1Mythbusting goes virtual   What's new in vSphere 5.1
Mythbusting goes virtual What's new in vSphere 5.1
 
Architecting a Private Cloud - Cloud Expo
Architecting a Private Cloud - Cloud ExpoArchitecting a Private Cloud - Cloud Expo
Architecting a Private Cloud - Cloud Expo
 
V mware v sphere boot camp
V mware v sphere boot campV mware v sphere boot camp
V mware v sphere boot camp
 
Dell Crowbar and OpenStack at OSCON
Dell Crowbar and OpenStack at OSCONDell Crowbar and OpenStack at OSCON
Dell Crowbar and OpenStack at OSCON
 
Building Business Continuity Solutions With Hyper V
Building Business Continuity Solutions With Hyper VBuilding Business Continuity Solutions With Hyper V
Building Business Continuity Solutions With Hyper V
 
Dell openstack boston meetup dell crowbar and open stack
Dell openstack boston meetup   dell crowbar and open stackDell openstack boston meetup   dell crowbar and open stack
Dell openstack boston meetup dell crowbar and open stack
 
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionBeyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
 
Improve your Developer Experiece using the WAS Liberty Profile with JRebel
Improve your Developer Experiece using the WAS Liberty Profile with JRebel Improve your Developer Experiece using the WAS Liberty Profile with JRebel
Improve your Developer Experiece using the WAS Liberty Profile with JRebel
 
Tim Cramer, Eucaday
Tim Cramer, EucadayTim Cramer, Eucaday
Tim Cramer, Eucaday
 
Continuous Deployment & Delivery + Culture Hacks @ QCON 2012
Continuous Deployment & Delivery + Culture Hacks @ QCON 2012Continuous Deployment & Delivery + Culture Hacks @ QCON 2012
Continuous Deployment & Delivery + Culture Hacks @ QCON 2012
 
Citrix Xs Update For Dataplex Nov 09
Citrix   Xs Update For Dataplex   Nov 09Citrix   Xs Update For Dataplex   Nov 09
Citrix Xs Update For Dataplex Nov 09
 
VMworld2011 Recap
VMworld2011 RecapVMworld2011 Recap
VMworld2011 Recap
 
Subversion Edge Overview
Subversion Edge OverviewSubversion Edge Overview
Subversion Edge Overview
 
Whipp q3 2008_sv
Whipp q3 2008_svWhipp q3 2008_sv
Whipp q3 2008_sv
 
Matching Your Costs to Your DAU: Thin Client Back-End Infrastructure Made Easy
Matching Your Costs to Your DAU: Thin Client Back-End Infrastructure Made EasyMatching Your Costs to Your DAU: Thin Client Back-End Infrastructure Made Easy
Matching Your Costs to Your DAU: Thin Client Back-End Infrastructure Made Easy
 
The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)
 
Integrating Novell Teaming within Your Existing Infrastructure
Integrating Novell Teaming within Your Existing InfrastructureIntegrating Novell Teaming within Your Existing Infrastructure
Integrating Novell Teaming within Your Existing Infrastructure
 
Scaling With Sun Systems For MySQL Jan09
Scaling With Sun Systems For MySQL Jan09Scaling With Sun Systems For MySQL Jan09
Scaling With Sun Systems For MySQL Jan09
 

Viewers also liked

Viewers also liked (14)

JUC Europe 2015: Configuration as Code: The Job DSL Plugin
JUC Europe 2015: Configuration as Code: The Job DSL PluginJUC Europe 2015: Configuration as Code: The Job DSL Plugin
JUC Europe 2015: Configuration as Code: The Job DSL Plugin
 
Getting Started Developing with Platform as a Service
Getting Started Developing with Platform as a ServiceGetting Started Developing with Platform as a Service
Getting Started Developing with Platform as a Service
 
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
 
Getting Started with Platform-as-a-Service
Getting Started with Platform-as-a-ServiceGetting Started with Platform-as-a-Service
Getting Started with Platform-as-a-Service
 
Just do it!
Just do it!Just do it!
Just do it!
 
JUC Europe 2015: A Reproducible Build Environment with Jenkins
JUC Europe 2015: A Reproducible Build Environment with JenkinsJUC Europe 2015: A Reproducible Build Environment with Jenkins
JUC Europe 2015: A Reproducible Build Environment with Jenkins
 
Mobile Application Testing in the Cloud - Oct 2012
Mobile Application Testing in the Cloud - Oct 2012Mobile Application Testing in the Cloud - Oct 2012
Mobile Application Testing in the Cloud - Oct 2012
 
JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...
JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...
JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...
 
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and MaintenanceJUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
 
JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...
JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...
JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...
 
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
 
Managing Software from Development to Deployment in the Cloud
Managing Software from Development to Deployment in the CloudManaging Software from Development to Deployment in the Cloud
Managing Software from Development to Deployment in the Cloud
 
JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)
JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)
JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)
 
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
 

Similar to Sv jug - mar 2013 - sl

Enterprise Java Virtualization, Sacha Labourey
Enterprise Java Virtualization, Sacha LaboureyEnterprise Java Virtualization, Sacha Labourey
Enterprise Java Virtualization, Sacha Labourey
OpenBlend society
 
Continuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and DeployitContinuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and Deployit
XebiaLabs
 
VMware - Snapshot sessions - Deploy and manage tomorrow's applications today
VMware - Snapshot sessions  - Deploy and manage tomorrow's applications todayVMware - Snapshot sessions  - Deploy and manage tomorrow's applications today
VMware - Snapshot sessions - Deploy and manage tomorrow's applications today
AnnSteyaert_vmware
 
Devoxx France 2013 Cloud Best Practices
Devoxx France 2013 Cloud Best PracticesDevoxx France 2013 Cloud Best Practices
Devoxx France 2013 Cloud Best Practices
Eric Bottard
 

Similar to Sv jug - mar 2013 - sl (20)

Spring, Java Web Apps to the cloud
Spring, Java Web Apps to the cloudSpring, Java Web Apps to the cloud
Spring, Java Web Apps to the cloud
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Enterprise Java Virtualization, Sacha Labourey
Enterprise Java Virtualization, Sacha LaboureyEnterprise Java Virtualization, Sacha Labourey
Enterprise Java Virtualization, Sacha Labourey
 
Continuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and DeployitContinuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and Deployit
 
VMware - Snapshot sessions - Deploy and manage tomorrow's applications today
VMware - Snapshot sessions  - Deploy and manage tomorrow's applications todayVMware - Snapshot sessions  - Deploy and manage tomorrow's applications today
VMware - Snapshot sessions - Deploy and manage tomorrow's applications today
 
Developing in the Cloud
Developing in the CloudDeveloping in the Cloud
Developing in the Cloud
 
Continuous Delivery in Java
Continuous Delivery in JavaContinuous Delivery in Java
Continuous Delivery in Java
 
Continuous delivery chernivcy
Continuous delivery chernivcyContinuous delivery chernivcy
Continuous delivery chernivcy
 
Continuous Delivery with Grails and CloudBees
Continuous Delivery with Grails and CloudBeesContinuous Delivery with Grails and CloudBees
Continuous Delivery with Grails and CloudBees
 
Pietro Di Bello, Paolo D'Incau - Continuous Delivery su progetti Java: cosa a...
Pietro Di Bello, Paolo D'Incau - Continuous Delivery su progetti Java: cosa a...Pietro Di Bello, Paolo D'Incau - Continuous Delivery su progetti Java: cosa a...
Pietro Di Bello, Paolo D'Incau - Continuous Delivery su progetti Java: cosa a...
 
Continuous Delivery su progetti Java: cosa abbiamo imparato facendoci del male
Continuous Delivery su progetti Java: cosa abbiamo imparato facendoci del maleContinuous Delivery su progetti Java: cosa abbiamo imparato facendoci del male
Continuous Delivery su progetti Java: cosa abbiamo imparato facendoci del male
 
2011 04-dsi-javaee-in-the-cloud-andreadis
2011 04-dsi-javaee-in-the-cloud-andreadis2011 04-dsi-javaee-in-the-cloud-andreadis
2011 04-dsi-javaee-in-the-cloud-andreadis
 
From Continuous Integration to Continuous Delivery with Jenkins - javaland.de...
From Continuous Integration to Continuous Delivery with Jenkins - javaland.de...From Continuous Integration to Continuous Delivery with Jenkins - javaland.de...
From Continuous Integration to Continuous Delivery with Jenkins - javaland.de...
 
DevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesDevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and Processes
 
Was liberty
Was libertyWas liberty
Was liberty
 
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
 
Devoxx France 2013 Cloud Best Practices
Devoxx France 2013 Cloud Best PracticesDevoxx France 2013 Cloud Best Practices
Devoxx France 2013 Cloud Best Practices
 
Can I Contain This?
Can I Contain This?Can I Contain This?
Can I Contain This?
 
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
 
Agile Software Development & Tools
Agile Software Development & ToolsAgile Software Development & Tools
Agile Software Development & Tools
 

More from CloudBees

Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014
CloudBees
 

More from CloudBees (20)

JUC Europe 2015: Scaling Your Jenkins Master with Docker
JUC Europe 2015: Scaling Your Jenkins Master with DockerJUC Europe 2015: Scaling Your Jenkins Master with Docker
JUC Europe 2015: Scaling Your Jenkins Master with Docker
 
JUC Europe 2015: Plugin Development with Gradle and Groovy
JUC Europe 2015: Plugin Development with Gradle and GroovyJUC Europe 2015: Plugin Development with Gradle and Groovy
JUC Europe 2015: Plugin Development with Gradle and Groovy
 
JUC Europe 2015: Jenkins Made Easy
JUC Europe 2015: Jenkins Made EasyJUC Europe 2015: Jenkins Made Easy
JUC Europe 2015: Jenkins Made Easy
 
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
 
JUC Europe 2015: Hey! What Did We Just Release?
JUC Europe 2015: Hey! What Did We Just Release?JUC Europe 2015: Hey! What Did We Just Release?
JUC Europe 2015: Hey! What Did We Just Release?
 
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data ProjectsJUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
 
JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...
JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...
JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...
 
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
JUC Europe 2015: Enabling Continuous Delivery for Major RetailersJUC Europe 2015: Enabling Continuous Delivery for Major Retailers
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
 
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
 
JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...
JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...
JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...
 
JUC Europe 2015: Evolving the Jenkins UI
JUC Europe 2015: Evolving the Jenkins UIJUC Europe 2015: Evolving the Jenkins UI
JUC Europe 2015: Evolving the Jenkins UI
 
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache MesosJUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
 
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
 
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
 
Pimp your jenkins platform with docker - Devops.com 2015/11
Pimp your jenkins platform with docker - Devops.com 2015/11Pimp your jenkins platform with docker - Devops.com 2015/11
Pimp your jenkins platform with docker - Devops.com 2015/11
 
Analyze This! CloudBees Jenkins Cluster Operations and Analytics
Analyze This! CloudBees Jenkins Cluster Operations and AnalyticsAnalyze This! CloudBees Jenkins Cluster Operations and Analytics
Analyze This! CloudBees Jenkins Cluster Operations and Analytics
 
Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014
 
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
 
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
 
Rethinking Application Design for the Cloud
Rethinking Application Design for the CloudRethinking Application Design for the Cloud
Rethinking Application Design for the Cloud
 

Sv jug - mar 2013 - sl

  • 1. Next Generation Software Development: Continuous Cloud Deployment @SachaLabourey CEO, CloudBees, Inc. Photo credit: @romainguy March 20, 2013 – Silicon Valley JUG ©2013 CloudBees, Inc. All Rights Reserved
  • 2. Introduction – Sacha Labourey • 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 35 bees in 7 countries X ©2012 CloudBees, Inc. All Rights 2 Reserved
  • 3. Agenda • What’s the life of a developer today? • Challenges ahead… • Solution! • Cloud 101 • Read my lips: SERVICE • Quick demos ©2012 CloudBees, Inc. All Rights 3 Reserved
  • 4. Life of a Developer Today ©2013 CloudBees, Inc. All Rights Reserved
  • 5. Typical Software Development Packaged Software • Months/Years Release v1.0 • Gather requirements for v2.0  • Work on v2.0  • Release v2.0 don’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  ©2013 CloudBees, Inc. All rights 5 reserved
  • 6. Developers vs. Sys Admins (aka Love Story) Photo Credit: Joseph Viles/ The CW Photo Credit: http://www.sysadminday.com/people.html 6
  • 7. <sarcastic mode=“on” /> M. Developer M. Sys Admin/ops Interests & Hobbies: Interests and Hobbies: • Give a try to the last framework • Not to be beeped at 2am in the • Put in the production application morning the last shiny object seen at a • Not to be beeped at 4am in the conference morning • Participate to the Scala vs. Ceylon • Participate to the Debian vs. debate, static vs. dynamic typing, Fedora vs. Ubuntu debate etc. • Dream of meeting with Linus • Dream of meeting with James Torvald Gosling 7 7
  • 8. Development? Friction! Unit Test Functional Test Source Jenkins Code Continuous Load Managemnt Integration Test Developer IT “Cloud you please provision a server for me?” Integration “Could I get X, Y and Z installed on that server?” Test “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? 8
  • 9. Deployment? Friction! Deploy App:  Provision Deploy Provision DB cluster schema Deploy App to (not a transparent update process) each node Provision cluster: provision Install load- Configure LB nodes balancer (LB) Setup BC for Secure LB QA cluster cluster Configure DNS Provision DB:  Provision Install DB Configure DB node Setup BC for Secure DB DB Provision node: Configure OS Secure OS Setup JVM Install AS on Configure AS Secure AS OS Manage environment (recurring) Analyse sec. Analyse QA Analyse bulletins bulletins AS/OS logs maintain OS maintain JVM maintain AS maintain DB Validate/QA maintain FW stack Metering/Scaling (recurring) Measure App Acquire Provision performance Hardware node Update Update Update LB Cluster Security 9
  • 10. Friction, friction, friction Deploy App:  Provision Deploy cluster Provision DB schema Deploy App: Deploy App to (not a transparent update process) each node Provision cluster: provision Install load- Configure LB  Provision Provision Deploy nodes balancer (LB) cluster DB schema Setup BC for Secure LB QA cluster cluster Configure DNS Deploy App (not a transparent update Provision DB: to each node process)  Provision Install DB Configure DB node Provision cluster: Setup BC for Secure DB DB Install load- Provision node: provision Configure Configure OS Secure OS Setup JVM balancer nodes LB (LB) Install AS on Configure AS Secure AS OS Manage environment (recurring) Setup BC for Secure LB QA cluster Analyse sec. Analyse QA Analyse cluster bulletins bulletins AS/OS logs maintain OS maintain JVM maintain AS Configure maintain DB Validate/QA maintain FW DNS stack Metering/Scaling (recurring) Measure App Acquire Provision performance Hardware node Update Update Update LB Cluster Security 10 10
  • 11. Why do we do software development again? 11 11
  • 12. To serve the BUSINESS obviously! Business Implementa- Specification Deployment Needs tion 12 12
  • 13. IT serves the BUSINESS? JVM? Ruby? PHP? Java? AMD/Intel? HP? DELL? SPARC? Scala? UX? AWS? Linux? Windows? Play? Groovy? Lift? Jruby? Solaris? RHEL? Ubuntu? Debian? CFML? Grails? Spring? EE6? Implement JBoss? Tomcat? Glassfish? Arch? EXT2/3? NFS/CIFS? Increase Jetty? MySQL? MongoDB? Backup? Chef? Puppet? Continuous Deployment? Apache e-commerce CouchDB? Cassandra? JMS? HTTPD? Mod_jk? Mod_proxy? Revenues AMQP? Memcache? Ehcache? Nginx? Haproxy? Firewall? SSL? site Quartz? Lucene? Solr? Jquery? GWT? iPhone? Android? JIRA? Server provisioing? Load- balancing? Failover? Monitoring? Redmine? SVN? Git? Maven? 15 seconds Ant/Ivy? Jenkins? Management? Alerting? Escalation procedure? etc. Artifactory/Nexus? etc. 2 weeks    18 months  13 13
  • 14. Didn’t we simply ask him to build an e- commerce site? 14 14
  • 15. Software Development got Difficult • Lots of FRICTION • Less time spent on DELIVERING VALUE And that’s about to get worse… ©2013 CloudBees, Inc. All Rights 15 Reserved
  • 16. Challenges ahead! ©2013 CloudBees, Inc. All Rights Reserved
  • 17. At the same time… • In parallel, demand for new needs are growing fast! – Mobile – Big Data – Social – Local –… 17
  • 18. Entering the post-PC era Thanks to Mary Meeker and Matt Murphy, From David Skok presentation @ MassTLC 18
  • 19. Source: Mary Meeker , 2011, www.kpcb.com/internettrends2011 19 19
  • 20. Source: Mary Meeker , 2011, www.kpcb.com/internettrends2011 20 20
  • 21. Mobile Internet - 10x bigger! Thanks to Mary Meeker and Matt Murphy, From David Skok presentation @ MassTLC 21
  • 22. Small but big! Source: Mary Meeker , 2012, http://www.kpcb.com/insights/2012-internet-trends ©2013 CloudBees, Inc. All Rights 22 Reserved
  • 23. India just made the switch! Source: Mary Meeker , 2012, http://www.kpcb.com/insights/2012-internet-trends ©2013 CloudBees, Inc. All Rights 23 Reserved
  • 24. Drivers & Acceleration • Drivers are accelerating the need for NEW applications – 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 DISCOVER MODE, since …You don’t really know what’s needed! ©2012 CloudBees, Inc. All Rights 24 Reserved
  • 25. Impact • 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? ©2013 CloudBees, Inc. All Rights 25 Reserved
  • 26. Looking For a Solution? ©2013 CloudBees, Inc. All Rights Reserved
  • 27. Cloud 101 Read my lips: A-S A S-E-R-V-I-C-E ©2013 CloudBees, Inc. All Rights Reserved
  • 28. Easy: « Just use a XaaS! » ©2012 CloudBees, Inc. All Rights 28 Reserved
  • 29. Traditional software stack We have done this for 20 years! validate setup update monitor Patch ©2012 CloudBees, Inc. All Rights 29 Reserved
  • 30. Cloud Computing: How to do it? Who does what? Validate setup Cloud Provider Update Monitor ? Patch ©2012 CloudBees, Inc. All Rights 30 Reserved
  • 31. SaaS • SalesForce.com, Zendesk, NetSuite, etc. • Development environment – Rigid – mostly through CONFIGURATION – When available “development” takes place within the SaaS itself • THINK – Standard applications ©2012 CloudBees, Inc. All Rights 31 Reserved
  • 32. IaaS – Let’s try not to change too much… SUN/HP/IBM/XYZ ? AWS/Rackspace/etc. Must probably be the same… ©2012 Cloud Bees, Inc. All Rights 32 Reserved
  • 33. IaaS • AWS – the most popular example • Server Lego blocks – VM, storage, IP, etc. • Development environment: – “Give me a server, an OS, a virtualization layer, an application server, a firewall, a database, I’ll deal with it! And patch it. And monitor it. And…” – Flexible but cOmpLiCaTed • THINK – Custom-built systems ©2012 CloudBees, Inc. All Rights 33 Reserved
  • 34. IaaS – Congratulations! “Great” news: you have now become responsible for the data-center! ©2012 Cloud Bees, Inc. All Rights 34 Reserved
  • 35. IaaS – Consequences  Directly managing your IaaS resources provides you with resource elasticity (CAPEX-free), but…  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… ©2012 CloudBees, Inc. All Rights 35 Reserved
  • 36. PaaS • Cloud concepts are applied to Applications – On-demand, pay-as-you-go, elasticity, etc. – No need to handle updates, patches, scalability, failover, etc. • Development environment – “Give me my typical development environment and manage everything else for me – servers, scalability, etc.” • THINK – Custom applications – Harder to “grasp” initially ©2012 CloudBees, Inc. All Rights 36 Reserved
  • 37. The Cloud is refocusing IT roles • We focus a lot on the P/I/S on 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! ©2012 CloudBees, Inc. All Rights 37 Reserved
  • 38. Again: Looking For a Solution? Read my lips: A-S A S-E-R-V-I-C-E ©2013 CloudBees, Inc. All Rights Reserved
  • 39. To Be Or Not To Be… Packaged Software As-A-Service • • Days/Weeks Months/Years Release v1.0 Release v0.1 • Implement micro-feature, • Gather requirements for v2.0  deploy, measure success, keep • Work on v2.0  or kill  • Release v2.0 • Implement micro-feature, don’t screw it up: once it is out, it is out. deploy, measure success, keep • Have your customer upgrade or kill  – Support v1.0 for years • Patch a bug • Support and patch dozen of • Implement micro-feature, “branches” in parallel deploy, measure success, keep or kill  • Gather requirements for v3.0  • Implement micro-feature, • Work on v3.0  deploy, measure success, keep or kill  • Implement micro-feature, deploy, measure success, keep ©2013 CloudBees, Inc. All rights 39 reserved or kill 
  • 40. Software vs. Service • 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 ©2012 CloudBees, Inc. All Rights 40 Reserved
  • 41. Software != Service Not the same … [ requirement gathering | development | QA | success measurement | release | support ] … processes ©2012 CloudBees, Inc. All Rights 41 Reserved
  • 42. Packaged Software vs Cloud Software Delivery Version • Shipped May 1 2011 Version • Shipped May 2012 2 Version • Shipped May 2013 3 Development Methodology Varies Unachievable without Continuous Bonus: “We use CI” Integration and Continuous Delivery ©2013 CloudBees, Inc. All rights 42 42 reserved
  • 43. Lower Risk and Cheap Experimentation Packaged Software As-A-Service v1.0.x v1.0 v2.0 Continuous Ri Release Release Ri Releases sk/ sk/ Co Co st st Time Time Same basic value prop as agile, but code is being released continuously 43
  • 44. Fast Iteration is good, but… • In theory, fast-iteration is great! But… FAST_ITERATION + FRICTION => HEAT!  You need a no-friction environment ©2012 CloudBees, Inc. All Rights 44 Reserved
  • 45. Continuous Cloud Deployment Code Build Test Stage Deploy #Fail #Fail #Fail #Fail • Integrated & automated “pipeline” • Always be in a “release-ready” state ©2012 CloudBees, Inc. All Rights 45 Reserved
  • 46. Complex Scenarios are possible! Developer Org Developer Tests Developer Job Functional Tests Security Tests X-Team Tests Access Tests QA Org Database Tests SQE Job Compliance Tests Production Org Stress Tests Backup Production Production Job Deploy 4 Monitor 6 ©2012 CloudBees, Inc. All Rights 46 Reserved
  • 47. Continuous Cloud Deployment • Your Code ~= Your Service • Always be in a release-ready state – This requires a NO-friction environment • Enables high-frequency iterations – Code, test, deploy, measure, keep-or-kill ©2012 CloudBees, Inc. All Rights 47 Reserved
  • 48. Why am I telling you all of this? Enter into the world of CloudBees! ©2012 Cloud Bees, Inc. All Rights Reserved
  • 49. CloudBees Platform as a Service Development SaaS Vendor Enterprise User Projects Applications Applications Test DEV@ RUN@ CloudBees Ecosystem Deploy Code Continuous JVM – Java EE Build Jenkins Deployment Stage Deploy Java, Python, Scala, … Scale Production Test Build Maintenance Repositories GIT SVN Maven … Iterate APIs CloudBees Core Platform Services CloudBees Smart Databases Logging/ Runtime services Data Services Messaging Identity Auditing Plugins Other SaaS Metering Back-end services Provisioning Management Monitoring Billing On Premise Public Edition - IaaS Providers Private Edition - On-Premise ©2012 CloudBees, Inc. 49 All Rights Reserved
  • 50. What You Interact With When You Use CloudBees CLI/SDK GrandCentral Web Console IDE ©2013 CloudBees, Inc. All rights 50 50 reserved
  • 51. Development? No friction! Developer CloudBees PaaS ©2012 CloudBees, Inc. All Rights 51 Reserved
  • 52. Deployment? No Friction! Deploy app to traditional Java Deploy app to CloudBees platform Deploy App:  Provision cluster Provision DB Deploy schema Deploy App to each (not a transparent update process) node Provision cluster: (transparent, provision nodes Install load- balancer (LB) Configure LB DEPLOY multi-version, HA, scalable) Setup BC for Secure LB QA cluster cluster Configure DNS Provision DB: • No need to care about servers, load-  Provision node Install DB Configure DB balancers, firewalls, backups, etc. Secure DB Setup BC for DB Provision node: • The environment is constantly managed Configure OS Secure OS Setup JVM and monitored Install AS on OS Configure AS Secure AS Manage environment (recurring) • Scalability happens in realtime Analyse sec. Analyse QA Analyse AS/OS bulletins bulletins logs • Integrated failover/HA maintain OS maintain JVM maintain AS maintain DB maintain FW Validate/QA stack • We do « Ops », you do « Dev » Metering/Scaling (recurring) Measure App Acquire Hardware Provision node performance Update Cluster Update LB Update Security ©2012 CloudBees, Inc. All Rights 52 Reserved
  • 53. Value à la carte – NO FRICTION Deploy Code YOUR TEAM OUR YOUR PROJECT Test Build ©2012 CloudBees, Inc. All Rights 53 Reserved
  • 54. Example: Lose it! • 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? 54
  • 55. Continuous Cloud Delivery at CloudBees Web Console API SDK Staging Identity Provisioning Monitoring Messaging Services Platform Unit Cross Service Tests Stage UAT Prod Git Tests SVN Forge Jenkins Core Jenkins Plugins As needed, Generic App Container multiple times Production Router Database per day Curated Stack 55
  • 56. Typical Mobile App with Java back-end Custom ??? Mobile Back-end Fast-Iteration Stable Discovery NO-discovery 56
  • 57. 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
  • 58. Get started in a snap! “ClickStart” cloudbees.com Partner Partner Service Grand Service Central Web Console db:create Database CloudBees Bind API Bind App What’s up with this Deploy CloudBees Wow! Build/Test At your new framework! Git Trigger Repo service ©2013 CloudBees, Inc. All rights 58 58 reserved
  • 59. Continous Delivery at work cloudbees.com Partner Partner Service Service Local Git Database Repo Bind git commit Bind Changes App I want to make some CloudBees Deploy Wow! Trigger Build/Test At your changes! Git Repo service 59
  • 60. Mobile! • Build on several • Deploy in the Deploy Code targets: iOS, field on real users Android, etc. • Gather input • If it fails, stop • Retrieve dumps • Etc. • If it fails, stop Test Build Beta GA Build Code Test Deplo Deplo App y y #fail #fail #fail #fail • Get started fast! • Test is costly! • D-Day! • Team Work • Easy-first, then • Push apps to • Automatically increase! real-life users! push new code to • Basic test • If it fails, stop test • Multi-device • Gesture • Etc. • If it fails, stop
  • 61. 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!
  • 62. Jenkins Build Matrix http://wiki.cloudbees.com/bin/view/DEV/Matrixed_Jenkins_Android_Builds
  • 64. 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!)
  • 65. TIME TO WAKE-UP! • We are entering a SERVICE-era • Packaged software is dead – Too long cycles, no ability to measure, etc. • How can you remain competitive? I’m ready to deploy! Are you? ©2012 CloudBees, Inc. All Rights 65 Reserved
  • 66. Thank you “It is easier to ask forgiveness than it is to ask permission” -- Grace Hopper @SachaLabourey

Editor's Notes

  1. STANDARDIZED OFFERINGCRITICAL MASSSERVICE