SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
FROM CI TO
  CD&D

     LAVAJUG *
  NOVEMBER 8, 2012
TOC
 SOFTWARE CHALLENGES
CONTINUOUS INTEGRATION
CONTINUOUS DEPLOYMENT
   NATIVE PACKAGING
ABOUT ME - @HGOMEZ
           TODAY - CI ARCHITECT @ AXWAY *

        OPS HAT - FORMER SENIOR OPS DIRECTOR
   DEV HAT - FORMER DEV, TEAM LEADER AND ARCHITECT
            QA HAT - FORMER QA TECH LEADER

  JPACKAGE * , OBUILDFACTORY * AND DEVOPS INCUBATOR *
                     PROJECT FOUNDER
PROUD MEMBER OF ASF (TOMCAT * & XML-RPC* ) & OSSGTP *
TODAY SOFTWARE
      CHALLENGES
SOFTWARE PROJECTS ARE LARGER AND COMPLEX
MORE AND MORE COMPONENT INTEROPERABILITY
   MANY TEAMS AND OFTEN REMOTE TEAMS
            TIGHT SCHEDULES
FREQUENT NEEDS AND REQUIREMENTS CHANGES
EARLY AGES (PREHISTORIC)


    BUILD / RELEASE ON A “PER REQUEST” BASIS -> GO
        PROJECT IN PROPER STATE -> YES IT BUILD
WELL DOCUMENTED PER STANDARDS -> DOC IS NOT AN OPTION
    PROPERLY REVIEWED -> SOMEONE TESTED PRODUCT

              BUT IT FAILED TOO OFTEN ;(
THEN CAME AGILE
TOOLING NEEDED FOR AGILE
      STANDARDIZE BUILD, TEST AND DEPLOYMENT
 PROVIDE CONTINUOUS BUILDS, TEST AND DEPLOYMENT
ENSURES SOLID, REPRODUCIBLE AND ANALYZABLE STEPS
  VISIBLE TO ALL ACTORS (DEV, QA, PRODUCT OWNER)
AGILE IDEAL CYCLE :-)
CONTINUOUS INTEGRATION
"CONTINUOUS INTEGRATION IS THE PRACTICE OF INTEGRATING
    EARLY AND OFTEN, SO AS TO AVOID THE PITFALLS OF
                 INTEGRATION HELL".
GOAL
THE ULTIMATE GOAL IS TO REDUCE TIMELY REWORK AND THUS
                REDUCE COST AND TIME.

  WHEN DONE WELL, CONTINUOUS INTEGRATION HAS BEEN
          SHOWN TO ACHIEVE THESE GOALS.
WORKLOAD - HUMAN
TEAM MEMBERS WORK ON CODE
           CODE AND UNIT TESTS
  PUSH ON SCM AFTER LOCAL TESTS PASSED
WORKLOAD - MACHINE
   POLLS SCM AND CHECK OUT IF CHANGES
             BUILD ALL CODE
           RUN ALL UNIT TESTS
DEPLOY SNAPSHOTS TO ARTIFACTS REPOSITORY
WORKFLOW
CONTINUOUS INTEGRATION
        STEPS
         FETCH FROM SCM
            BUILD CODE
          RUN UNIT TESTS
      RUN INTEGRATION TESTS
        DEPLOY ARTIFACTS
      RUN ACCEPTANCE TESTS
        PRODUCE REPORTS
NOTES ABOUT TESTS



TESTS SHOULD COVERS A WIDE SCOPE FROM DEV UP TO
                   RUNTIME

                 UNIT TESTING
             INTEGRATION TESTING
             ACCEPTANCE TESTING
            PERFORMANCES TESTING
UNIT TESTING
                HERE WE TEST CODE
 ENSURES THE CODE IS DOING WHAT WE INTEND IT TO DO
      MANY EXTREMELY QUICK AND SMALL TESTS




UT ENSURE WE MAKE THE SOFTWARE
             RIGHT
INTEGRATION TESTING
 USED TO VALIDATE CONTRACTS BETWEEN PARTICIPANTS
  SHOULD BE PORTABLE (NOT PLATFORM DEPENDANTS)
"EXTERNAL COMPONENTS" SHOULD BE EMBEDDEDABLE OR
                     MOCKED




  IT ENSURE WE MAKE THE RIGHT
           SOFTWARE
ACCEPTANCE TESTING
                KEEP THEM SIMPLE
     REAL TARGET COMPONENTS SHOULD BE USED
 PREFER PRE-REQUISITE (DONT EMBED SQL DB ENGINES)
       DATASETS IN USE SHOULD BE MODERATE




PREPARE FOR PRODUCTION - ENROLL
           YOUR OPS
PERFORMANCE TESTING
   FIX QUICKLY PERFORMANCE REGRESSIONS
      PREPARE FOR CAPACITY PLANNING




PROTECT YOURSELF FROM IN-PROD
          DISCOVERY
CONTINUOUS DEPLOYMENT



CONTINUOUS DEPLOYMENT IS CONTINUOUS INTEGRATION ON
                    STEROIDS
