enabling mobility through continuous delivery

51
1 © Connecta - Confidential Enabling mobility through Continuous Delivery Connecta Stockholm, 2013-11-20

Upload: michael-medin

Post on 13-Jul-2015

59 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: Enabling Mobility through Continuous Delivery

1© Connecta - Confidential

Enabling mobilitythrough Continuous Delivery

Connecta

Stockholm, 2013-11-20

Page 2: Enabling Mobility through Continuous Delivery

2© Connecta - Confidential

DEVELOPER

CONTINUOUS

MICHAEL MEDIN

delivery

OUTSIDE THE BOX

Page 3: Enabling Mobility through Continuous Delivery

3© Connecta - Confidential

Platinum

Gold

Silver

Remarketer

2009

2010

2011

2012Fusion MiddleWare:Partner of the year

2012 2013

Fusion MiddleWare:Most Certified

Implementation Specialists

Speaker and Keynote at many Conferences and

Partner Events

Page 4: Enabling Mobility through Continuous Delivery

4© Connecta - Confidential

Service Oriented Architecture

Application Integration Architecture

WebLogic/Application Grid

Siebel CRMCRM On Demand

Page 5: Enabling Mobility through Continuous Delivery

5© Connecta - Confidential

Matts Jöhncke

ICA ABInfrastructure Services

Team lead - development

Configuration manager

Page 6: Enabling Mobility through Continuous Delivery

6© Connecta - Confidential

MOBILE

Page 7: Enabling Mobility through Continuous Delivery

7© Connecta - Confidential

MOBILEIs here

Time To MarketCompetition

InternetOut-sourced

Page 8: Enabling Mobility through Continuous Delivery

8© Connecta - Confidential

MOBILEIs here

Will happen to YOU

Be Prepared

10x traffic

Page 9: Enabling Mobility through Continuous Delivery

9© Connecta - Confidential

MOBILEAgility is key

Time To Market

Be Prepared

No time to think

Page 10: Enabling Mobility through Continuous Delivery

10© Connecta - Confidential

MOBILEPrestige projects

Competition

Key stakeholders

Be Prepared

Page 11: Enabling Mobility through Continuous Delivery

11© Connecta - Confidential

MOBILE

Security nightmare

Internet

24x7 uptime

Be Prepared

Page 12: Enabling Mobility through Continuous Delivery

12© Connecta - Confidential

MOBILENew technology

Outsourced

New requirements

Be Prepared

Page 13: Enabling Mobility through Continuous Delivery

13© Connecta - Confidential

Your mission:Cloud provider…

…in 3o days……tomorrow

No won’t be an optionBe Prepared

Page 14: Enabling Mobility through Continuous Delivery

14© Connecta - Confidential

ArchitectureSOA CloudRest Mobile

Page 15: Enabling Mobility through Continuous Delivery

15© Connecta - Confidential

Mobile Enablement

SERVICE VIRTUALIZATION & MEDIATION

MAINFRAME

Oracle API GatewayOracle Service Bus

MobileDesktop CloudWeb Servers B2B

access management

security

restAPIservicesoap Web-

Page 16: Enabling Mobility through Continuous Delivery

16© Connecta - Confidential

What’s behind the box?

SERVICE VIRTUALIZATION & MEDIATION

MAINFRAME

Oracle API GatewayOracle Service Bus

MobileDesktop CloudWeb Servers B2B

API GW

Service bus

SOA BPM AIA ???

Re

po

sitory

Se

curity

DMZ, Security, Control

Virtualization, Versioning, Transformation

Services, Composite Applications

Co

mm

on

Se

curity

Fram

ew

ork

Re

use

, Go

ve

rna

nce

Page 17: Enabling Mobility through Continuous Delivery

17© Connecta - Confidential

DELIVERYCONTINUOUS

THEORY

Page 18: Enabling Mobility through Continuous Delivery

18© Connecta - Confidential

1990: Classic software development

Gather Requirements

Write SpecificationBuild

softwareTest software

Deliver Software

Acceptance Test

Done

Page 19: Enabling Mobility through Continuous Delivery

19© Connecta - Confidential

2000: Iterative projects

Gather Requirements

Write Specification

Build softwareTest software

Deliver Software

Acceptance Test

Page 20: Enabling Mobility through Continuous Delivery

20© Connecta - Confidential

2000: Modularized architecture

Frontend

Business logic

Backend

Page 21: Enabling Mobility through Continuous Delivery

21© Connecta - Confidential

2000: Agile projects not code

Gather Requirements

Write Specification

Build softwareTest software

Deliver Software

Acceptance Test

Page 22: Enabling Mobility through Continuous Delivery

22© Connecta - Confidential

2000: Waterfall Waterfalls

Frontend

Business logic

Backend

Page 23: Enabling Mobility through Continuous Delivery

23© Connecta - Confidential

INTEGRATIONCONTINUOUS

Page 24: Enabling Mobility through Continuous Delivery

