deployment automation for hybrid cloud and multi-platform environments

33
© 2013 IBM Corporation Sanjeev Sharma IBM Worldwide Lead DevOps Technical Sales IBM Software Group @sd_architect Blog: http://bit.ly/sdarchitect Deployment Automation for Hybrid Cloud and Multi-platform Environments

Upload: ibm-urbancode-products

Post on 12-Jul-2015

1.195 views

Category:

Software


5 download

TRANSCRIPT

Page 1: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

© 2013 IBM Corporation

Sanjeev Sharma

IBM Worldwide Lead – DevOps Technical Sales

IBM Software Group

@sd_architect

Blog: http://bit.ly/sdarchitect

Deployment Automation for Hybrid

Cloud and Multi-platform

Environments

Page 2: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

How do we speed up software delivery?

© 2014 Forrester Research, Inc. Reproduction Prohibited

IBM - Forrester DevOps study: http://ibm.co/1qpisfe

Page 3: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

1/3rd of companies are delivering with speed with quality

Ability to maintain fast cycle times High Low

Mo

tiva

tio

n t

o c

ut

cyc

le t

ime

s

High

Delivering

Slowly

13%

Delivering Fast

32%

Improving

Speed

37%

Struggling

for Speed

19%

Base: 600 IT professionals with application development responsibilities from US, Canada, UK, France, and Germany

Source: A commissioned study conducted by Forrester Consulting on behalf of IBM, May 2014

IBM - Forrester DevOps study: http://ibm.co/1qpisfe

Page 4: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

DevOps approach:

Apply Lean principles accelerate feedback and improve time

to value

Line-of-

business

Customer

1

3

2

1. Get ideas into production fast

2. Get people to use it

3. Get feedback

Non-Value-added waste Value-added production work

Lean

Transformation

http://ibm.co/devopsfordummies

Page 5: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

Leverage feedback across the Delivery Pipeline to

Continuously Improve:

I. Application Delivered

II. Environment Deployed

III. Application and Environment Delivery Process

DevOps == Continuous Improvement

Page 6: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

6

The Big Sources of Wasted Efforts: Find the Hidden Factory

Type of Waste Create Feature Deliver Feature

Unnecessary

Overhead

Communicating ideas/knowledge Communicating between development

and operations

Unnecessary

Re-work

Tasks assigned back to developers

from testing and usage

Tasks assigned back to developers from

production rollbacks

Over-production

Unnecessary functionality produced Unnecessary hardware, data center,

personnel

Non-Value-added waste Value-added production work

Lean

Transformation

Page 7: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

IBM DevOps Adoption Model Practices, tools and services to plan and execute a staged adoption of DevOps to improve business outcomes

Feedback

Cycles

Productive Waste

Efficiency

Steer Product-based

Agile

Automated

Collaborative

Optimizing

More

Predictable

More

Transparent

More

Continuous

Process-based

Process-heavy

Manual

Silo-ed

Develop/Test

Deploy

Operate

Inefficient Leaner Leaner and Smarter

Page 8: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

Develop / Test

Deploy Steer Operate

IBM DevOps – most comprehensive capabilities Addresses bottlenecks and waste across the delivery lifecycle

Continuously plan, measure and

bring business strategy and

customer feedback into the

development lifecycle.

Enable collaboration between

business, development, and QA

to deliver innovative, quality

software continuously.

Reduce the cost of testing while helping

development teams balance quality and

speed.

Deliver software to customers

and internal users faster and

more frequently with better

quality, lower cost, and reduced

risk.

Understand and accommodate the

user perspective to achieve service

levels with better visibility and

continuous feedback across the

entire software lifecycle.

Continuous

Business Planning Collaborative

Development

Continuous

Testing

Continuous Release

and Deployment Continuous

Monitoring

Continuous

Customer Feedback

& Optimization

Provide the visual evidence and full

context for analyzing customer behavior

and pinpointing pain points.

Page 9: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

Map your Delivery Pipeline: Large Bank

Idea/Feature/Bug Fix/

Enhancement Production

Development Build QA SIT UAT Prod

PMO

Requirements/

Analyst

Developer

Customers Line of Business

