improving software delivery with devops & software defined environments

38
© 2013 IBM Corporation Accelerating Product and Service Innovation Improving So,ware Delivery with DevOps & So,ware Defined Environments Michael Elder, IBM Senior Technical Staff Member [email protected] hEp://linkedin.com/in/mdelder @mdelder

Upload: michael-elder

Post on 10-May-2015

785 views

Category:

Software


2 download

DESCRIPTION

Introducing UrbanCode Deploy with Patterns - based on OpenStack technology, UCD with Patterns enables you to quickly leverage software defined environments based on OpenStack and other off premise clouds to improve your software delivery lifecycle.

TRANSCRIPT

Page 1: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

Accelerating Product and Service Innovation

Improving  So,ware  Delivery  with  DevOps  &  So,ware  Defined  Environments  

Michael  Elder,  IBM  Senior  Technical  Staff  Member  [email protected]                hEp://linkedin.com/in/mdelder                          @mdelder  

Page 2: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

"Success  is  not  delivering  a  feature;  success  is  learning  how  to  solve  the  customer’s  problem.”    -­‐  Mark  Cook  

Page 3: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

Accelerate software delivery

Balance speed, cost, quality and risk

Reduce time to customer feedback

People Process Technology

Develop/Test

Deploy

Operate

Steer

IBM  DevOps  

Enterprise  capability  for  conJnuous  so,ware  delivery  that  enables  clients  to  seize  market  opportuniJes  and  reduce  Jme  to  customer  feedback  

Page 4: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

§ Throughput of each process must be the equal in order to avoid backlogs.

§ When preceding process is upgraded to a higher throughput, subsequent processes must be upgraded to the same higher throughput in order to maintain balance.

OpJmize  pipeline  with  an  even  flow  end  to  end  

Page 5: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

IBM  DevOps  increases  velocity  of  applicaJon  delivery  

§ RaJonal  CollaboraJve  Lifecycle  Management  (CLM)  enables  agile  development  

§ RaJonal  Test  Workbench  and  RaJonal  Test  VirtualizaJon  Server  (GreenHat)  enables  ConJnuous  TesJng  

§  IBM  UrbanCode  soluJons  enable  ConJnuous  Release  and  Deployment  

§  SmartCloud  Monitoring,  Worklight  Quality  Assurance,  IBM  Digital  AnalyJcs  and  others  enable  ConJnuous  Monitoring  and  customer  feedback  

IBM UrbanCode Deploy

Release

RaJonal  Team  Concert  RaJonal  Focal  Point  RaJonal  Requirements  Composer  

RaJonal  Build  Forge  

IBM UrbanCode Release

Page 6: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

Deploying  cloud  environments  sJll  slow  and  manual  

§ Takes  many  hours  to  days  to  deploy  virtual  environments  and  requires  mulJple  specialists  to  collaborate  and  coordinate    

– Provisioning  infrastructure  and  configuring  network,  storage  and  compute  

– Installing  and  configuring  Middleware  (ApplicaJon  Server,  Database)  

– Installing  user  applicaJon  and  applicaJon  data  § Reduced  producJvity  of  Developers  and  Testers  due  to  slow  availability  of  test  environments  

§ Slow  delivery  of  applicaJons  to  producJon  environments  

Manual coordination to provision infrastructure, install and configure middleware and deploy application

Release

Page 7: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation 7!

•  What are our clients saying about their needs?!

•  What’s the right level of control vs. flexibility for my use cases?!

•  What cloud does IBM recommend for Infrastructure as a Service?!

What  should  you  know  about  cloud?  

Page 8: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

What  our  clients  are  saying  about  deploying  cloud  environments  

Applica'on  Workloads  include  Infrastructure,  Middleware  and  Applica'ons  •  I  want  to  manage  these  holisJcally  •  Different  people  have  experJse  in  each  area  •  I  have  different  automaJon  tools  for  each  layer    

Let  me  choose  when  to  re-­‐provision  and  when  to  update  •  SomeJmes  I  want  to  test  in  a  transient  environment  •  Other  Jmes  I  want  to  deploy  changes  into  an  exisJng  environment,  especially  producAon  

Don’t  make  me  pick  a  cloud  •  Different  workloads  have  different  homes  •  I  want  to  be  able  to  test  in  one  cloud,  and  run  producJon  in  another  

Page 9: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

DevOps  and  Cloud  adopJon  

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

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

Networking

Storage

Servers

Virtualization

O/S

Middleware

Data

Applications

PlaEorm  as  a  Service  

PureApplica'on  System    

SmartCloud  Orchestrator    

SoHLayer  

IBM  DevOps  Services  

10

IBM  PaJerns  

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    

UrbanCode  Deploy  

UrbanCode  Deploy  (available with UCDP)  

Mid Config

IBM  Bluemix  