BIG PICTURE




WELCOME TO OPS LAND
CONTINUOUS DEPLOYMENT
        FOR ?
             YOUR DEVS
              YOUR QAS
            YOUR SUPPORT
             YOUR SALES
    AND OF COURSE YOUR CUSTOMERS
ANY MAGIC RECIPES ?



     KEEP IT SIMPLE
   THINK COMPONENT
  ASSEMBLE THEM ALL !
LEGO MODE
         MANDATE COMPONENT APPROACH
               ASSEMBLE ARTIFACTS
        COMPONENTS ASSEMBLY GUIDELINES
TAKE SPECIAL CARE ON COMPONENTS CONFIGURATIONS
ASSEMBLE THEM ALL
          DEPLOY USABLE ARTIFACTS
READY TO USE BY UPSTREAM TEAMS LIKE QA-OPS
 SHOULD BE CONFIGURABLE FROM THE OUTSIDE
HEY, DON'T FORGET
CONTINUOUS DELIVERY !


    THERE IS CONTINUOUS DEPLOYMENT
  BUT DON'T FORGET CONTINUOUS DELIVERY
DELIVERY
         PROVIDE PRODUCT TO END USER
USER COULD THEN INSTALL OR UPDATE IT ON HIS OWN
                   SYSTEMS
DEPLOYMENT
       PROVIDE OPERATIONAL SOLUTION TO END USER
USER COULD DIRECTLY USE IT ON HIS OWN OR LEASED SYSTEMS
EXTERNAL APPROACH
   MANY GOOD PROVIDERS, CLOUD
             BASED
                    CLOUD BEES *
                      HEROKU *
                    OPENSHIFT *


BUT YOU MAY DON'T HAVE CHOICES AND HAD DO IT IN-HOUSE
IN-HOUSE APPROACH
        MATERIALIZE 3 CHAINS
                SOFTWARE FACTORY
                 QUALITY FACTORY
          DELIVERY&DEPLOYMENT FACTORY

AND DONT FORGET SERIOUS MONITORING FOR ALL OF THEM
SOFTWARE FACTORY
FROM SCM TO ARTIFACTS
            BUILD
          UNIT TESTS
      INTEGRATION TESTS
   CODE QA REPORTS (SONAR)
       DEPLOY ARTIFACTS
QUALITY FACTORY
FROM ARTIFACTS TO RUNTIME
         REPORTS
CONSUME ARTIFACTS FROM SOFTWARE FACTORY
         RUN ACCEPTANCE TESTS
      PERFORM PERFORMANCE TESTS
      PROVISION CAPACITY PLANNING
          REPORTS GENERATION
DELIVERY&DEPLOYMENT
        FACTORY
  FROM ARTIFACTS TO RUNNABLE
              BUILD NATIVE PACKAGES
        BUILD IMAGES (VMDK, AMI, DVD ISO)
       PROVIDE RUN INFRASTRUCTURE (INSITE)
INTERFACE TO RUN INFRASTRUCTURE (OFF-SITE/PUBLIC)
          CATALOG & PROVISION RUNTIMES
INTERACTIONS BETWEEN
      FACTORIES
INTERACTIONS
    SWF PRODUCES SOFTWARE MATERIALS
        QAF CONSUME SWF MATERIALS
    QAF GIVE 'GO FOR PRODUCTION' IN D&DF
  D&DF PROVIDES QAF RUN INFRASTRUCTURE
D&DF COULD PROVIDES DEV RUN INFRASTRUCTURE
TOOLING
       SCM : SUBVERSION, GIT, MERCURIAL (CVS SIC)
        ORCHESTRATION : JENKINS * (WHAT ELSE ?)
CONTENT REPOSITORIES : ARCHIVA * , ARTIFACTORY * , NEXUS * ,
                        HTTPD *
                  QUALITY : SONAR *
               RUN FORCE : JENKINS AGENTS
   RUN MIDDLEWARE : ESXI * , VIRTUALBOX * , VAGRANT * ,
               OPENSTACK * /CLOUDSTACK *
MONITORING : ZABBIX * , GRAPHITE * , COLLECTD * , JMXTRANS *
NATIVE PACKAGING
             WIDELY USED IN UNIX WORLD
           OS COMPONENTISATION APPROACH
            RUNTIME DEPENDENCIES AWARE
            POWERFUL LIFE-CYCLE SUPPORT
WEB BASED PACKAGES REPOSITORIES FOR MODERN DELIVERY
WIDELY USED IN UNIX
        WORLD
            YOUR OPS KNOWS THEM
       YOUR CUSTOMER OPS KNOWS THEM




AVOID "NOT INVENTED HERE SYNDROM", BRING MORE
                  CONFIDENCE
OS COMPONENTISATION
         APPROACH
YOUR APP SHOULD BE A COMPONENT LIKE THOSE BUNDLED BY
                          OS
          EASY TO MANAGE AS SYSTEM SERVICE
     TAKE CARE OF SYSTEM HABBIT (USER BY SERVICE)