Build

Engineer

QA Team Integration Tester User/Tester Operations

Artifact Repository

Deployment Engineer

Release Management

Code Repository

Deploy

Get Feedback

Infrastructure as Code/

Cloud Patterns

Feedback

Customer or

Customer Surrogate

Metrics - Reporting/Dashboarding

Tasks

Artifacts

Bottleneck: Rigid ‘One-size-

fits-all’ Development process

Solution: Agile Transformation with

‘Risk-Value’ based Process Variants

Bottleneck: Ticket Based

Environment Provisioning

Solution: Cloud Hosted

Developer ‘Self-Service’

Bottleneck: Weekend long

Deployments that often fail

Solution: Frequent

Deployment of Small Batches

of Change Bottleneck: Late Discovery of

Architectural Fragility

Solution: Agile ‘Shift Left’

Integration Testing to early in

LifeCycle

Page 10: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

Challenge:

– Developers were creating daily builds

– QA team had a 3 – 5 day cycle time

Bottlenecks Identified:

1. Lack of Deployment Automation

2. Ticket based manual environment

provisioning

3. Lack of reliable source of Test Data

Delivery Pipeline Optimization: Large Bank

Three Step Solution:

1. Deployment Automation with IBM UrbanCode Deploy with Patterns

2. Private OpenStack Cloud hosted ‘on-demand’ Dev-Test environments with

IBM UrbanCode Deploy with Patterns

3. Test Data Management with IBM Optim Test Data Management

Page 11: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

Implementing a Delivery Pipeline

SCM

Build / CI

Server

Unit testing

Test Automation

Test Stubbing

Delivery

Pipeline

Environment

Configuration

Automated

Monitoring

Asset

Repository

Page 12: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

1. Cloud Hosted DevOps toolchain

SCM

Build / CI

Server

Unit testing

Test Automation

Test Stubbing

Delivery

Pipeline

Environment

Configuration

Automated

Monitoring

Asset

Repository

Cloud

Page 13: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

2. Cloud Hosted Environments

SCM

Build / CI

Server

Unit testing

Test Automation

Test Stubbing

Delivery

Pipeline

Environment

Configuration

Automated

Monitoring

Asset

Repository Cloud

Page 14: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

14

Deploying Infrastructure is the biggest bottleneck for

the Delivery Pipeline

Page 15: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

The adoption of DevOps ==

increased velocity of application

delivery

Puts pressure on the

infrastructure to respond more

quickly

Software Defined Environments

enable you to capture

infrastructure as a software

artifact

Deploying Infrastructure is the biggest bottleneck for

the Delivery Pipeline

Application

Changes

Infrastructure

Changes

Page 16: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

Hybrid environments – Mobile to

Mainframe

Page 17: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

The current state of Hybrid Cloud Environments

• Most enterprises have multiple platforms

• Non-cloud environments will not be completely

replaced

• Implementing a Delivery Pipeline would require

applications to be deployed across multiple cloud

and physical platforms

• Platform-as-a-Service (PaaS) and Infrastructure-

as-a-Service (IaaS) Cloud platforms will co-exist

• Multiple cloud standards are proliferating and

evolving

Page 18: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

DevOps on Hybrid Environments Use Cases

1. Development and Test (Dev-Test)

on Public Cloud with Production on

Private Cloud or Physical

Infrastructure in On-Premise

Datacenters

Public Dev-Test – On Prem Prod

Production workloads On Premise and

Test/ Development Off

Premise

On

Premise

Off

Premise P

rod

Sta

ge

Te

st

De

v

Bursting for Capacity

Needs

App dynamically uses Off Premise

in case of resource

shortage On Premise

On

Premise

Off

Premise

App A App A

Cloud Burst

2. ‘Bursting’ from Private to Public

Cloud for temporary capacity

needs

Page 19: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

DevOps on Hybrid Environments Use Cases

3. Organizations delivering System Of

Engagement Applications need to

connect to System of Record

applications on Mainframes and

Distributed physical infrastructure

Portable Workloads

Application and data are portable across On and

Off Premise

4. Organizations need Application

workloads that are portable across

Private and Public Clouds

