radar: integrate to innovate: continuous delivery

50
© Connecta – Michael Medin Continuous Delivery Connecta Stockholm, 2014-05-22 Michael Medin (@mickem) michael@ medin.na me http://www.medin.name SOA/Middleware Architec t

Upload: michael-medin

Post on 08-May-2015

203 views

Category:

Data & Analytics


3 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

Continuous DeliveryConnecta

Stockholm, 2014-05-22

Michael Medin

(@mickem)

[email protected]

http://www.medin.name

SOA/Middleware Architect

Page 2: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

Michael Medin (@mickem)[email protected]

http://www.medin.name

SOA/Middleware

Architect

DEVELOPER

CONTINUOUS

MICHAEL MEDIN

delivery

OUTSIDE THE BOX

Page 3: Radar: Integrate to Innovate: Continuous Delivery

© 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

Page 5: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

2014Challenge

s

INTEGRATION

Page 6: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

SOA REST

MOBILECLOUD

HYBRID CLOUD

PRIVATE CLOUD

IntegrationGATE WAYS

API

Page 7: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

Hybrid integration

platform capabilities

Cloud

On-premises

Existing Silos

New Silos

Page 8: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

COMPLICATED

MORE

Page 9: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

What’s the link?

GLITCH

Page 10: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

GMAIL OUTAGE 2014-01-14

NEVER FORGET

Page 11: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

WHOS TO BLAME?

WE ARE!

Page 12: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

AVALIBILITYINCREASED

COMPLICATED

MORE

Page 13: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

OUT SOURCING CUTS

CUSTOMERS

OFF SHORING

CHANNELS

INNOVATIONCost?

SERVICES

NEAR SHORING

Page 14: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

perspectives

most significant external pressures

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

Page 15: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

Cost?Innovation

Facilitating

Page 16: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

AVALIBILITYINCREASED

COMPLICATED

MORE

COSTREDUCED

Page 17: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

CHANGE

TIME FOR

Page 18: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

DELIVERYCONTINUOU

S HISTORY

Page 19: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

1990: Classic software development

Gather Requirements

Write SpecificationBuild

softwareTest software

Deliver SoftwareAcceptance Test

Done

Page 20: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

2000: Iterative projects

Gather Requirements

Write Specification

Build softwareTest software

Deliver Software

Acceptance Test

Page 21: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

2000: Modularized architecture

Frontend

Business logic

Backend

Page 22: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

2000: Agile projects not code

Gather Requirements

Write Specification

Build softwareTest software

Deliver Software

Acceptance Test

Page 23: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

2000: Waterfall Waterfalls

Frontend

Business logic

Backend

Page 24: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

INTEGRATIONCONTINUOU

S

Page 25: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

Continuous Integration

Code

IntegrateBuild

Test

Page 26: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

2010: Enterprise Development

Code

IntegrateBuild

Test Code

IntegrateBuild

Test

Code

IntegrateBuild

TestCode

IntegrateBuild

Test

Mobile Integration

ERPCRM

Page 27: Radar: Integrate to Innovate: Continuous Delivery

© 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

Page 28: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

DELIVERYCONTINUOU

S

Page 29: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

Continuous Delivery

Code

Integrate

Build

Unit-test

Deploy

Acceptance/Integration

test

Release

Page 30: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

DELIVERYCONTINUOU

SPRACTICE

Page 31: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

AUTOMATECode

Test

Release

InstallConfiguration

DeployAcc. Test Migration

Everything

Page 32: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

PIPELINE

DEPLOYWORKFLOW

Page 33: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

HOW?

Page 34: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

Best Practices

Patterns

Build

Release DeployAutomate

SmartTemplates

Page 35: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

Version Control Test

InstallationConfigurationMaintenance

Automate

Setup

Governance

Page 36: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

Your

Yourprocess

Way

Page 37: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

DELIVERY

CONTINUOUSCOST

Page 38: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

FREEPays it self

There is a free lunch!

Page 39: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

Deploy:

Time:

Consultants:

1 per week

3-4

20h

Every week!

Page 40: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

Accumulated cost for delivery

1 2 3 4 5 6 70

20

40

60

80

100

120

140

Manual Automated

Page 41: Radar: Integrate to Innovate: Continuous Delivery

© 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

Page 42: Radar: Integrate to Innovate: Continuous Delivery

© 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

Page 43: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

DELIVERYCONTINUOU

SBENEFITS

Page 44: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

AgilityTime To Market

Iterative

Lowerincreased

reduced

enterprise development

cost

Qualityincreased

Page 45: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

Time

MoneyQuality

AUTOMATEREDUCE

COST

MORETIME

INCREASEAVALIBILIT

Y

Page 46: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

process

productnot

Page 47: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

THANK YOU

Page 48: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

Events: Workshop

Open World

OOW Reunion

10 September

September/October

Q4

Middleware Consolidation & Innovation workshop

Yogesh Sontakke

Page 49: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael Medin

Our job is to automatebusiness processes.

Why do we do thismanually?

Michael Medin (@mickem)[email protected]

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

Page 50: Radar: Integrate to Innovate: Continuous Delivery

© Connecta – Michael MedinPhoto by Olga Berrios

Our job is to automatebusiness processes.

Why do we do thismanually?

Michael Medin (@mickem)[email protected]

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