RUNTIME DEPENDENCIES
          AWARE
      PROVIDES OR DEPENDS ON OTHERS OS PACKAGES
HELP SPLIT COMPLEX SOLUTIONS IN SET OF SIMPLE PACKAGES
INJECT SQL ENGINES, FRONT-ENDS CONFIGURATION VIA HOOKS
               PUPPET/CHEF MANAGEABLE
POWERFULL LIFE-CYCLE
     SUPPORT
            EASY INSTALLATION
               EASY UPDATE
              EASY REMOVAL
INTERACT WITH OTHER COMPONENTS LIFE-CYCLE
MODERN DELIVERY
  YUM, ZYPPER, APT ARE USING WEB BASED PACKAGES
                   REPOSITORIES
BUILD / PROVIDE YOUR OWN COMPANY WEB REPOSITORIES
 SAME SOURCE FOR YOUR DEV, QA, SUPPORT, SALES AND
                    CUSTOMERS
          100% CLOUD-READY WITHOUT EFFORT
SMART CD WITH JENKINS &
         RPM
      1.   BUILD (MAVEN)
      2.   PACKAGE (RPMBUILD)
      3.   UPDATE REPO
      4.   DEPLOY !
DEPLOYMENT STEPS IN
   PIPELINE VIEW


    DEMONSTRATION AT VIMEO
IN A NUTSHELL
       CONTINUOUS INTEGRATION MOTORIZE AGILITY
   THEN CAME CONTINUOUS DELIVERY AND DEPLOYMENT
        CONTINUOUS D&D COULD BE DONE IN HOUSE
CONSIDER NATIVE PACKAGING FOR CONTINUOUS DEPLOYMENT

Contenu connexe

Tendances

Creating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilCreating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilIBM UrbanCode Products
 
SaaS Operations Practice Overview SoftServe DevOps
SaaS Operations Practice Overview SoftServe DevOpsSaaS Operations Practice Overview SoftServe DevOps
SaaS Operations Practice Overview SoftServe DevOpsSoftServe
 
Strong practices for rails applications continuous delivery
Strong practices for rails applications continuous deliveryStrong practices for rails applications continuous delivery
Strong practices for rails applications continuous deliveryRobb Kidd
 
IBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile AppsIBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile AppsSanjeev Sharma
 
CI/CD Best Practices for Your DevOps Journey
CI/CD Best  Practices for Your DevOps JourneyCI/CD Best  Practices for Your DevOps Journey
CI/CD Best Practices for Your DevOps JourneyDevOps.com
 
Role of Pipelines in Continuous Delivery
Role of Pipelines in Continuous DeliveryRole of Pipelines in Continuous Delivery
Role of Pipelines in Continuous DeliveryMandi Walls
 
Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with Bluemix
Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with BluemixAdopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with Bluemix
Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with BluemixIBM UrbanCode Products
 
TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation IBM UrbanCode Products
 
Journée DevOps : De l'intégration continue au déploiement continu avec Jenkins
Journée DevOps : De l'intégration continue au déploiement continu avec JenkinsJournée DevOps : De l'intégration continue au déploiement continu avec Jenkins
Journée DevOps : De l'intégration continue au déploiement continu avec JenkinsPublicis Sapient Engineering
 
Agile DevOps Transformation At HUD (AgileDC 2017)
Agile DevOps Transformation At HUD (AgileDC 2017)Agile DevOps Transformation At HUD (AgileDC 2017)
Agile DevOps Transformation At HUD (AgileDC 2017)Marco Corona
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOpsAhmed Adel
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOpsEklove Mohan
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introductionSridhara T V
 
SD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
SD DevOps Meet-up - Exploring Quadrants of DevOps MaturitySD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
SD DevOps Meet-up - Exploring Quadrants of DevOps MaturityBrian Dawson
 

Tendances (20)

Creating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilCreating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't Evil
 
A True Story of Why QA Loves DevOps
A True Story of Why QA Loves DevOpsA True Story of Why QA Loves DevOps
A True Story of Why QA Loves DevOps
 
Provisioning & DevOps at Amis25
Provisioning & DevOps at Amis25Provisioning & DevOps at Amis25
Provisioning & DevOps at Amis25
 
SaaS Operations Practice Overview SoftServe DevOps
SaaS Operations Practice Overview SoftServe DevOpsSaaS Operations Practice Overview SoftServe DevOps
SaaS Operations Practice Overview SoftServe DevOps
 
Strong practices for rails applications continuous delivery
Strong practices for rails applications continuous deliveryStrong practices for rails applications continuous delivery
Strong practices for rails applications continuous delivery
 
IBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile AppsIBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile Apps
 
CI/CD Best Practices for Your DevOps Journey
CI/CD Best  Practices for Your DevOps JourneyCI/CD Best  Practices for Your DevOps Journey
CI/CD Best Practices for Your DevOps Journey
 