SoR & SoE Integration

Systems of Record

On Premise and

Systems of

Engagement

Off Premise

On

Premise

Off

Premise

App B App A

On

Premise

Off

Premise

App A

App B

App C

App A

App B

App C

Page 20: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

DevOps on Hybrid Environments Use Cases

5. Experimentation of Innovative applications on Public

Cloud or PaaS platforms will need to be brought in-house

if successful

6. Organizations looking to outsource Test environment

management

7. Organizations transitioning to Cloud will have applications

on both legacy systems on physical infrastructure and

Cloud during transition periods

8. Organizations wanting to avoid ‘vendor lock-in’ with single

Cloud platform for the enterprise

Page 21: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

UrbanCode Deploy for Application Deployment to Multi-Platform and Hybrid Cloud Environments

UrbanCode Deploy with Patterns can deploy Applications to System z,

Distributed static environments (physical or on the Cloud) and to Dynamic

Hybrid Cloud Environments

UrbanCode Deploy with Patterns supports ‘full stack’ deployment (Cloud

Environment Provisioning and Application Deployment) for:

• IBM Virtual System Patterns (for PureSystems and IBM Cloud

Orchestrator)

• OpenStack HOT templates (for OpenStack Provate Cloud, Amazon

Web Services and VMWare vCenter)

Our Solution

Page 22: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

UrbanCode Deploy handles deployment of application components across multiple environments

Develop

Deliver

SCM

CI Tool IDE

Build

Request Build Built Artifacts

Deploy

SoE App

IBM UrbanCode Deploy with Patterms

22

SoR App

IBM UrbanCode Deploy

• Deploy complex applications: multi-platform, multi-technology

• Applications in different layers develop and deploy at different velocities

• Hybrid environments: Public and Private Cloud, Distributed physical or virtualized servers, Mainframe, Mobile Devices, and also Smart devices

Mobile Device

Mainframe

Cloud

Traditional

Page 23: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

Application Automation vs Cloud Platform Separation of Duties

Networking Networking

Storage Storage

Servers Servers

Virtualization Virtualization

O/S O/S

Middleware Middleware

Mid Config Mid Config

Data Data

Applications Applications

Traditional On-Premises

Infrastructure as a Service

Manual

Customization; higher costs; slower time to value

Standardization; lower costs; faster time to value

UrbanCode Deploy

UrbanCode Deploy

Networking

Storage

Servers

Virtualization

O/S

Middleware

Mid Config

Data

Applications

Platform as a Service

IBM Bluemix

PureApplication System

SmartCloud Orchestrator

SoftLayer

IBM DevOps Services

UrbanCode Deploy with Patterns

23

Cloud Patterns

Page 24: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

SC

M Build Automation

QA PROD

App

Configure the entire

stack with your cloud

of choice.

Iterate on application

and infrastructure

changes seamlessly.

Promote changes to

your cloud

environments through

the entire delivery

lifecycle.

Publish

build

Pull

changes

IBM Cloud Orchestrator

DEV DEV DEV DEV

App

IBM PureApplication System

IBM UrbanCode Deploy

with Patterns

24

IBM Cloud Manager with OpenStack

IBM Bluemix

App

IBM UrbanCode Deploy with Patterns

supports multiple Cloud Pattern Technologies

IBM UrbanCode Deploy supports Application

Workload Management across various Cloud

Technologies

Page 25: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

UrbanCode Deploy Application Blueprints

define Deployment across platforms

What to be deployed

Where to be deployed (Physical or Cloud Resources) - Patterns

How to be deployed Application Blueprints in

IBM UrbanCode Deploy

Page 26: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

Cloud Patterns Supported

Where to be deployed (Physical or Cloud Resources) - Patterns

• IBM Virtual System Patterns:

Supported by –

o IBM Cloud Orchestrator

o IBM PureApplication System

• OpenStack HEAT Templates (HOT):

Supported by –

o Amazon Web Services

o VMWare vCenter

o OpenStack Private Cloud

o IBM Cloud Platforms

o More to come…

Patterns Supported by IBM Cloud Technology, and UrbanCode

Deploy with Patterns:

Page 27: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

