Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

47
Emerasoft srl Mission Vision Market & Solutions Maria Chiara Ambrosio Gian Giacomo Ermacora

Transcript of Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

Page 1: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

•Emerasoft srl•Mission•Vision•Market & Solutions

Maria Chiara AmbrosioGian Giacomo Ermacora

Page 2: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

AgendaWebinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

OTTOBRE 2015

Image courtesy of digitalart at FreeDigitalPhotos.net

• Quali sono i driver del DevOps e della Continuous Delivery

• Cos’è la Continuous Delivery

• Le strategie di Continuous Delivery

• Continuous Delivery con CloudBees Jenkins Enterprise

• Q&A

Page 3: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

Chi siamo

Data di nascita: 2005

Dove siamo:

via Po, 1 – Torino via del Poggio Laurentino, 118 - Roma

Creare valore per i nostri clienti implementando soluzioni

che aumentano la produttività, facilitando la collaborazione.

La nostra mission:

Page 4: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

Alcuni clienti

Page 5: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

DevOpsIoT

System & Software Engineering

Testing

ALM

SOAProcess Intelligence

Business Intelligence

Security

Digital Publishing

Training

ALM+PLMtraceability

standard compliance

collaboration

Big Data

BYOD

User Experience

QualityEnterprise Mobility

agileIoD

IoH

Usability

APIBPM

Continuous Delivery Continuous Integration

Page 6: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

DevOpsIoT

System & Software Engineering

Testing

ALM

SOAProcess Intelligence

Business Intelligence

Security

Digital Publishing

Training

ALM+PLMtraceability

standard compliance

collaboration

Big Data

BYOD

User Experience

QualityEnterprise Mobility

agileIoD

IoH

Usability

APIBPM

Continuous Delivery Continuous Integration

Page 7: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

PRESSIONI MERCATO Qualità

Page 8: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

REQUISITI PROCESSI

ATTIVITÁ COLLABORAZIONE

Page 9: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

DevOps

Continuous Delivery

Continuous Integration

Automatisation ContinuousAcceleration

Page 10: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

“Software is eating the world.”

“Every business is in the software business.”

“It’s anapplication economy.”

Page 11: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

11Photo courtesy of Bill Abbott via Flickr

Page 12: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

12Photo courtesy of Naddsy via Flickr

Page 13: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

13Photo courtesy of Steve Jurvetson via Flickr

Page 14: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

How does software help you achieve your goals?

Revenue?

Mission?

Customer Satisfaction?

Market Share?

Shareholder Value?

Compliance?

Productivity?

Efficiency?

Page 15: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

How Do You Deliver Better Software Faster?

ProdDev

Page 16: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

How Do You Deliver Better Software Faster?

“DevOps” Has Great Promise

Dev Ops

“DevOps is a software development method that stresses communication, collaboration and integration between software developers and information technology (IT) professionals.”[1]

[1] http://en.wikipedia.org/wiki/DevOps

Page 17: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

How Do You Deliver Better Software Faster?

“DevOps” Has Great Promise

But You Can’t “Do” DevOps. DevOps a cultural outcome.

Dev Ops

“DevOps is a software development method that stresses communication, collaboration and integration between software developers and information technology (IT) professionals.”[1]

[1] http://en.wikipedia.org/wiki/DevOps

Page 18: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

You Can “Do” Continuous Delivery

Continuous Delivery = The application of automation and orchestration technologies and principles of Lean Manufacturing to the software delivery lifecycle.

Continuous Delivery (CD) becomes the foundation for a DevOps transformation.

Page 19: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

So, How do you “Do” Continuous Delivery?

Page 20: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

20

Automation is the Key

Photo courtesy of Steve Jurvetson via Flickr

Page 21: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

Continuous Delivery (CD) Applies Automation to the Application Lifecycle

ProdDev

Feedback Loop

BuildCommit Test Stage Deplo

y

Page 22: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

CD Starts with Continuous Integration (CI): Automating Application Build and Test

Continuous Integration

Automation Engine

Developer

Source Code

Control System

Compile/Build

Code Scan TestsCode

Commit

Results Report

BuildCommit Test ProdDev

Page 23: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