Role of Pipelines in Continuous Delivery
Role of Pipelines in Continuous DeliveryRole of Pipelines in Continuous Delivery
Role of Pipelines in Continuous Delivery
 
Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with Bluemix
Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with BluemixAdopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with Bluemix
Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with Bluemix
 
TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation
 
Journée DevOps : De l'intégration continue au déploiement continu avec Jenkins
Journée DevOps : De l'intégration continue au déploiement continu avec JenkinsJournée DevOps : De l'intégration continue au déploiement continu avec Jenkins
Journée DevOps : De l'intégration continue au déploiement continu avec Jenkins
 
Agile DevOps Transformation At HUD (AgileDC 2017)
Agile DevOps Transformation At HUD (AgileDC 2017)Agile DevOps Transformation At HUD (AgileDC 2017)
Agile DevOps Transformation At HUD (AgileDC 2017)
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
How to Build a DevOps Toolchain
How to Build a DevOps ToolchainHow to Build a DevOps Toolchain
How to Build a DevOps Toolchain
 
Dev ops
Dev opsDev ops
Dev ops
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
"DevOps > CI+CD "
"DevOps > CI+CD ""DevOps > CI+CD "
"DevOps > CI+CD "
 
SD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
SD DevOps Meet-up - Exploring Quadrants of DevOps MaturitySD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
SD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
 

Similaire à From ci to cd - LavaJug 2012

Agentless System Crawler - InterConnect 2016
Agentless System Crawler - InterConnect 2016Agentless System Crawler - InterConnect 2016
Agentless System Crawler - InterConnect 2016Canturk Isci
 
Serverless
ServerlessServerless
ServerlessScaleway
 
AzureDay Kyiv 2016 Release Management
AzureDay Kyiv 2016 Release ManagementAzureDay Kyiv 2016 Release Management
AzureDay Kyiv 2016 Release ManagementSergii Kryshtop
 
Product! - The road to production deployment
Product! - The road to production deploymentProduct! - The road to production deployment
Product! - The road to production deploymentFilippo Zanella
 
Delivery Engines: Software & Spaceflight
Delivery Engines: Software & SpaceflightDelivery Engines: Software & Spaceflight
Delivery Engines: Software & SpaceflightMax Lincoln
 
System Hardening Using Ansible
System Hardening Using AnsibleSystem Hardening Using Ansible
System Hardening Using AnsibleSonatype
 
Success Factors for a Mature Microservices Implementation
Success Factors for a Mature Microservices ImplementationSuccess Factors for a Mature Microservices Implementation
Success Factors for a Mature Microservices ImplementationDustin Ruehle
 
Full stack development best practice and toolset
Full stack development best practice and toolsetFull stack development best practice and toolset
Full stack development best practice and toolsetReid Lai
 
SoCal DevOps Meetup 1/26/2017 - Habitat by Chef
SoCal DevOps Meetup 1/26/2017 - Habitat by ChefSoCal DevOps Meetup 1/26/2017 - Habitat by Chef
SoCal DevOps Meetup 1/26/2017 - Habitat by ChefTrevor Hess
 
Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM
Práticas, Técnicas e Ferramentas para Continuous Delivery com ALMPráticas, Técnicas e Ferramentas para Continuous Delivery com ALM
Práticas, Técnicas e Ferramentas para Continuous Delivery com ALMMarcelo Sousa Ancelmo
 
AWS Sydney Summit 2013 - Continuous Deployment Practices, with Production, Te...
AWS Sydney Summit 2013 - Continuous Deployment Practices, with Production, Te...AWS Sydney Summit 2013 - Continuous Deployment Practices, with Production, Te...
AWS Sydney Summit 2013 - Continuous Deployment Practices, with Production, Te...Amazon Web Services
 
Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S...
 Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S... Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S...
Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S...Skytap Cloud
 
From Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOpsFrom Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOpsLuca Minudel
 
Building Evolvable Infrastructure
Building Evolvable InfrastructureBuilding Evolvable Infrastructure
Building Evolvable Infrastructurekiefdotcom
 
Anatomy of a Build Pipeline
Anatomy of a Build PipelineAnatomy of a Build Pipeline
Anatomy of a Build PipelineSamuel Brown
 
Building security from scratch
Building security from scratchBuilding security from scratch
Building security from scratchRoman Zelenko
 
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise ApplicationsDaniel Oh
 
Let's banish "it works on my machine"
Let's banish "it works on my machine"Let's banish "it works on my machine"
Let's banish "it works on my machine"Stephanie Locke
 
Stripes RJUG March 2012
Stripes RJUG March 2012Stripes RJUG March 2012
Stripes RJUG March 2012timstone
 

Similaire à From ci to cd - LavaJug 2012 (20)

Agentless System Crawler - InterConnect 2016
Agentless System Crawler - InterConnect 2016Agentless System Crawler - InterConnect 2016
Agentless System Crawler - InterConnect 2016
 
Serverless
ServerlessServerless
Serverless
 
AzureDay Kyiv 2016 Release Management
AzureDay Kyiv 2016 Release ManagementAzureDay Kyiv 2016 Release Management
AzureDay Kyiv 2016 Release Management
 