o Provide Software Components right

along side infrastructure

o Represent these resources in HOT

documents

o Once deployed update either from

Heat or UrbanCode Deploy

o Will support Chef, Puppet, etc over

time

IBM UrbanCode Deploy with

Patterns - Heat Templates

Page 28: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

28

Run Your Apps The developer can chose any language runtime or

bring their own. Just upload your code and go.

DevOps Development, monitoring, deployment and

logging tools allow the developer to run the

entire application

APIs and Services A catalog of open source, IBM and third party

APIs services allow a developer to stitch

together an application in minutes.

Cloud Integration Build hybrid environments. Connect to on-

premises systems of record plus other public and

private clouds. Expose your own APIs to your

developers.

Extend SaaS Apps Drop in SaaS App SDKs and extend to new use

cases (e.g,. Mobile, Analytics, Web)

IBM Bluemix

28

Page 29: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

IBM DevOps Services for Bluemix

• Integrated task tracking, agile

planning, source control

• Optimized for Bluemix

• Use your favorite tools or work

from the Web IDE

• Hosted SCM Jazz or Git or link to

GitHub

• Continuous Integration and

Deployment

• Mobile quality and application

performance monitoring

http://jazzhub.com/innovate

29

Page 30: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

Architecting Application

Deployment for Hybrid Cloud

environments

Page 31: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

Legacy Stack On-Prem Cloud

UrbanCode

IBM UrbanCode Release

IBM UrbanCode Deploy with Patterns

Provision Application

Infrastructure

Private

Cloud

Pattern Engine

Provision Application + Infrastructure

Platform as a Service (Public)

BlueMix

Infrastructure

System z and/or Distributed Applications

On-prem Customer Data Centers

Provision Application + Infrastructure

Virtual Private Cloud

Pattern Engine

Virtual Private Network

connection

Public Data Centers

RE

ST

AP

I Ga

tew

ay

CloudFoundry ‘Community’ Buildpacks

IBM DevOps

Services

APIs

APIs

Architecting Application Deployment for Hybrid

Cloud environments – Example End-to-end Solution – Physical Infrastructure, Private Cloud, Public Cloud, PaaS

Off-Prem Cloud

Page 32: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

Legacy Stack On-Prem Cloud

UrbanCode

IBM UrbanCode Release

IBM UrbanCode Deploy with Patterns

Provision Application

Infrastructure

Private

Cloud

Pattern Engine

Provision Application + Infrastructure

Infrastructure

System z and/or Distributed Applications

On-prem Customer Data Centers

Provision Application + Infrastructure

Private Cloud

Pattern Engine

Direct Link private

connection

Public Data Centers

RE

ST

AP

I Ga

tew

ay

APIs

End-to-end Solution – Physical Infrastructure, Private Cloud, Public Cloud

Off-Prem Cloud

UrbanCode Deploy with

Patterns supports IBM

vSys Patterns and

OpenStack HOT Templates

UrbanCode Deploy with

Patterns supports

application deployment to

z/OS and distributed

physical environments

Private Clouds supported – IBM Cloud

Orchestrator, PureApplication System

(vSys Patterns), OpenStack Private Cloud

and VmWare vCenter (OpenStack)

UrbanCode Deploy with

Patterns supports Amazon

Web Services (AWS)

Public Cloud

Architecting Application Deployment for Hybrid

Cloud environments – Case Study

Page 33: Deployment Automation for Hybrid Cloud and Multi-Platform Environments

Resources

IBM UrbanCode: https://developer.ibm.com/urbancode/

IBM Cloud: http://www.ibm.com/cloud-computing/

IBM DevOps: http://www.ibm.com/ibm/devops/

IBM DevOps approach for the Cloud: http://youtu.be/fVaJigwfNY4

UrbanCode Deploy with Patterns - Application Deployment to Cloud:

–UrbanCode Deploy with Patterns 10 minute demo: http://youtu.be/fFuRg6l3N44

–UrbanCode Deploy with Virtual System Patterns: http://youtu.be/HPs_TQpyL-w

–UrbanCode Deploy deploying to Bluemix: http://youtu.be/2Hk2oALmIZg