Radar: Integrate to Innovate: Continuous Delivery

Post on 08-May-2015

203 views 3 download

description

Why we need Continuous Delivery in Enterprise and integration development, and how we can achieve it.

Transcript of Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

Continuous DeliveryConnecta

Stockholm, 2014-05-22

Michael Medin

(@mickem)

michael@medin.name

http://www.medin.name

SOA/Middleware Architect

© Connecta – Michael Medin

Michael Medin (@mickem)michael@medin.name

http://www.medin.name

SOA/Middleware

Architect

DEVELOPER

CONTINUOUS

MICHAEL MEDIN

delivery

OUTSIDE THE BOX

© Connecta – Michael Medin

Platinum

Gold

Silver

Remarketer

2009

2010

2011

2012Fusion MiddleWare:Partner of the year2011

2012

Fusion MiddleWare:Most Certified

Implementation Specialists

Speaker and Keynote at many Conferences and Partner Events

In the Oracle SOA Suite 12c Beta program

2013

© Connecta – Michael Medin

2014Challenge

s

INTEGRATION

© Connecta – Michael Medin

SOA REST

MOBILECLOUD

HYBRID CLOUD

PRIVATE CLOUD

IntegrationGATE WAYS

API

© Connecta – Michael Medin

Hybrid integration

platform capabilities

Cloud

On-premises

Existing Silos

New Silos

© Connecta – Michael Medin

COMPLICATED

MORE

© Connecta – Michael Medin

What’s the link?

GLITCH

© Connecta – Michael Medin

GMAIL OUTAGE 2014-01-14

NEVER FORGET

© Connecta – Michael Medin

WHOS TO BLAME?

WE ARE!

© Connecta – Michael Medin

AVALIBILITYINCREASED

COMPLICATED

MORE

© Connecta – Michael Medin

OUT SOURCING CUTS

CUSTOMERS

OFF SHORING

CHANNELS

INNOVATIONCost?

SERVICES

NEAR SHORING

© Connecta – Michael Medin

perspectives

most significant external pressures

Source: IBM C-suite Studyhttp://www-935.ibm.com/services/us/en/c-suite/csuitestudy2013/

© Connecta – Michael Medin

Cost?Innovation

Facilitating

© Connecta – Michael Medin

AVALIBILITYINCREASED

COMPLICATED

MORE

COSTREDUCED

© Connecta – Michael Medin

CHANGE

TIME FOR

© Connecta – Michael Medin

DELIVERYCONTINUOU

S HISTORY

© Connecta – Michael Medin

1990: Classic software development

Gather Requirements

Write SpecificationBuild

softwareTest software

Deliver SoftwareAcceptance Test

Done

© Connecta – Michael Medin

2000: Iterative projects

Gather Requirements

Write Specification

Build softwareTest software

Deliver Software

Acceptance Test

© Connecta – Michael Medin

2000: Modularized architecture

Frontend

Business logic

Backend

© Connecta – Michael Medin

2000: Agile projects not code

Gather Requirements

Write Specification

Build softwareTest software

Deliver Software

Acceptance Test

© Connecta – Michael Medin

2000: Waterfall Waterfalls

Frontend

Business logic

Backend

© Connecta – Michael Medin

INTEGRATIONCONTINUOU

S

© Connecta – Michael Medin

Continuous Integration

Code

IntegrateBuild

Test

© Connecta – Michael Medin

2010: Enterprise Development

Code

IntegrateBuild

Test Code

IntegrateBuild

Test

Code

IntegrateBuild

TestCode

IntegrateBuild

Test

Mobile Integration

ERPCRM

© Connecta – Michael Medin

2020: Agile Enterprise Software development

Code

IntegrateBuild

Test

Code

IntegrateBuild

Test

Mobile

ERP

Code

IntegrateBuild

Test

Code

IntegrateBuild

Test

CRM

Code

IntegrateBuild

Test

Integration

© Connecta – Michael Medin

DELIVERYCONTINUOU

S

© Connecta – Michael Medin

Continuous Delivery

Code

Integrate

Build

Unit-test

Deploy

Acceptance/Integration

test

Release

© Connecta – Michael Medin

DELIVERYCONTINUOU

SPRACTICE

© Connecta – Michael Medin

AUTOMATECode

Test

Release

InstallConfiguration

DeployAcc. Test Migration

Everything

© Connecta – Michael Medin

PIPELINE

DEPLOYWORKFLOW

© Connecta – Michael Medin

HOW?

© Connecta – Michael Medin

Best Practices

Patterns

Build

Release DeployAutomate

SmartTemplates

© Connecta – Michael Medin

Version Control Test

InstallationConfigurationMaintenance

Automate

Setup

Governance

© Connecta – Michael Medin

Your

Yourprocess

Way

© Connecta – Michael Medin

DELIVERY

CONTINUOUSCOST

© Connecta – Michael Medin

FREEPays it self

There is a free lunch!

© Connecta – Michael Medin

Deploy:

Time:

Consultants:

1 per week

3-4

20h

Every week!

© Connecta – Michael Medin

Accumulated cost for delivery

1 2 3 4 5 6 70

20

40

60

80

100

120

140

Manual Automated