Product! - The road to production deployment
Product! - The road to production deploymentProduct! - The road to production deployment
Product! - The road to production deployment
 
Delivery Engines: Software & Spaceflight
Delivery Engines: Software & SpaceflightDelivery Engines: Software & Spaceflight
Delivery Engines: Software & Spaceflight
 
System Hardening Using Ansible
System Hardening Using AnsibleSystem Hardening Using Ansible
System Hardening Using Ansible
 
Success Factors for a Mature Microservices Implementation
Success Factors for a Mature Microservices ImplementationSuccess Factors for a Mature Microservices Implementation
Success Factors for a Mature Microservices Implementation
 
Full stack development best practice and toolset
Full stack development best practice and toolsetFull stack development best practice and toolset
Full stack development best practice and toolset
 
SoCal DevOps Meetup 1/26/2017 - Habitat by Chef
SoCal DevOps Meetup 1/26/2017 - Habitat by ChefSoCal DevOps Meetup 1/26/2017 - Habitat by Chef
SoCal DevOps Meetup 1/26/2017 - Habitat by Chef
 
Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM
Práticas, Técnicas e Ferramentas para Continuous Delivery com ALMPráticas, Técnicas e Ferramentas para Continuous Delivery com ALM
Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM
 
AWS Sydney Summit 2013 - Continuous Deployment Practices, with Production, Te...
AWS Sydney Summit 2013 - Continuous Deployment Practices, with Production, Te...AWS Sydney Summit 2013 - Continuous Deployment Practices, with Production, Te...
AWS Sydney Summit 2013 - Continuous Deployment Practices, with Production, Te...
 
Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S...
 Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S... Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S...
Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S...
 
From Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOpsFrom Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOps
 
Building Evolvable Infrastructure
Building Evolvable InfrastructureBuilding Evolvable Infrastructure
Building Evolvable Infrastructure
 
Anatomy of a Build Pipeline
Anatomy of a Build PipelineAnatomy of a Build Pipeline
Anatomy of a Build Pipeline
 
Building security from scratch
Building security from scratchBuilding security from scratch
Building security from scratch
 
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
 
Automation for the Humans
Automation for the HumansAutomation for the Humans
Automation for the Humans
 
Let's banish "it works on my machine"
Let's banish "it works on my machine"Let's banish "it works on my machine"
Let's banish "it works on my machine"
 
Stripes RJUG March 2012
Stripes RJUG March 2012Stripes RJUG March 2012
Stripes RJUG March 2012
 

Plus de Henri Gomez

SRE - Mythes et Réalités - Volcamp 2023.pdf
SRE - Mythes et Réalités - Volcamp 2023.pdfSRE - Mythes et Réalités - Volcamp 2023.pdf
SRE - Mythes et Réalités - Volcamp 2023.pdfHenri Gomez
 
20200225 bbl-docker-packaging-natif
20200225 bbl-docker-packaging-natif20200225 bbl-docker-packaging-natif
20200225 bbl-docker-packaging-natifHenri Gomez
 
Je s'appelle Glowroot - LyonJUG Oct 2018
Je s'appelle Glowroot - LyonJUG Oct 2018Je s'appelle Glowroot - LyonJUG Oct 2018
Je s'appelle Glowroot - LyonJUG Oct 2018Henri Gomez
 
Glowroot, le petit APM qui vous veut du bien
Glowroot, le petit APM qui vous veut du bienGlowroot, le petit APM qui vous veut du bien
Glowroot, le petit APM qui vous veut du bienHenri Gomez
 
Glowroot, le petit APM qui vous veut du bien
Glowroot, le petit APM qui vous veut du bienGlowroot, le petit APM qui vous veut du bien
Glowroot, le petit APM qui vous veut du bienHenri Gomez
 
Using Jenkins as Native Packages Factory - Jenkins User Conference Paris 2012
Using Jenkins as Native Packages Factory - Jenkins User Conference Paris 2012Using Jenkins as Native Packages Factory - Jenkins User Conference Paris 2012
Using Jenkins as Native Packages Factory - Jenkins User Conference Paris 2012Henri Gomez
 
20120110 paris jug-packaging-natif
20120110 paris jug-packaging-natif20120110 paris jug-packaging-natif
20120110 paris jug-packaging-natifHenri Gomez
 
20111220 lyon jug-packaging-natif
20111220 lyon jug-packaging-natif20111220 lyon jug-packaging-natif
20111220 lyon jug-packaging-natifHenri Gomez
 
20111220 lyon jug-devops-culture
20111220 lyon jug-devops-culture20111220 lyon jug-devops-culture
20111220 lyon jug-devops-cultureHenri Gomez
 
20111205 breizh jug-devops
20111205 breizh jug-devops20111205 breizh jug-devops
20111205 breizh jug-devopsHenri Gomez
 
20111205 breizh jug-packaging-natif
20111205 breizh jug-packaging-natif20111205 breizh jug-packaging-natif
20111205 breizh jug-packaging-natifHenri Gomez
 
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011Henri Gomez
 
