devops and application delivery for hybrid cloud - devopssummit session

33
© 2013 IBM Corporation Sanjeev Sharma IBM Worldwide Lead – DevOps Technical Sales IBM Software Group @sd_architect Blog: http://bit.ly/sdarchitect DevOps and Application Delivery for Hybrid Cloud Environments

Upload: sanjeev-sharma

Post on 15-Jul-2015

1.819 views

Category:

Software


0 download

TRANSCRIPT

© 2013 IBM Corporation

Sanjeev Sharma IBM Worldwide Lead – DevOps Technical Sales IBM Software Group @sd_architect Blog: http://bit.ly/sdarchitect

DevOps and Application Delivery for Hybrid Cloud Environments

#CloudSummit #DevOpsSummit

Days <10%

Quarters 35%

Months

40%

Weeks

15%

The Problem: 6-12 Month Delivery Cycles Are Still the Norm

Delivery cycle profile across 600 business enterprises

Feedback cycles

Source--The New Software Imperative: Fast Delivery With Quality: 8 DevOps Practices Hold The Key To Success A Forrester Consulting Thought Leadership Paper Commissioned By IBM, August 2014

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

Leverage feedback across the Delivery Pipeline to Continuously Improve: I.  Application Delivered

II. Environment Deployed

III.  Application and Environment Delivery Process

DevOps == Continuous Improvement

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

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

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.

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

§ 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

Implementing a Delivery Pipeline

SCM

Build / CI Server

Unit testing Test Automation Test Stubbing

Delivery Pipeline

Environment Configuration

Automated Monitoring

Asset Repository

1. Cloud Hosted DevOps toolchain

SCM

Build / CI Server

Unit testing Test Automation Test Stubbing

Delivery Pipeline

Environment Configuration

Automated Monitoring

Asset Repository

Cloud

2. Cloud Hosted Environments

SCM

Build / CI Server

Unit testing Test Automation Test Stubbing

Delivery Pipeline

Environment Configuration

Automated Monitoring

Asset Repository

Cloud

14

Deploying Infrastructure is the biggest bottleneck for the Delivery Pipeline

§ 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!

Hybrid Cloud – A Reality

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

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

Prod

Stage

Test

Dev

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

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

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

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

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

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

Tradi&onal    On-­‐Premises  

Infrastructure  as  a  Service  

Manual    

Customiza&on;  higher  costs;  slower  &me  to  value  

Standardiza&on;  lower  costs;  faster  &me  to  value  

UrbanCode  Deploy  

UrbanCode  Deploy  

Networking

Storage

Servers

Virtualization

O/S

Middleware

Mid Config

Data

Applications

PlaCorm  as  a  Service  

IBM  Bluemix  

PureApplica&on  System    

SmartCloud  Orchestrator    

SoHLayer  

IBM  DevOps  Services  

UrbanCode  Deploy  with  Pa4erns  

23

Cloud  PaJerns  

Application Deployment to Cloud

SCM Build Automation

QA PROD

Execute application deployment and manage settings across environments

Publish build

Pull changes

 IBM  Cloud  Orchestrator  

Environments DEV DEV DEV DEV

IBM  PureApplica&on  System  

IBM UrbanCode Deploy

Cloud Provisioning

Deploy Automation

IBM UrbanCode Deploy with Patterns

24 IBM UrbanCode Deploy supports Application Workload Management across various

Hybrid Cloud Technologies

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

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:

Full Stack Deployment

27

UrbanCode Deploy with Patterns: Web-based HOT Editor – visual and textual

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

Architecting Application Deployment for Hybrid Cloud 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 A

PI G

ateway

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

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 A

PI G

ateway

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

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