CD Then Extends Automation Across the Lifecycle

Automation Engine

Developer

Source Code

Control System

Compile/Build

Code Scan TestsCode

Commit

Results Report

BuildCommit Test Stage Deplo

y

Deploy Prod

Deploy Stage

Complex Delivery Pipelines

Delivery of App and Config

Enterprise-grade CD Automation Platform

Continuous Delivery

ProdDev

Page 24: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

Both CI and CD extend the Agile software development methodology to allow small, incremental software changes to

be made available for delivery continuously.

Faster Feature Delivery

Lower Risk from Failure

Lower Error Rate in Production

Happier Customers

Page 25: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

CD Involves Creating Pipelines for Application Code

BuildCommit Test Stage Deplo

y

Continuous Delivery

ProdDev

BuildCommit Test Stage Deplo

y

BuildCommit Test Stage Deplo

y

BuildCommit Test Stage Deplo

y

Developer

Source Code

Control System

CodeCommit

Page 26: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

Executing, Monitoring, and Providing Feedback

BuildCommit Test Stage Deplo

y

Continuous Delivery

ProdDev

BuildCommit Test Stage Deplo

y

BuildCommit Test Stage Deplo

y

BuildCommit Test Stage Deplo

y

Developer

Source Code

Control System

CodeCommit

Page 27: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

An Example Pipeline Workflow View

Continuous Delivery

ProdDev

Developer

Source Code

Control System

CodeCommit

Page 28: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

What are some strategies for Continuous Delivery?

Page 29: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

The Continuum of Strategies for Continuous Delivery

Continuous Delivery - Enabling organizations to roll-out frequent updates of applications to address business needs while minimizing risk of disruptions.

Application delivery is a spectrum… Where are you on it?

Manual Delivery

Basic AutomatedDelivery

Blue-GreenDelivery

DynamicDelivery

Page 30: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

Delivery Strategies: Manual Delivery

Approach• Build an app package with

latest updates– Perhaps via a CI process

• Deployments are rollups of small and large changes

• Use a maintenance window to turn app off during upgrade

• Staff pushes app updates onto live servers from their own machines

Risks• Time to delivery

– Are you getting enhancements deployed regularly?

• Integrity– How do you know what got

pushed and where it came from?

• Reproducibility– How if you need to reproduce

this version later, how can you do it?

• Reliability– Humans are involved, so

mistakes will (eventually) happen

My developers are pushing things live from their boxes – I’m terrified all the time

Page 31: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

Delivery Strategies: Basic Automated Delivery

Approach• Use a CI system for building

and testing packages– Jenkins

• Use a maintenance window to turn app off during upgrade

• Use automation scripts to update primary application environment– Chef, Puppet or custom

scripts

Advantages• Deploy faster and with better

reliability and repeatability Considerations• History - How do you track what

got pushed and where it came from?

• Verification - How do you know the application is working properly?

• Disruption - How long are apps down for maintenance?

• Rollbacks - How do you revert back to a known working version?

We’ve automated our deployments, but we struggle with downtime and rollbacks

Page 32: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

Delivery Strategies: Blue-Green Delivery

Approach• Avoid maintenance windows by

maintaining separate primary and secondary app environments

• Use automation to upgrade secondary environment

• After verification, secondary is promoted to primary

• Old primary is demoted to secondary

– stays around as last-known-good environment

Advantages• Seamless updates with

verifications• Rollbacks are simple

– just switch the primary back to the secondary

Considerations• History - How do you track what

got pushed and where it came from?

• Maintenance – How do keep two long-running app environments up and stable?

Our delivery is automated and supports pushing + verifying deployments to long-running environments with easy rollbacks

Page 33: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

Delivery Strategies: Dynamic Delivery

Approach• Use CI to produce app

packages• Provision new application

environment as part of delivery

• Run verification tests against the new environment

• Promote the new environment to become the primary environment

Advantages• Seamless updates with

verifications• Rollbacks are simple – just

switch the primary back to the secondary

• Reliably reproducible app environment

Considerations• History - How do you track what

got pushed and where it came from?

• Requires cloud-like provisioning layer