UrbanCode  Deploy  w/Pa2erns  (provisioning & deployment only)

Automating for faster delivery with DevOps and Cloud

Page 10: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation IBM CONFIDENTIAL

OpenStack  is  a  global  collaboraJon  of  developers  &  cloud  compuJng  technologists  working  to  produce  an  ubiquitous  Infrastructure  as  a  Service  (IaaS)  open  source  cloud  compuJng  pla^orm  for  public  &  private  clouds.    

OpenStack  is  our  strategic  direcJon  for  IaaS  cloud  

Platinum Sponsors Gold Sponsors

Compute (core)Provision and manage large networks of virtual machines"

Dashboard (core)Enables administrators and users to access & provision cloud-based resources through a self-service portal."

Heat (core)orchestrates multiple composite cloud applications using templates"

Ceilometer (shared service)Collect monitoring, metering, and other measurements

Storage (core)Provision and manage block-based and object storage"

Network (core)Provision and manage network connectivity"

Identity (shared service)Unified authentication across all OpenStack projects and integrates with existing authentication systems."

Identity (shared service)Unified authentication across all OpenStack projects and integrates with existing authentication systems."

Page 11: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

OpenStack  Heat  provides  cloud  resource  orchestraJon  

§ Provides  a  way  to  represent  infrastructure  from  OpenStack  

§ Recently  added  support  for  client-­‐side  automaJon  through  Shell,  Chef,  or  Puppet  

§ Defined  a  new  Domain  Specific  Language  for  templates:  Heat  OrchestraJon  Template  (HOT)  format  

§ Supports  updaJng  exisJng  environments  in  place  

Page 12: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation 13!

•  Why aren’t my application changes moving into production as quickly as they moved into my QA environments?!

•  How can the roles involved in delivery, work together with greater efficiency and speed?!

How  does  this  new  technology  impact  my  business?  

Page 13: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

§ 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  changes  is  the  current  boEleneck  for  delivery  

Application !Changes!

Infrastructure!Changes!

Page 14: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

Application Changes"

Infrastructure Changes"

A Change is a Change"

…" …"

Page 15: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

Long, complex lifecycle!

Small iterative changes!

Role! Layer!

…! …!Developers/

Testers

Integrators

Specialists Compute, Network,

and Storage

Platforms

Apps

Page 16: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

Developers/ Testers

Integrators

Specialists Compute, Network,

and Storage

Platforms

Apps

Full Stack Blueprint (HOT)

Cloud Orchestration

Describe software defined resources (Compute, !Network, Storage) alongside middleware and applications!

Capture  the  full  stack  as  a  blueprint  document,  acJonable  by  an  automated  process  

Page 17: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

Compute, Network, and

Storage

Platforms

Apps

Compute, Network, and

Storage

Platforms

Apps

Compute, Network, and

Storage

Platforms

Apps

Dev/Test Cloud Production Cloud

Full Stack Blueprint

Dev! QA! Prod!Apply  the  same  blueprint  to  mulJple  environments  

Page 18: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

§  Version  the  blueprint  using  your  source  control  repo  (naJve  support  for  git)  

§  Apply  the  new  versions  of  the  template  to  an  exisJng  environment  or  provision  an  enJre  new  stack  

§  Validate  changes  with  a  "canary"  paEern  to  ensure  correctness  and  detect  problems  earlier  

§  Verify  enJre  stack  before  producJon  

Full-Stack Blueprint

So,ware  Defined  Delivery  

Page 19: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

§ Parameterize  differences  between  cloud  environments  (network  ids,  image  ids,  so,ware  versions)  

§ Overlay  resource  types  for  different  kinds  of  clouds  in  the  same  blueprint  

§ Enable  portability  but  opJmize  for  each  specific  cloud  pla^orm  

Full Stack Blueprint

Config/Params

Cloud A Cloud B

Config/Params

So,ware  Defined  Portability  

Page 20: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation 21!

•  How do you extend your continuous delivery pipeline to take advantage of cloud-based deployments?!

•  How do you create fullstack workloads for each stage of your delivery pipeline?!

How  can  you  apply  these  techniques  to  your  business?  

Page 21: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

Introducing  IBM  UrbanCode  Deploy  with  PaJerns  

ü PaEern  designer  – Design  open,  full  stack  applicaJon  environments  in  a  diagram  or  textual  editor  

ü Design  once,  deploy  anywhere  – Deploy  full  stack  environments  to  mulJple  clouds  

ü Environment  lifecycle  management  

– Manage  infrastructure  change  and  easily  apply  changes  to  exisJng  environments  

ü Delivery  process  automaJon  

– Automated  delivery  process  with  integrated  full  stack  environments  

Design  and  deploy  full  stack  applicaAon  environments  for  mulAple  clouds  

IBM UrbanCode Deploy with Patterns

Application

Middleware Config

Middleware

OS Config

Hardware