24© Connecta - Confidential

CONTINUOUSINTEGRATION

Page 25: Enabling Mobility through Continuous Delivery

25© Connecta - Confidential

Continuous Integration

Code

IntegrateBuild

Test

Page 26: Enabling Mobility through Continuous Delivery

26© Connecta - Confidential

2010: Enterprise Development

Code

IntegrateBuild

Test Code

IntegrateBuild

Test

Code

IntegrateBuild

TestCode

IntegrateBuild

Test

Mobile Integration

ERPCRM

Page 27: Enabling Mobility through Continuous Delivery

27© Connecta - Confidential

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: Enabling Mobility through Continuous Delivery

28© Connecta - Confidential

DELIVERYCONTINUOUS

Page 29: Enabling Mobility through Continuous Delivery

29© Connecta - Confidential

Continuous Delivery

Code

Integrate

Build

Unit-test

Deploy

Acceptance/Integration

test

Release

Page 30: Enabling Mobility through Continuous Delivery

30© Connecta - Confidential

How about mobility?

Mobile client

Oracle API GW

Service bus

SOA

System A System B

Code

IntegrateBuild

Test

Code

IntegrateBuild

Test

Code

IntegrateBuild

Test

Code

IntegrateBuild

Test

Code

IntegrateBuild

TestCode

IntegrateBuild

Test

Page 31: Enabling Mobility through Continuous Delivery

31© Connecta - Confidential

DELIVERYCONTINUOUS

PRACTICE

Page 32: Enabling Mobility through Continuous Delivery

32© Connecta - Confidential

AUTOMATE

Code

Test

Release

InstallConfiguration

DeployAcc. Test Migration

Everything

Page 33: Enabling Mobility through Continuous Delivery

33© Connecta - Confidential

PIPELINE

DEPLOY

WORKFLOW

Page 34: Enabling Mobility through Continuous Delivery

34© Connecta - Confidential

ORACLE

WLST ANT

Maven Templates

Silent Installers

(Maven)

Page 35: Enabling Mobility through Continuous Delivery

35© Connecta - Confidential

DELIVERY

CONTINUOUS

COST

Page 36: Enabling Mobility through Continuous Delivery

36© Connecta - Confidential

FREEPays it self

There is a free lunch!

Page 37: Enabling Mobility through Continuous Delivery

37© Connecta - Confidential

Accumulated cost for delivery

0

20

40

60

80

100

120

140

1 2 3 4 5 6

Automated Manual

Page 38: Enabling Mobility through Continuous Delivery

38© Connecta - Confidential

Project cost after implementing Continuous Delivery

0

50

100

150

200

250

300

350

400

Project A Project B Project C Project D Project E

Ho

urs

Page 39: Enabling Mobility through Continuous Delivery

39© Connecta - Confidential

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 – Consistent

Automated

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 –

Regressive

Processes

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 1Consistent

Automated

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 -1Regressive

Processes

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 1Consistent

Automated

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 -1Regressive

Processes

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 40: Enabling Mobility through Continuous Delivery

40© Connecta - Confidential

THE JOURNEY

Page 41: Enabling Mobility through Continuous Delivery

41© Connecta - Confidential

Fusion

2011: The beginning of a long integration journey

Oracle

Middleware

ODIAIA File

OSB

OAG

OERHarvester

Page 42: Enabling Mobility through Continuous Delivery

42© Connecta - Confidential

ChallengesVersion “control”Ill suited

Race conditions

AIAWorkbench

Process

DependenciesPoint-to-point

NorwaySweden Finland India

Expertise

Page 43: Enabling Mobility through Continuous Delivery

43© Connecta - Confidential

FLOWNOT PRODUCT

PROCESS

Page 44: Enabling Mobility through Continuous Delivery

44© Connecta - Confidential

DELIVERYCONTINUOUS

BENEFITS

Page 45: Enabling Mobility through Continuous Delivery

45© Connecta - Confidential

AgilityTime To Market

Iterative

Stressincreased

reduced

development

free

Qualityincreased

Page 46: Enabling Mobility through Continuous Delivery

46© Connecta - Confidential

THROUGHMOBILITYENABLING

DELIVERYCONTINUOUS

Page 47: Enabling Mobility through Continuous Delivery

47© Connecta - Confidential

Time

MoneyQuality

AUTOMATESAVE

MONEY

SAVETIME

INCREASEQUALITY

Page 48: Enabling Mobility through Continuous Delivery

48© Connecta - Confidential

Time

MoneyQuality

YES WE CAN

Page 49: Enabling Mobility through Continuous Delivery

49© Connecta - Confidential

Be PreparedFOR MOBILE

Page 50: Enabling Mobility through Continuous Delivery

50© Connecta - Confidential

THANK YOU

Page 51: Enabling Mobility through Continuous Delivery

51© Connecta - Confidential

Our job is to automatebusiness processes.

Why do we do this

manually?