Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode...

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

description

IBM UrbanCode Deploy with Patterns is a full-stack environment management and deployment solution that enables users to design, deploy and update full-stack environments for multiple clouds. Join Michael Elder, Senior Technical Staff Member, IBM DevOps, as he shows you how you can improve your customer feedback loop using iterative, full-stack application design for the cloud. In this webinar, he will cover an innovative new way of designing and versioning your cloud applications through a web-based environment development toolkit.

Transcript of Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode...

Page 1: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation

Accelerating Product and Service Innovation

Improving Software Delivery with DevOps & Software Defined Environments

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

Page 2: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 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 | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation

Acceleratesoftware 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 continuous software delivery that enables clients to seize market opportunities and reduce time to customer feedback

Page 4: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 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.

Optimize pipeline with an even flow end to end

Page 5: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation

IBM DevOps increases velocity of application delivery

Rational Collaborative Lifecycle Management (CLM) enables agile development

Rational Test Workbench and Rational Test Virtualization Server (GreenHat) enables Continuous Testing

IBM UrbanCode solutions enable Continuous Release and Deployment

SmartCloud Monitoring, Worklight Quality Assurance, IBM Digital Analytics and others enable Continuous Monitoring and customer feedback

IBM UrbanCode Deploy

Release

Rational Team ConcertRational Focal PointRational Requirements Composer

Rational Build Forge

IBM UrbanCode Release

Page 6: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation

Deploying cloud environments still slow and manual

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

–Provisioning infrastructure and configuring network, storage and compute

– Installing and configuring Middleware (Application Server, Database)

– Installing user application and application data

Reduced productivity of Developers and Testers due to slow availability of test environments

Slow delivery of applications to production environments

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

Release

Page 7: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation7

• 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 | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation

What our clients are saying about deploying cloud environments

Application Workloads include Infrastructure, Middleware and Applications• I want to manage these holistically• Different people have expertise in each area• I have different automation tools for each layer

Let me choose when to re-provision and when to update• Sometimes I want to test in a transient environment• Other times I want to deploy changes into an existing environment, especially

production

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

Page 9: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation

DevOps and Cloud adoption

Customization; higher costs; slower time to value

Standardization; lower costs; faster time to value

Networking

Storage

Servers

Virtualization

O/S

Middleware

Data

Applications

Platformas a Service

PureApplication System

SmartCloud Orchestrator

SoftLayer

IBM DevOps Services

10

IBM Patterns

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

Infrastructureas a Service

Manual

UrbanCode Deploy

UrbanCode Deploy(available with UCDP) Mid Config

IBM Bluemix

UrbanCode Deploy w/Patterns(provisioning & deployment only)

Automating for faster delivery with DevOps and Cloud

Page 10: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM CorporationIBM CONFIDENTIAL

OpenStack is a global collaboration of developers & cloud computing technologists working to produce an ubiquitous Infrastructure as a Service (IaaS) open source cloud computing platform for public & private clouds.

OpenStack is our strategic direction 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.

https://ibm.biz/BdxrtX

Page 11: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation

OpenStack Heat provides cloud resource orchestration

Provides a way to represent infrastructure from OpenStack

Recently added support for client-side automation through Shell, Chef, or Puppet

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

Supports updating existing environments in place

Page 12: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation13

• 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 | The New IBM UrbanCode Deploy with Patterns

© 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 bottleneck for delivery

Application Changes

InfrastructureChanges

Page 14: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation

Application Changes

InfrastructureChanges

A Change is a Change

… …

Page 15: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation

Long, complex lifecycle

Small iterative changes

Role Layer

… …Developers/

Testers

Integrators

SpecialistsCompute, Network,

and Storage

Platforms

Apps

Page 16: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation

Developers/Testers

Integrators

SpecialistsCompute, 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, actionable by an automated process

Page 17: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 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 StackBlueprint

Dev QA Prod

Apply the same blueprint to multiple environments

Page 18: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation

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

Apply the new versions of the template to an existing environment or provision an entire new stack

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

Verify entire stack before production

Full-StackBlueprint

Software Defined Delivery

Page 19: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation

Parameterize differences between cloud environments (network ids, image ids, software versions)

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

Enable portability but optimize for each specific cloud platform

Full StackBlueprint

Config/Params

Cloud ACloud B

Config/Params

Software Defined Portability

Page 20: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation21

• 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 | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation

Introducing IBM UrbanCode Deploy with Patterns

Pattern designer

–Design open, full stack application environments in a diagram or textual editor

Design once, deploy anywhere

–Deploy full stack environments to multiple clouds

Environment lifecycle management

–Manage infrastructure change and easily apply changes to existing environments

Delivery process automation

–Automated delivery process with integrated full stack environments

Design and deploy full stack application environments for multiple clouds

IBM UrbanCode Deploy with Patterns

Application

Middleware Config

Middleware

OS Config

Hardware

En

viro

nm

ent

Blu

epri

nt

https://ibm.biz/BdFc2X

Page 22: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 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

EnvironmentsDEVDEVDEVDEV

IBM PureApplication System

IBM UrbanCode Deploy

Cloud Provisioning

Deploy Automation

IBM UrbanCode Deploy with Patterns

23

https://ibm.biz/BdFcmV

Page 23: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation

User Personas for IBM UrbanCode Deploy with Patterns

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

pla

tes

Dep

loy

Tem

pla

tes

vSys, vApp

Application

Middleware Config

Middleware

OS Config

Hardware

Page 24: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation

Introducing Web-based HOT Editor!

Page 25: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation

Let’s get textual!

Page 26: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation

Provide catalogs of available resources

Compute Network Storage

Page 27: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation

Include Software Configuration!

UrbanCode Deploy

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

Page 28: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation30

• 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 | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation

IBM UrbanCode focuses on Release Automation

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 | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation

o Defined by the community and vendors

o Integration with UrbanCode Deploy enables rapid configuration of full application stack

o Support ongoing updates of deployed versions through UrbanCode Deploy

Example: Software

Page 31: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation

IBM UrbanCode Deploy

o Application-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 | The New IBM UrbanCode Deploy with Patterns

© 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 | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation

IBM UrbanCode Deploy & Heat Templates

o Choose HOT document, configuration, and parameters

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

Page 34: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation36

• 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 Patterns

Page 35: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation

o Chose this approach to support multiple cloud targets from Heat

o Enable Heat to talk natively to different cloud APIs

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

Example: Decorating Amazon

Page 36: Improving Software Delivery with DevOps & Software Defined Environments | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation40

• 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 | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation41

© 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 | The New IBM UrbanCode Deploy with Patterns

© 2013 IBM Corporation