Our delivery is automated end-to-end, including setting up new Cloud environments or using Configuration-in-Code and full verification before changes go live

Page 34: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

Continuous Delivery with CloudBees Jenkins Enterprise

Page 35: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

Jenkins is the #1 Automation Platform Used for CI

Continuous Integration

Developer

Source Code

Control System

Compile/Build

Code Scan TestsCode

Commit

Results Report

BuildCommit Test

Page 36: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

Now, Jenkins Workflow and Workflow Stage View Enable Full Continuous Delivery

Continuous Delivery

ProdDev

Developer

Source Code

Control System

CodeCommit

Page 37: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

Jenkins is Your Key to Continuous Delivery

Developer

Source Code

Control System

Compile/Build

Code Scan TestsCode

Commit

Results Report

BuildCommit Test Stage Deplo

y

Deploy Prod

Deploy Stage

Continuous Delivery

ProdDev

Complex Delivery Pipelines

Delivery of App and Config

Page 38: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

CloudBees Enables Jenkins at Enterprise Scale

CloudBees Jenkins Enterprise…the Proven Continuous Delivery Solution

Page 39: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

Over 1000 Jenkins Plugins for Tool Integration

Integrated Development Environments (IDEs), editors/compilers/debuggers, code review and collaboration tools.

Source code control systems and related asset management tools.

Continuous integration tools (included)

Automated API-based testing frameworks.

Release management and release automation software

Automated API-based testing frameworks, static code analysis tools.

Load Testing Tools and Security Scanning technology

Automated and manual UAT tools

Release management, release automation, and change control software.

Environment and Configuration Management Software

Develop

Deliver

Build & Integrate

Unit TestsRelease(to Test)

AutomatedAcceptance & Regression Tests

Release(to Prod)

User Acceptance Tests

Load & Security Tests

Page 40: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

Jenkins is the Most Connected CD Platform

On-premise or in the cloud

Plug-ins for all your tools

RunDeployStageTestBuildCommi

t

Page 41: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

How Can CloudBees Jenkins Enterprise Help with Your CD Strategy?

Jenkins WorkflowCreated by CloudBees to provide Jenkins with a way to define flexible delivery pipelines that allow for a rich set of new delivery scenarios

Deployment History Tracking• Track the history of your deployments – including

who kicked off a deployment and what code changes were included in it

Deployment Verification• Create pipelines that leverage verification tests to

determine the quality of a new deploymentAutomated Rollbacks• Define rollback strategies to handle cases where

deployment verification failsBlue-Green Deployments• Leverage the power of workflow to coordinate

zero-downtime deploymentsDynamic Environment Creation• Spin up new deployment environments

automatically as part of your delivery pipeline.

Page 42: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

42

CloudBees Jenkins Workflow Stage View

Restartable Checkpoints

Artifact Downloads

Page 43: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

How can the CloudBees Jenkins Enterprise help?

Workflow Stage View• Provides deep insight into the

execution of your workflow stages so you can detect problems and performance issues

Restart deployments where they break• Leverage workflow checkpoints to

restart delivery pipelines without a full (expensive) rebuild

Cluster Operations• Separate building from delivery, and

coordinate job execution across multiple Jenkins masters

Jenkins Analytics• Monitor and analyze performance

across all your Jenkins instances

Page 44: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

44

Summary

› Delivering better software faster is driving the agenda for nearly every organization

› Continuous delivery allows you to deliver better software faster

› Continuous delivery can be the first step towards a DevOps transformation

› Jenkins is the hub of Continuous Delivery

› CloudBees Jenkins Enterprise delivers CD at enterprise scale

Page 45: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

45

Q&A?

Page 46: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

Contenuti disponibili su:

Canale slideshare di Emerasoft

Canale Youtube Emerasoft

What’s next

Contattaci: [email protected] @WWWVisita il nostro sito emerasoft.com

Segui i nostri canali social

Page 47: Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”

Segui i nostri canali …

[email protected]

Emerasoft Srl

via Po, 1 – 10124 Torinovia del Poggio Laurentino, 118 – 00144 Roma

T +39 011 0120370 T +39 06 87811323F +39 011 3710371 

Grazie…

Contatti