improving software delivery with devops & software defined environments
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
© 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
© 2013 IBM Corporation
"Success is not delivering a feature; success is learning how to solve the customer’s problem.” -‐ Mark Cook
© 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
© 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
© 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
© 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
© 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?
© 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
© 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
© 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."
© 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
© 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?
© 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!
© 2013 IBM Corporation
Application Changes"
Infrastructure Changes"
A Change is a Change"
…" …"
© 2013 IBM Corporation
Long, complex lifecycle!
Small iterative changes!
Role! Layer!
…! …!Developers/
Testers
Integrators
Specialists Compute, Network,
and Storage
Platforms
Apps
© 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
© 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
© 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
© 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
© 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?
© 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
© 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
© 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
© 2013 IBM Corporation
Introducing Web-‐based HOT Editor!
© 2013 IBM Corporation
Fluid text or diagram ediJng experience
© 2013 IBM Corporation
Provide catalogs of available resources
Compute! Network! Storage!
© 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
© 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
© 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. !
© 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
© 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
© 2013 IBM Corporation
IBM UrbanCode Deploy & Heat Templates
o Extended to create environments in OpenStack!
o Provisioned resources made available for ongoing updates
© 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
© 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
© 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
© 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
© 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
© 2013 IBM Corporation