DevOps - Retour d’expérience - AlpesJug du 20 Septembre 2011
DevOps - Retour d’expérience - AlpesJug du 20 Septembre 2011DevOps - Retour d’expérience - AlpesJug du 20 Septembre 2011
DevOps - Retour d’expérience - AlpesJug du 20 Septembre 2011Henri Gomez
 
DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011
DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011
DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011Henri Gomez
 
DevOps - Retour d'expérience - MarsJug du 29 Juin 2011
DevOps - Retour d'expérience - MarsJug du 29 Juin 2011DevOps - Retour d'expérience - MarsJug du 29 Juin 2011
DevOps - Retour d'expérience - MarsJug du 29 Juin 2011Henri Gomez
 

Plus de Henri Gomez (15)

SRE - Mythes et Réalités - Volcamp 2023.pdf
SRE - Mythes et Réalités - Volcamp 2023.pdfSRE - Mythes et Réalités - Volcamp 2023.pdf
SRE - Mythes et Réalités - Volcamp 2023.pdf
 
20200225 bbl-docker-packaging-natif
20200225 bbl-docker-packaging-natif20200225 bbl-docker-packaging-natif
20200225 bbl-docker-packaging-natif
 
Je s'appelle Glowroot - LyonJUG Oct 2018
Je s'appelle Glowroot - LyonJUG Oct 2018Je s'appelle Glowroot - LyonJUG Oct 2018
Je s'appelle Glowroot - LyonJUG Oct 2018
 
Glowroot, le petit APM qui vous veut du bien
Glowroot, le petit APM qui vous veut du bienGlowroot, le petit APM qui vous veut du bien
Glowroot, le petit APM qui vous veut du bien
 
Glowroot, le petit APM qui vous veut du bien
Glowroot, le petit APM qui vous veut du bienGlowroot, le petit APM qui vous veut du bien
Glowroot, le petit APM qui vous veut du bien
 
Using Jenkins as Native Packages Factory - Jenkins User Conference Paris 2012
Using Jenkins as Native Packages Factory - Jenkins User Conference Paris 2012Using Jenkins as Native Packages Factory - Jenkins User Conference Paris 2012
Using Jenkins as Native Packages Factory - Jenkins User Conference Paris 2012
 
20120110 paris jug-packaging-natif
20120110 paris jug-packaging-natif20120110 paris jug-packaging-natif
20120110 paris jug-packaging-natif
 
20111220 lyon jug-packaging-natif
20111220 lyon jug-packaging-natif20111220 lyon jug-packaging-natif
20111220 lyon jug-packaging-natif
 
20111220 lyon jug-devops-culture
20111220 lyon jug-devops-culture20111220 lyon jug-devops-culture
20111220 lyon jug-devops-culture
 
20111205 breizh jug-devops
20111205 breizh jug-devops20111205 breizh jug-devops
20111205 breizh jug-devops
 
20111205 breizh jug-packaging-natif
20111205 breizh jug-packaging-natif20111205 breizh jug-packaging-natif
20111205 breizh jug-packaging-natif
 
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011
 
DevOps - Retour d’expérience - AlpesJug du 20 Septembre 2011
DevOps - Retour d’expérience - AlpesJug du 20 Septembre 2011DevOps - Retour d’expérience - AlpesJug du 20 Septembre 2011
DevOps - Retour d’expérience - AlpesJug du 20 Septembre 2011
 
DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011
DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011
DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011
 
DevOps - Retour d'expérience - MarsJug du 29 Juin 2011
DevOps - Retour d'expérience - MarsJug du 29 Juin 2011DevOps - Retour d'expérience - MarsJug du 29 Juin 2011
DevOps - Retour d'expérience - MarsJug du 29 Juin 2011
 

Dernier

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 