Envi

ronm

ent

Blu

eprin

t

hEps://ibm.biz/BdFc2X    

Page 22: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

Faster,  repeatable,  reliable  full-­‐stack  deployment  processes  

SCM Build Automation

QA PROD

Execute application deployment and manage settings across environments

Publish build

Pull changes

SmartCloud  Orchestrator  

Environments DEV DEV DEV DEV

IBM  PureApplica'on  System  

Cloud Provisioning

Deploy Automation

IBM UrbanCode Deploy with Patterns

23

hEps://ibm.biz/BdFcmV    

IBM  Cloud  Manager  with  OpenStack  

Page 23: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

User  Personas  for  IBM  UrbanCode  Deploy  with  PaEerns  

Components

Infrastructure Specialists develop and update reusable building blocks for application environment patterns 1

Application Pattern

HOT

Architects and Integrators design and update application environment patterns from building blocks targeting specific cloud platforms (Amazon, VMWare)

2

Building Blocks

3

Release Engineers leverages the application environment patter to create and manage a multi-stage continuous delivery pipeline

4Application Developers and Testers can test the application changes for in a production-like environment

Des

ign

Tem

plat

es

Dep

loy

Tem

plat

es vSys, vApp

Application

Middleware Config

Middleware

OS Config

Hardware

Page 24: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

Introducing  Web-­‐based  HOT  Editor!  

Page 25: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

Fluid  text  or  diagram  ediJng  experience  

Page 26: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

Provide  catalogs  of  available  resources  

Compute! Network! Storage!

Page 27: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

Include  So,ware  ConfiguraJon!"

UrbanCode Deploy!

o  Provide  So,ware  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  Jme  

Page 28: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation 30!

•  Diagram editor!•  Source text editor !•  HOT as-you-type validation!•  Annotated TODO & errors!•  Quick palette for searching!•  Editor functions: Cut, Copy, Paste,

Find & Replace!•  Zoom diagram or text!•  Comment out infrastructure!

Demo:  Web-­‐based  design  and  provisioning  

Page 29: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

IBM  UrbanCode  focuses  on  Release  AutomaJon  

Drive down cost

Remove manual effort and wasted resource time with push button deployment processes

Speed time to market

Simple, graphical process designer, with built-in actions to quickly create deployment automation

Reduce risk

Robust configuration management, coordinated release processes, audits, and traceability

Enabling clients to more rapidly deliver mobile, cloud, big data and traditional applications with high quality and low risk

IBM UrbanCode Deploy automates the deployment of applications, databases and configurations into development, test and production environments, helping to drive down cost, speed time to market with reduced risk.!!IBM UrbanCode Release is an intelligent collaboration release management solution that replaces error-prone manual spreadsheets and streamlines release activities for application and infrastructure changes. !

Page 30: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

o  Defined  by  the  community  and  vendors  

o  IntegraJon  with  UrbanCode  Deploy  enables  rapid  configuraJon  of  full  applicaJon  stack  

o  Support  ongoing  updates  of  deployed  versions  through  UrbanCode  Deploy  

Example:  So,ware  

Page 31: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

IBM  UrbanCode  Deploy  

o  ApplicaJon-­‐centric  view  

o  Understands  components,  environments,  snapshots  of  verified  component  versions  

o  Promote  from  one  environment  to  the  next,  with  approval  gates  

Page 32: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

IBM  UrbanCode  Deploy  &  Heat  Templates  

o  Extended  to  create  environments  in  OpenStack!  

o  Provisioned  resources  made  available  for  ongoing  updates  

Page 33: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

IBM  UrbanCode  Deploy  &  Heat  Templates  

!o  Choose  HOT  document,  configuraJon,  and  parameters  

o  Discovery  service  provides  easy  access  to  Glance,  Neutron,  Cinder  resources  

Page 34: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation 36!

•  View current environments!•  Create new environments in the

cloud!•  Select available resources from

Nova, Neutron, Cinder!•  Validation feedback in place!•  Update environment over time!•  Deploy new component versions!

Demo:  UrbanCode  Deploy  Consuming  Cloud  PaEerns  

Page 35: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation

o  Chose  this  approach  to  support  mulJple  cloud  targets  from  Heat  

o  Enable  Heat  to  talk  naJvely  to  different  cloud  APIs  

o  Support  portability  for  customers  who  haven’t  yet  adopted  OpenStack  

Example:  DecoraJng  Amazon  

Page 36: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation 40!

•  Provision Network architecture to OpenStack!

•  Provision Network architecture to Amazon (no OpenStack required)!

•  Select pre-defined configuration for each cloud!

Demo:  Cloud  Portability  

Page 37: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation 41

© Copyright IBM Corporation 2013. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.

www.ibm.com/software

Page 38: Improving Software Delivery with DevOps & Software Defined Environments

© 2013 IBM Corporation