Upload
patrickcrompton
View
232
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
Dave Sayers
Applying DevOps principles in established corporate organisations
“There is a difference in DevOps approaches between organisation
where IT is not a core competency – and those where it is”
Agenda
• Why?• Characteristics of traditional and
modern firms• Foundations of DevOps approaching in
the enterprise• Importance of configuration
management• Brief look forward
Why?
• Fast flow of planned change• Efficiency• Repeatability• Audit• Compliance• Security, etc.
Management approach
Heterogeneous Dev and Ops teams
Low frequency of releases
Established Organisations
• Heterogeneous Environments• Focus on integration• Top down approach• Low frequency of releases• Manual processes• Heterogeneous Dev and Ops
teams• “Buy not build”
Characteristics of Modern firms
• Smaller number of decoupled products• More homogeneous dev and ops teams• Built with automation in mind• High deploy rates• Built on modern / opensource
technology
Configuration Management
DevOps toolchainDeveloper
COD
E
SVNGIT
ClearCase
SCM
RAMArtifactory
Nexus
DSL
RapidDeployChef
Puppet
ARA
Hudson / JenkinsCruiseControl
BambooRTC
Build
ReleaseEngineer Developer,
Tester &Admin
DEVELOPMENT
OPERATIONS
Environments
Creates & publishes release packages & dependencies
Installs & configurestarget runtimes
Creates builds
Schedules and deploys releases
Source Code \EARS \ddl \source
Infrastructure Config \oracle \J2EE \wmq \wmb
Baseline File: SALESAPP_BUILD_01_02_003
DEPLOY PACKAGE
SALESAPP_BUILD_01_02_003.tar
Creating the Deploy Package
`
Release Manager
DeploymentServer IHS
WAS
MQ
cluster/ds/jms
httpd.conf
qmgr/queue
httpd.confIHS
WAS
MQ
MQ
WAS
IHSIHS
WAS
MQ
cluster/ds/jms
httpd.conf
qmgr/queue
cluster/ds/jms
httpd.conf
qmgr/queue
cluster/ds/jms
qmgr/queue
Implementation Manager selects:
• Application• Version• Environment
SALESAPP_BUILD_01_02_003SALESAPP_BUILD_01_02_004
21
Model Driven Deployments
• To ensure consistency – always deploy the same thing!• Data driven
• Templates created that define infrastructure or application configuration
• Contain the complete configuration for a target technology
• Deltas become part of the template – so configuration changes are not made in isolation
22
Properties / Template
MQSC Template
------<QMGR_NAME>--------
------<QMGR_HOST>--------
------<QMGR_PORT>--------
DevTst01
QMGR_NAME SALESDEVQM01
QMGR_HOST lnxdev01
QMGR_PORT 1414
23
Properties / Template
MQSC Template
------<QMGR_NAME>--------
------<QMGR_HOST>--------
------<QMGR_PORT>--------
------<DB_USER>--------
DevTst01
QMGR_NAME SALESDEVQM01
QMGR_HOST lnxdev01
QMGR_PORT 1414
DB_USER devtstuser
24
Properties / Template
MQSC Template
------<QMGR_NAME>--------
------<QMGR_HOST>--------
------<QMGR_PORT>--------
------<DB_USER>--------
DevTst01
QMGR_NAME SALESDEVQM01
QMGR_HOST lnxdev01
QMGR_PORT 1414
DB_USER devtstuser
SysTst01
QMGR_NAME SALESTSTQM02
QMGR_HOST lnxtst01
QMGR_PORT 1415
DB_USER syststuser
25
Version Control
Configuration Management Tool
Build Process Release Mechanism
Middleware
CodeConfiguration
Eclipse or Web based config. UI
Generate Versioned Release Components
Ideally web based, self service
•WebSphere AS•Portal / WPS / ESB / WSSR•MQ / Broker / Datapower•DB2 / Oracle
26
Version Control
Configuration Management Tool
Build Process Release Mechanism
Middleware
CodeConfiguration
Eclipse or Web based config. UI
Generate Versioned Release Components
Ideally web based, self service
•WebSphere AS•Portal / WPS / ESB / WSSR•MQ / Broker / Datapower•DB2 / Oracle
x.mqsc Alter channel
27
Version Control
Configuration Management Tool
Build Process Release Mechanism
Middleware
CodeConfiguration
Eclipse or Web based config. UI
Generate Versioned Release Components
Ideally web based, self service
•WebSphere AS•Portal / WPS / ESB / WSSR•MQ / Broker / Datapower•DB2 / Oracle
x.mqsc Alter channel SALES_MQ_01_02_033.zip
28
Version Control
Configuration Management Tool
Build Process Release Mechanism
Middleware
CodeConfiguration
Eclipse or Web based config. UI
Generate Versioned Release Components
Ideally web based, self service
•WebSphere AS•Portal / WPS / ESB / WSSR•MQ / Broker / Datapower•DB2 / Oracle
x.mqsc Alter channel SALES_MQ_01_02_033.zip SALES_MQ_01_02_033 WMQ
29
Version Control
Configuration Management Tool
Build Process Release Mechanism
Middleware
CodeConfiguration
Eclipse or Web based config. UI
Generate Versioned Release Components
Ideally web based, self service
•WebSphere AS•Portal / WPS / ESB / WSSR•MQ / Broker / Datapower•DB2 / Oracle
x.mqsc Alter channel SALES_MQ_01_02_033.zip SALES_MQ_01_02_033 WMQ
x.py JMS Queue Dest
30
Version Control
Configuration Management Tool
Build Process Release Mechanism
Middleware
CodeConfiguration
Eclipse or Web based config. UI
Generate Versioned Release Components
Ideally web based, self service
•WebSphere AS•Portal / WPS / ESB / WSSR•MQ / Broker / Datapower•DB2 / Oracle
x.mqsc Alter channel SALES_MQ_01_02_033.zip SALES_MQ_01_02_033 WMQ
x.py JMS Queue Dest SALES_WAS_01_02_046.zip
31
Version Control
Configuration Management Tool
Build Process Release Mechanism
Middleware
CodeConfiguration
Eclipse or Web based config. UI
Generate Versioned Release Components
Ideally web based, self service
•WebSphere AS•Portal / WPS / ESB / WSSR•MQ / Broker / Datapower•DB2 / Oracle
x.mqsc Alter channel SALES_MQ_01_02_033.zip SALES_MQ_01_02_033 WMQ
x.py JMS Queue Dest SALES_WAS_01_02_046.zip SALES_WAS_01_02_046 WAS
32
Version Control
Configuration Management Tool
Build Process Release Mechanism
Middleware
CodeConfiguration
Eclipse or Web based config. UI
Generate Versioned Release Components
Ideally web based, self service
•WebSphere AS•Portal / WPS / ESB / WSSR•MQ / Broker / Datapower•DB2 / Oracle
x.mqsc Alter channel SALES_MQ_01_02_033.zip SALES_MQ_01_02_033 WMQ
x.py JMS Queue Dest SALES_WAS_01_02_046.zip SALES_WAS_01_02_046 WAS
x.ddl Column, View, etc
33
Version Control
Configuration Management Tool
Build Process Release Mechanism
Middleware
CodeConfiguration
Eclipse or Web based config. UI
Generate Versioned Release Components
Ideally web based, self service
•WebSphere AS•Portal / WPS / ESB / WSSR•MQ / Broker / Datapower•DB2 / Oracle
x.mqsc Alter channel SALES_MQ_01_02_033.zip SALES_MQ_01_02_033 WMQ
x.py JMS Queue Dest SALES_WAS_01_02_046.zip SALES_WAS_01_02_046 WAS
x.ddl Column, View, etc SALES_DB_01_02_012.zip
34
Version Control
Configuration Management Tool
Build Process Release Mechanism
Middleware
CodeConfiguration
Eclipse or Web based config. UI
Generate Versioned Release Components
Ideally web based, self service
•WebSphere AS•Portal / WPS / ESB / WSSR•MQ / Broker / Datapower•DB2 / Oracle
x.mqsc Alter channel SALES_MQ_01_02_033.zip SALES_MQ_01_02_033 WMQ
x.py JMS Queue Dest SALES_WAS_01_02_046.zip SALES_WAS_01_02_046 WAS
x.ddl Column, View, etc SALES_DB_01_02_012.zip SALES_DB_01_02_012 Oracle
35
AppServer - products
Apache 2.2
WebSphere AS 8.5
WMQ 7.5
AIX 6 TL10
Database - productsOracle 11.1.0.7.0
AIX 6 TL10
Provisioning New EnvironmentsProducts
36
AppServer - products Configuration / App
Apache 2.2 WEB_CONFIG_SALES_1_2_056
WebSphere AS 8.5 WAS_CONFIG_SALES_1_2_087
WMQ 7.5 WMQ_CONFIG_SALES_1_2_032
AIX 6 TL10 STANDARD ORG IMAGE
Database - products Configuration / AppOracle 11.1.0.7.0 ORA_CONFIG_SALES_1_2_042
AIX 6 TL10 STANDARD ORG IMAGE
Provisioning New EnvironmentsProducts > Configuration
37
SalesRelease 1.2
AppServer - products Configuration / AppAPP_CONTENT_SALES_1_2_124
Apache 2.2 WEB_CONFIG_SALES_1_2_056
WebSphere AS 8.5 WAS_CONFIG_SALES_1_2_087
WMQ 7.5 WMQ_CONFIG_SALES_1_2_032
AIX 6 TL10 STANDARD ORG IMAGE
Database - products Configuration / AppOracle 11.1.0.7.0 ORA_CONFIG_SALES_1_2_042
AIX 6 TL10 STANDARD ORG IMAGE
}Provisioning New Environments
Products > Configuration > Code
38
• Configuration Management
• Definitive Software Library
• Automation
• Release Management
• Automated Tested
• Monitoring / metrics
• Continuous Delivery
Product evaluation / feedback
[email protected]@midvision.com