© Connecta – Michael Medin

Project cost after implementing Continuous Delivery

Project A Project B Project C Project D Project E0

50

100

150

200

250

300

350

400

Ho

urs

© Connecta – Michael Medin

Practice Build management and CI

Environments and deployment

Release management Testing Data management Configuration Management

Level 3 – Optimizing: Focus

on process improvement

Teams regularly meet to discuss integration problems

and resolve them with automation, faster feedback,

and better visibility

All environments managed effectively.

Provisioning fully automated. Virtualization

used if applicable.

Operations and delivery teams regularly collaborate to manage risks and reduce

cycle time.

Production rollbacks rare. Defects found and

fixed immediately.

Release to release feedback loop of database

performance and deployment process

Regular validation that CM policy supports effective

collaboration, rapid development, and auditable

change management processes.

Level 2 – Quantitatively

managed: Process measured

and controlled

Build metrics gathered, made visible, and acted on. Build s

are not left broken.

Orchestrated deployments managed. Release and rollback

processes tested.

Environment and application health monitored and proactively managed.

Cycle time monitored.

Quality metrics and trends tracked. Non

functional requirements defined and measured.

Database upgrades and rollbacks tested with every

deployment. Database performance monitored

and optimized.

Developers check in to mainlined at least once a

day. Branching only used for releases.

Level 1 – ConsistentAutomated

processes applied across whole

application lifecycle

Automated build and test cycle very time a change is

committed. Dependencies managed, Re-use of scripts

and tools.

Fully automated, self-service push-button

process for deploying software. Same process

to deploy to every environment.

Change management and approvals processes defined and enforced.

Regulatory and compliance conditions met.

Automated unit and acceptance tests, the

latter written with testers. Testing part of development process.

Database changes performed automatically as part of deployment

process.

Libraries and dependencies managed. Version control usage policies determined by change management

process.

Level 0 – Repeatable:

Process documented and partly automated

Regular automated build and testing. Any build can be re-created from source control using automated process.

Automated deployment to some environments.

Creation of new environments is cheap.

All configuration externalized / versioned

Painful and infrequent, but reliable, releases. Limited

traceability from requirements to release.

Automated tests written as part of story development.

Changes to databases done with automated scripts versioned with

application.

Version control in use for everything required to

recreate software: source code, configuration, build and deploy scripts, data

migrations.

Level -1 – RegressiveProcesses

unrepeatable, poorly controlled, and

reactive

Manual process for building software. No management of

artifacts and reports.

Manual process for deploying software.

Environment-specific binaries. Environments provisioned manually

Infrequent and unreliable releases.

Manual testing after development.

Data migration unversioned and

performed manually.

Version control either not used, or check-in happens

infrequently.

Capability Maturity ModelLevel 1ConsistentAutomated

processes applied across whole

application lifecycle

Automated build and test cycle very time a change is committed. Dependencies managed, Re-use

of scripts and tools.

Fully automated, self-service push-button

process for deploying software. Same process to

deploy to every environment.

Level 0Repeatable:

Process documented and partly automated

Regular automated build and testing. Any build can be re-

created from source control using automated process.

Automated deployment to some environments.

Creation of new environments is cheap. All

configuration externalized / versioned

Level -1RegressiveProcesses

unrepeatable, poorly controlled,

and reactive

Manual process for building software. No management of

artifacts and reports.

Manual process for deploying software.

Environment-specific binaries. Environments provisioned manually

Level 1ConsistentAutomated

processes applied across whole

application lifecycle

Automated build and test cycle very time a change is committed. Dependencies managed, Re-use

of scripts and tools.

Fully automated, self-service push-button

process for deploying software. Same process to

deploy to every environment.

Level 0Repeatable:

Process documented and partly automated

Regular automated build and testing. Any build can be re-

created from source control using automated process.

Automated deployment to some environments.

Creation of new environments is cheap. All

configuration externalized / versioned

Level -1RegressiveProcesses

unrepeatable, poorly controlled,

and reactive

Manual process for building software. No management of

artifacts and reports.

Manual process for deploying software.

Environment-specific binaries. Environments provisioned manually

© Connecta – Michael Medin

DELIVERYCONTINUOU

SBENEFITS

© Connecta – Michael Medin

AgilityTime To Market

Iterative

Lowerincreased

reduced

enterprise development

cost

Qualityincreased

© Connecta – Michael Medin

Time

MoneyQuality

AUTOMATEREDUCE

COST

MORETIME

INCREASEAVALIBILIT

Y

© Connecta – Michael Medin

process

productnot

© Connecta – Michael Medin

THANK YOU

© Connecta – Michael Medin

Events: Workshop

Open World

OOW Reunion

10 September

September/October

Q4

Middleware Consolidation & Innovation workshop

Yogesh Sontakke

© Connecta – Michael Medin

Our job is to automatebusiness processes.

Why do we do thismanually?

Michael Medin (@mickem)michael@medin.name

http://www.medin.nameSOA/Middleware Architect

© Connecta – Michael MedinPhoto by Olga Berrios

Our job is to automatebusiness processes.

Why do we do thismanually?

Michael Medin (@mickem)michael@medin.name

http://www.medin.nameSOA/Middleware Architect