enabling mobility through continuous delivery
TRANSCRIPT
1© Connecta - Confidential
Enabling mobilitythrough Continuous Delivery
Connecta
Stockholm, 2013-11-20
2© Connecta - Confidential
DEVELOPER
CONTINUOUS
MICHAEL MEDIN
delivery
OUTSIDE THE BOX
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
4© Connecta - Confidential
Service Oriented Architecture
Application Integration Architecture
WebLogic/Application Grid
Siebel CRMCRM On Demand
5© Connecta - Confidential
Matts Jöhncke
ICA ABInfrastructure Services
Team lead - development
Configuration manager
6© Connecta - Confidential
MOBILE
7© Connecta - Confidential
MOBILEIs here
Time To MarketCompetition
InternetOut-sourced
8© Connecta - Confidential
MOBILEIs here
Will happen to YOU
Be Prepared
10x traffic
9© Connecta - Confidential
MOBILEAgility is key
Time To Market
Be Prepared
No time to think
10© Connecta - Confidential
MOBILEPrestige projects
Competition
Key stakeholders
Be Prepared
11© Connecta - Confidential
MOBILE
Security nightmare
Internet
24x7 uptime
Be Prepared
12© Connecta - Confidential
MOBILENew technology
Outsourced
New requirements
Be Prepared
13© Connecta - Confidential
Your mission:Cloud provider…
…in 3o days……tomorrow
No won’t be an optionBe Prepared
14© Connecta - Confidential
ArchitectureSOA CloudRest Mobile
15© Connecta - Confidential
Mobile Enablement
SERVICE VIRTUALIZATION & MEDIATION
MAINFRAME
Oracle API GatewayOracle Service Bus
MobileDesktop CloudWeb Servers B2B
access management
security
restAPIservicesoap Web-
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
17© Connecta - Confidential
DELIVERYCONTINUOUS
THEORY
18© Connecta - Confidential
1990: Classic software development
Gather Requirements
Write SpecificationBuild
softwareTest software
Deliver Software
Acceptance Test
Done
19© Connecta - Confidential
2000: Iterative projects
Gather Requirements
Write Specification
Build softwareTest software
Deliver Software
Acceptance Test
20© Connecta - Confidential
2000: Modularized architecture
Frontend
Business logic
Backend
21© Connecta - Confidential
2000: Agile projects not code
Gather Requirements
Write Specification
Build softwareTest software
Deliver Software
Acceptance Test
22© Connecta - Confidential
2000: Waterfall Waterfalls
Frontend
Business logic
Backend
23© Connecta - Confidential
INTEGRATIONCONTINUOUS
24© Connecta - Confidential
CONTINUOUSINTEGRATION
25© Connecta - Confidential
Continuous Integration
Code
IntegrateBuild
Test
26© Connecta - Confidential
2010: Enterprise Development
Code
IntegrateBuild
Test Code
IntegrateBuild
Test
Code
IntegrateBuild
TestCode
IntegrateBuild
Test
Mobile Integration
ERPCRM
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
28© Connecta - Confidential
DELIVERYCONTINUOUS
29© Connecta - Confidential
Continuous Delivery
Code
Integrate
Build
Unit-test
Deploy
Acceptance/Integration
test
Release
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
31© Connecta - Confidential
DELIVERYCONTINUOUS
PRACTICE
32© Connecta - Confidential
AUTOMATE
Code
Test
Release
InstallConfiguration
DeployAcc. Test Migration
Everything
33© Connecta - Confidential
PIPELINE
DEPLOY
WORKFLOW
34© Connecta - Confidential
ORACLE
WLST ANT
Maven Templates
Silent Installers
(Maven)
35© Connecta - Confidential
DELIVERY
CONTINUOUS
COST
36© Connecta - Confidential
FREEPays it self
There is a free lunch!
37© Connecta - Confidential
Accumulated cost for delivery
0
20
40
60
80
100
120
140
1 2 3 4 5 6
Automated Manual
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
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
40© Connecta - Confidential
THE JOURNEY
41© Connecta - Confidential
Fusion
2011: The beginning of a long integration journey
Oracle
Middleware
ODIAIA File
OSB
OAG
OERHarvester
42© Connecta - Confidential
ChallengesVersion “control”Ill suited
Race conditions
AIAWorkbench
Process
DependenciesPoint-to-point
NorwaySweden Finland India
Expertise
43© Connecta - Confidential
FLOWNOT PRODUCT
PROCESS
44© Connecta - Confidential
DELIVERYCONTINUOUS
BENEFITS
45© Connecta - Confidential
AgilityTime To Market
Iterative
Stressincreased
reduced
development
free
Qualityincreased
46© Connecta - Confidential
THROUGHMOBILITYENABLING
DELIVERYCONTINUOUS
47© Connecta - Confidential
Time
MoneyQuality
AUTOMATESAVE
MONEY
SAVETIME
INCREASEQUALITY
48© Connecta - Confidential
Time
MoneyQuality
YES WE CAN
49© Connecta - Confidential
Be PreparedFOR MOBILE
50© Connecta - Confidential
THANK YOU
51© Connecta - Confidential
Our job is to automatebusiness processes.
Why do we do this
manually?