Dernier (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

From ci to cd - LavaJug 2012

  • 1. FROM CI TO CD&D LAVAJUG * NOVEMBER 8, 2012
  • 2. TOC SOFTWARE CHALLENGES CONTINUOUS INTEGRATION CONTINUOUS DEPLOYMENT NATIVE PACKAGING
  • 3. ABOUT ME - @HGOMEZ TODAY - CI ARCHITECT @ AXWAY * OPS HAT - FORMER SENIOR OPS DIRECTOR DEV HAT - FORMER DEV, TEAM LEADER AND ARCHITECT QA HAT - FORMER QA TECH LEADER JPACKAGE * , OBUILDFACTORY * AND DEVOPS INCUBATOR * PROJECT FOUNDER PROUD MEMBER OF ASF (TOMCAT * & XML-RPC* ) & OSSGTP *
  • 4. TODAY SOFTWARE CHALLENGES SOFTWARE PROJECTS ARE LARGER AND COMPLEX MORE AND MORE COMPONENT INTEROPERABILITY MANY TEAMS AND OFTEN REMOTE TEAMS TIGHT SCHEDULES FREQUENT NEEDS AND REQUIREMENTS CHANGES
  • 5. EARLY AGES (PREHISTORIC) BUILD / RELEASE ON A “PER REQUEST” BASIS -> GO PROJECT IN PROPER STATE -> YES IT BUILD WELL DOCUMENTED PER STANDARDS -> DOC IS NOT AN OPTION PROPERLY REVIEWED -> SOMEONE TESTED PRODUCT BUT IT FAILED TOO OFTEN ;(
  • 7. TOOLING NEEDED FOR AGILE STANDARDIZE BUILD, TEST AND DEPLOYMENT PROVIDE CONTINUOUS BUILDS, TEST AND DEPLOYMENT ENSURES SOLID, REPRODUCIBLE AND ANALYZABLE STEPS VISIBLE TO ALL ACTORS (DEV, QA, PRODUCT OWNER)
  • 9. CONTINUOUS INTEGRATION "CONTINUOUS INTEGRATION IS THE PRACTICE OF INTEGRATING EARLY AND OFTEN, SO AS TO AVOID THE PITFALLS OF INTEGRATION HELL".
  • 10. GOAL THE ULTIMATE GOAL IS TO REDUCE TIMELY REWORK AND THUS REDUCE COST AND TIME. WHEN DONE WELL, CONTINUOUS INTEGRATION HAS BEEN SHOWN TO ACHIEVE THESE GOALS.
  • 11. WORKLOAD - HUMAN TEAM MEMBERS WORK ON CODE CODE AND UNIT TESTS PUSH ON SCM AFTER LOCAL TESTS PASSED
  • 12. WORKLOAD - MACHINE POLLS SCM AND CHECK OUT IF CHANGES BUILD ALL CODE RUN ALL UNIT TESTS DEPLOY SNAPSHOTS TO ARTIFACTS REPOSITORY
  • 14.
  • 15. CONTINUOUS INTEGRATION STEPS FETCH FROM SCM BUILD CODE RUN UNIT TESTS RUN INTEGRATION TESTS DEPLOY ARTIFACTS RUN ACCEPTANCE TESTS PRODUCE REPORTS
  • 16. NOTES ABOUT TESTS TESTS SHOULD COVERS A WIDE SCOPE FROM DEV UP TO RUNTIME UNIT TESTING INTEGRATION TESTING ACCEPTANCE TESTING PERFORMANCES TESTING
  • 17. UNIT TESTING HERE WE TEST CODE ENSURES THE CODE IS DOING WHAT WE INTEND IT TO DO MANY EXTREMELY QUICK AND SMALL TESTS UT ENSURE WE MAKE THE SOFTWARE RIGHT
  • 18. INTEGRATION TESTING USED TO VALIDATE CONTRACTS BETWEEN PARTICIPANTS SHOULD BE PORTABLE (NOT PLATFORM DEPENDANTS) "EXTERNAL COMPONENTS" SHOULD BE EMBEDDEDABLE OR MOCKED IT ENSURE WE MAKE THE RIGHT SOFTWARE
  • 19. ACCEPTANCE TESTING KEEP THEM SIMPLE REAL TARGET COMPONENTS SHOULD BE USED PREFER PRE-REQUISITE (DONT EMBED SQL DB ENGINES) DATASETS IN USE SHOULD BE MODERATE PREPARE FOR PRODUCTION - ENROLL YOUR OPS
  • 20. PERFORMANCE TESTING FIX QUICKLY PERFORMANCE REGRESSIONS PREPARE FOR CAPACITY PLANNING PROTECT YOURSELF FROM IN-PROD DISCOVERY
  • 21. CONTINUOUS DEPLOYMENT CONTINUOUS DEPLOYMENT IS CONTINUOUS INTEGRATION ON STEROIDS
  • 23. CONTINUOUS DEPLOYMENT FOR ? YOUR DEVS YOUR QAS YOUR SUPPORT YOUR SALES AND OF COURSE YOUR CUSTOMERS
  • 24. ANY MAGIC RECIPES ? KEEP IT SIMPLE THINK COMPONENT ASSEMBLE THEM ALL !
  • 25. LEGO MODE MANDATE COMPONENT APPROACH ASSEMBLE ARTIFACTS COMPONENTS ASSEMBLY GUIDELINES TAKE SPECIAL CARE ON COMPONENTS CONFIGURATIONS
  • 26. ASSEMBLE THEM ALL DEPLOY USABLE ARTIFACTS READY TO USE BY UPSTREAM TEAMS LIKE QA-OPS SHOULD BE CONFIGURABLE FROM THE OUTSIDE
  • 27. HEY, DON'T FORGET CONTINUOUS DELIVERY ! THERE IS CONTINUOUS DEPLOYMENT BUT DON'T FORGET CONTINUOUS DELIVERY
  • 28. DELIVERY PROVIDE PRODUCT TO END USER USER COULD THEN INSTALL OR UPDATE IT ON HIS OWN SYSTEMS
  • 29. DEPLOYMENT PROVIDE OPERATIONAL SOLUTION TO END USER USER COULD DIRECTLY USE IT ON HIS OWN OR LEASED SYSTEMS
  • 30. EXTERNAL APPROACH MANY GOOD PROVIDERS, CLOUD BASED CLOUD BEES * HEROKU * OPENSHIFT * BUT YOU MAY DON'T HAVE CHOICES AND HAD DO IT IN-HOUSE
  • 31. IN-HOUSE APPROACH MATERIALIZE 3 CHAINS SOFTWARE FACTORY QUALITY FACTORY DELIVERY&DEPLOYMENT FACTORY AND DONT FORGET SERIOUS MONITORING FOR ALL OF THEM
  • 32. SOFTWARE FACTORY FROM SCM TO ARTIFACTS BUILD UNIT TESTS INTEGRATION TESTS CODE QA REPORTS (SONAR) DEPLOY ARTIFACTS
  • 33. QUALITY FACTORY FROM ARTIFACTS TO RUNTIME REPORTS CONSUME ARTIFACTS FROM SOFTWARE FACTORY RUN ACCEPTANCE TESTS PERFORM PERFORMANCE TESTS PROVISION CAPACITY PLANNING REPORTS GENERATION
  • 34. DELIVERY&DEPLOYMENT FACTORY FROM ARTIFACTS TO RUNNABLE BUILD NATIVE PACKAGES BUILD IMAGES (VMDK, AMI, DVD ISO) PROVIDE RUN INFRASTRUCTURE (INSITE) INTERFACE TO RUN INFRASTRUCTURE (OFF-SITE/PUBLIC) CATALOG & PROVISION RUNTIMES
  • 35. INTERACTIONS BETWEEN FACTORIES
  • 36.
  • 37. INTERACTIONS SWF PRODUCES SOFTWARE MATERIALS QAF CONSUME SWF MATERIALS QAF GIVE 'GO FOR PRODUCTION' IN D&DF D&DF PROVIDES QAF RUN INFRASTRUCTURE D&DF COULD PROVIDES DEV RUN INFRASTRUCTURE
  • 38. TOOLING SCM : SUBVERSION, GIT, MERCURIAL (CVS SIC) ORCHESTRATION : JENKINS * (WHAT ELSE ?) CONTENT REPOSITORIES : ARCHIVA * , ARTIFACTORY * , NEXUS * , HTTPD * QUALITY : SONAR * RUN FORCE : JENKINS AGENTS RUN MIDDLEWARE : ESXI * , VIRTUALBOX * , VAGRANT * , OPENSTACK * /CLOUDSTACK * MONITORING : ZABBIX * , GRAPHITE * , COLLECTD * , JMXTRANS *
  • 39. NATIVE PACKAGING WIDELY USED IN UNIX WORLD OS COMPONENTISATION APPROACH RUNTIME DEPENDENCIES AWARE POWERFUL LIFE-CYCLE SUPPORT WEB BASED PACKAGES REPOSITORIES FOR MODERN DELIVERY
  • 40. WIDELY USED IN UNIX WORLD YOUR OPS KNOWS THEM YOUR CUSTOMER OPS KNOWS THEM AVOID "NOT INVENTED HERE SYNDROM", BRING MORE CONFIDENCE
  • 41. OS COMPONENTISATION APPROACH YOUR APP SHOULD BE A COMPONENT LIKE THOSE BUNDLED BY OS EASY TO MANAGE AS SYSTEM SERVICE TAKE CARE OF SYSTEM HABBIT (USER BY SERVICE)
  • 42. RUNTIME DEPENDENCIES AWARE PROVIDES OR DEPENDS ON OTHERS OS PACKAGES HELP SPLIT COMPLEX SOLUTIONS IN SET OF SIMPLE PACKAGES INJECT SQL ENGINES, FRONT-ENDS CONFIGURATION VIA HOOKS PUPPET/CHEF MANAGEABLE
  • 43. POWERFULL LIFE-CYCLE SUPPORT EASY INSTALLATION EASY UPDATE EASY REMOVAL INTERACT WITH OTHER COMPONENTS LIFE-CYCLE
  • 44. MODERN DELIVERY YUM, ZYPPER, APT ARE USING WEB BASED PACKAGES REPOSITORIES BUILD / PROVIDE YOUR OWN COMPANY WEB REPOSITORIES SAME SOURCE FOR YOUR DEV, QA, SUPPORT, SALES AND CUSTOMERS 100% CLOUD-READY WITHOUT EFFORT
  • 45. SMART CD WITH JENKINS & RPM 1. BUILD (MAVEN) 2. PACKAGE (RPMBUILD) 3. UPDATE REPO 4. DEPLOY !
  • 46. DEPLOYMENT STEPS IN PIPELINE VIEW DEMONSTRATION AT VIMEO
  • 47. IN A NUTSHELL CONTINUOUS INTEGRATION MOTORIZE AGILITY THEN CAME CONTINUOUS DELIVERY AND DEPLOYMENT CONTINUOUS D&D COULD BE DONE IN HOUSE CONSIDER NATIVE PACKAGING FOR CONTINUOUS DEPLOYMENT