eSynergy Dave Sayers - Applying DevOps principles in established corporate organisations

Post on 12-Jan-2015

231 views 0 download

description

 

transcript

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

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

Product evaluation / feedback

Emailtim.marston@midvision.comdavid.sayers@midvision.com