Continuous delivery accelerated with DevOps. The document discusses how DevOps and continuous delivery can help speed up software releases through automation. It defines DevOps as taking a holistic view of development and operations. Continuous delivery is establishing a pipeline to reliably and repeatedly deploy any changes to any environment through automation. This pipeline includes continuous integration, testing, deployment, monitoring, and feedback loops.
2. Please note
IBM’s statements regarding its plans, directions, and intent are subject to change or
withdrawal without notice at IBM’s sole discretion.
Information regarding potential future products is intended to outline our general
product direction and it should not be relied on in making a purchasing decision.
The information mentioned regarding potential future products is not a commitment,
promise, or legal obligation to deliver any material, code or functionality.
Information about potential future products may not be incorporated into any
contract. The development, release, and timing of any future features or
functionality described for our products remains at our sole discretion.
Performance is based on measurements and projections using standard IBM
benchmarks in a controlled environment. The actual throughput or performance
that any user will experience will vary depending upon many factors, including
considerations such as the amount of multiprogramming in the user’s job stream,
the I/O configuration, the storage configuration, and the workload processed.
Therefore, no assurance can be given that an individual user will achieve results
similar to those stated here.
2
5. A Holistic View of DevOps
Customers
LOB
PPM
Requirements/
Analyst
Release Management
Deployment Engineer
Idea/Feature/Bug Fix/
Enhancement
Production
Deploy
Get Feedback
Development
Developer
Code Repository
Build
QA
Build
Engineer
QA Team
SIT
Integration Tester
Artifact Repository
UAT
Prod
User/Tester
Operations
Infrastructure as Code/
Cloud Patterns
5
6. Deployment Automation
Not just the application
•Application Components
•Middleware Configurations
•Database Changes
•Environment Configurations
•Orchestrating the deployment
process
What one deploys may be anything from simple
configuration changes; to incremental code changes
towards a new feature; to Database schema changes; to
changes to the environment; to the whole stack.
http://sdarchitect.wordpress.com/2013/10/23/adopting-devops-partiv-adopting-continuous-deployment/
6
8. What does one deploy ‘89 times’ a week?
Continuous Delivery doesn’t mean every
change is deployed to production ASAP. It
means every change is proven to be
deployable at any time
- Carl Caum, PuppetLabs
8
9. Continuous Delivery v. Continuous Deployment
Continuous Delivery is a MUST, Continuous
Deployment is an OPTION.
Having the capability to continuously Deploy is more
important than actually doing it in a continuous
manner out to Production
http://sdarchitect.wordpress.com/2013/10/16/understandingdevops-part-6-continuous-deployment/
9
11. Implementing a DevOps toolchain
Asset
Repository
SCM
Build / CI
Server
Unit testing
Test Automation
Test Stubbing
Delivery
Pipeline
Environment
Configuration
Automated
Monitoring
11
12. Implementing a DevOps Tool Chain: Tools
Plan and Measure
Release and Deploy
Rational Focal Point
Rational Requirements Composer
Line of
Business
SmartCloud Orchestrator
IBM Pure Application System
Openstack
Jenkins
Rational Build Forge
Rational Team Concert
Develop and Test
12
SmartCloud Control Desk
Rational Quality Manager
Rational Test Workbench
Rational Test Virtualization
Server
SmartCloud Application Performance Management
Monitor and Optimize
12
14. Continuous Delivery for Cloud: PaaS
Pull
changes
Build Automation
Build Automation
SCM
SCM
Manage source code
for apps under
development
Publish builds
Artifact Library
Application
Resource
Template
Execute provision with
configuration settings
IBM PureApplication System
IBM UrbanCode Deploy
Execute application
deployment and
manage settings
across environments
Application binaries (versioned)
Environment configurations
(versioned)
IBM SmartCloud Orchestrator
Provision infrastructure
DEV
DEV
QA
QA
PROD
PROD
Cloud Environments
Automate provisioning of environments as part of the end-to-end delivery
process – Establish and automate deployment of Application Blueprint with
resource templates imported from Cloud patterns.
Deploy early and often to ensure high quality and faster releases using
repeatable, reliable, and managed automation - Seamless process flow for
incremental, full stack provisioning and application deployment automation
14
15. Continuous Delivery to PaaS Cloud
The freedom to provision a version of a full stack or incrementally deploy an application version
into an already provisioned environment
Deployment Automation
Blueprint
Blueprint
Resource
Resource
Application
Application
Template
Template
Environments | Processes |
Configurations
Import pattern
Deploy app
DEV
DEV
DEV
DEV
DEV
DEV
Create env
from pattern
QA
QA
PROD
PROD
Cloud Platform
Capture cloud pattern to be used for creating an Environment
Incremental deployment of application builds to cloud environments
Map the application to multiple cloud patterns
15
16. PaaS: Application Deployment vs Environment
Provisioning
What does the Cloud do?
Capabilities
Security, approvals and promotion of
applications through different stages.
Application
Application
Automated Deployment of all
components of Application (DB, Web,
Mobile)
IBM UrbanCode
Deploy
Fast Moving…
Middleware
Middleware
Slow Moving…
Cloud
Provisioning
(IBM
PureApplication
System, IBM
SmartCloud,
Softlayer)
Middleware
Middleware
Packaged
Packaged
Software
Software
Packaged
Packaged
Software
Software
OS
OS
OS
OS
Compute | |
Compute
Storage
Storage
Compute | |
Compute
Storage
Storage
Network
Network
Cloud Management
Automated Middleware configuration
required for Application Deployment
Discover MW Configuration for WAS
Virtual System Pattern Creation and
Provisioning
Self Service Portal for VM Provisioning
Image Library (Search / Compare,
Versioning, and SW Stacks)
Basic Single Image Composition,
Manipulation of images with preconfigured middleware
Multi-tenancy, Isolation, Rapid ,
Scalable Provisioning
Cloud Administration
16
17. Delivery pipelines for SaaS: BlueMix
Everything is a service in the Cloud
Create
& edit
Developer
Build
Dev as aaService
Dev as Service
Deploy
& test
Running Application
Running Application
(Dev Space)
(Dev Space)
Build as aaService
Build as Service
Publish
build
Deploy as aaService
Deploy as Service
Deploy
Promote
Running Application
Running Application
Running Application
Running Application
(test)
(test)
(Test Space)
(Test Space)
Running Application
Running Application
(Prod Space)
(Prod Space)
Test
Monitor
Test as aaService
Test as Service
Monitoring as aaService
Monitoring as Service
17
Seamless process flow for incremental, full stack provisioning and application deployment automation
Extend UrbanCode Deploy to capture Resource Templates
Describe desired pattern to use from the cloud
Associate application components to pattern resources