Private cloud day session 4 automating and delivering services in your private cloud
Delivering Applications Continuously to Cloud
-
date post
14-Sep-2014 -
Category
Technology
-
view
2.029 -
download
3
description
Transcript of Delivering Applications Continuously to Cloud
Delivering Applications Continuously to Cloud
© 2013 IBM Corporation
Sanjeev SharmaIBM Worldwide Lead – DevOps Technical SalesExecutive IT Specialist, IBM Software [email protected]
Twitter: @sd_architectBlog: http://bit.ly/sdarchitect Author: DevOps for Dummies: http://ibm.co/devopsfordummies
Agenda
• What is DevOps?• DevOps Practices
o Continuous Delivery / Deploymento Infrastructure as Code
• Cloud Platform• Cloud Workloads and DevOps• Continuous Deployment to Cloud• IBM DevOps for Cloud Solution
Agenda
• What is DevOps?• DevOps Practices
o Continuous Delivery / Deploymento Infrastructure as Code
• Cloud Platform• Cloud Workloads and DevOps• Continuous Deployment to Cloud• IBM DevOps for Cloud Solution
Market trends and expected client business outcomesDependent on rapid Software Innovation and Delivery
4
Continuousclient experience
Partner valuechain
Cloud-basedServices
Systems of Engagement Systems of Record
SAP HR
DB ERP
Systems of Interaction
Leverage cloud to enable flexibility and offer new services
Integrate, evolve and maintain stability of services and comply with any regulations
Rapidly deliver differentiating digital content, applications and services to grow revenues & obtain new customers
Provide differentiating client experience to meet the needs of empowered users
Enable a software supply chainInternet of Things
Deliver software based innovation to enable machine to machine interactions
Fuels investments in
innovation
Drives need for continuous IT
optimization
Optimization Innovation
A Balancing Act
6
Capabilities and User Experience Current Emerging (Additive)
Time to Value Planned Opportunistic
Primary Workload Types Transactional Transactional +Big Data, Analytics, Mobile, Social
Application Architecture Fault Tolerant Recovery Oriented
Service Sourcing Develop Consume and Assemble, Polyglot (Public and Private)
Delivery Model Planned Incremental (DevOps)
Development and Operations Team Sizes 100s and Costly 10s with built-in DevOps automation
Release Frequency Months to Years Days to Weeks, based on business opportunity
Integration Frequency Weeks Continuous
Infrastructure Deployment & Changes
Days Minutes
Operational Model External Systems Management
Application-awareness, Continuous Availability & Optimization
AP
PD
EV
OP
S
Changing business demands are impacting - Application Architecture, Development & Operations
Accelerate Software Delivery
Balance speed, cost, quality and risk
Reduce time to customer feedback
DevOps
Enterprise capability for continuous software delivery that enables clients to seize market opportunities and reduce time to customer feedback
7 7
Continuous Innovation, Feedback and Improvements
DevOps Lifecycle
Operations/Production
Development/TestCustomers
BusinessOwners
William Deming – American statistician
Major influencer of Japanese manufacturing and business
Famous for Plan-Do-Check-Act cycle (Deming Cycle)
PDCA cycles found in DevOps
8
William Edwards Deming
Plan Do
CheckAdjust
Deming Cycles and DevOps
Qualit
y
Plan Do
CheckAdjust
Plan Do
CheckAdjust
Overhead and Rework
Valuable Work 80%
20%
60%
40%
Removing WasteDevOps shares ideas with Lean such as the removal of waste from business processes
Waste of overproduction
Waste of time and resources waiting
Waste of processes themselves (overhead)
Waste of poor quality products
9
DevOps approach: Apply Lean principles to software innovation and delivery to create a continuous feedback loop with customers
Line-of-business
Customer
1
3
2
1. Get ideas into production fast2. Get people to use it3. Get feedback
Adopt DevOps approach to continuously manage changes, obtain feedback and , deliver changes to users
Eliminate any activity that is not necessary for learning what customers want
DevOps Solution: Adoption paths, open platform and key capabilities
Deployment
Provisioning
Release / Deploy
Develop /Test
Monitor / Optimize
Monitoring
Customer Feedback
Code
Test
Portfolio Management
Requirements
Plan /Measure
Change & Configuration Management
Dashboards/Analytics
Business Owner
PlatformOperations
ServiceDeveloper
Collaboration
TargetCustomer
Jazz, OSLC and Open Standards Platform
DevOps Solution: Adoption paths, open platform and key capabilities
Deployment
Provisioning
Release / Deploy
Develop /Test
Monitor / Optimize
Monitoring
Customer Feedback
Code
Test
Portfolio Management
Requirements
Plan /Measure
Change & Configuration Management
Dashboards/Analytics
Business Owner
PlatformOperations
ServiceDeveloper
Collaboration
TargetCustomer
Jazz, OSLC and Open Standards Platform
Deployment Automation
Cloud Platform
Agenda
• What is DevOps?• DevOps Practices
o Continuous Delivery / Deploymento Infrastructure as Code
• Cloud Platform• Cloud Workloads and DevOps• Continuous Deployment to Cloud• IBM DevOps for Cloud Solution
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/understanding-devops-part-6-continuous-deployment/
Continuous Delivery v. Continuous Deployment
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
Infrastructure as Code/Software Defined Environment
package "apache2" do
package_name node['apache']['package']
end
service "apache2" do
case node['platform_family']
when "rhel", "fedora", "suse"
service_name "httpd"
# If restarted/reloaded too quickly httpd has a habit of failing.
# This may happen with multiple recipes notifying apache to restart - like
# during the initial bootstrap.
restart_command "/sbin/service httpd restart && sleep 1"
reload_command "/sbin/service httpd reload && sleep 1"
http://sdarchitect.wordpress.com/2012/12/13/infrastructure-as-code/
Deployment Automation
http://sdarchitect.wordpress.com/2013/10/23/adopting-devops-part-iv-adopting-continuous-deployment/
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.
Not just the application• Application Components• Middleware Configurations• Database Changes• Environment Configurations• Orchestrating the deployment
process
Agenda
• What is DevOps?• DevOps Practices
o Continuous Delivery / Deploymento Infrastructure as Code
• Cloud Platform• Cloud Workloads and DevOps• Continuous Deployment to Cloud• IBM DevOps for Cloud Solution
IaaS: Cut IT expense and complexity through a cloud enabled data center
PaaS: Accelerate time
to market with cloud platform services
SaaS: Gain immediate access with business solutions on cloud
Innovate business models by becoming a cloud service provider
Adoption patterns are emerging for successfully beginning and progressing cloud initiatives.
Agenda
• What is DevOps?• DevOps Practices
o Continuous Delivery / Deploymento Infrastructure as Code
• Cloud Platform• Cloud Workloads and DevOps• Continuous Deployment to Cloud• IBM DevOps for Cloud Solution
Workloads
Dev-Test
Cloud OE
IaaS and DevOps: Deploying to pre-provisioned ‘static’ environment
20
Cloud Hosted Environments
Continuously Deliver to Dev and QA (pre- Prod) on
Cloud. Prod is on-prem physical servers or segregated
Cloud
Dev-Test Workload
CloudOperating
Environment
DevelopmentServices
OperationalServices
InfrastructureServices
ApplicationServices
CREATE CONSUME
CAPACITYVISIBILITY / CONTROL
• Enable applications to be rapidly & incrementally composed from services
• Deliver application changes continuously• Enable continuous availability• Support fit-for-purpose programming models &
services• Embed manageability of services & application• Workload Optimized & Elastic
APIsAPIs
APIsAPIs
APPLICATIONS / WORKLOADS(define user experience, services & programming models; composition model; operational model; differentiation)
• Persistence• Messaging & Workflow• Scripting &
Programming Languages• (Social media) Analytics
• Compute, Storage, Network
• Clustering & Elasticity
• Logging• Monitoring• Security
• Code Repository & Version control
• Continuous build & Test
A Service Oriented Architecture (Cloud Operating Environment)
Value of Cloud to DevOps Adoption
Dev-Test Value:
Developer/QA Self-service
Access to Production-like Environments
Environment and Middleware Configuration Management
–Infrastructure as Code
Environment Management:
Expendable Environments (Phoenix Servers)
Promotable Environments (Netflix approach)
23
Agenda
• What is DevOps?• DevOps Practices
o Continuous Delivery / Deploymento Infrastructure as Code
• Cloud Platform• Cloud Workloads and DevOps• Continuous Deployment to Cloud• IBM DevOps for Cloud Solution
Application Deployment vs Environment Provisioning
Compute | Storage
OS
Packaged Software
Application
Middleware
Compute | Storage
OS
Packaged Software
Middleware
Network
Cloud Platform
Cloud Management
DeploymentAutomation
Capabilities
Security, approvals and promotion of applications through different stages.
Automated Deployment of all components of Application (DB, Web, Mobile)
Automated Middleware configuration required for Application Deployment
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 pre-configured middleware
Multi-tenancy, Isolation, Rapid , Scalable Provisioning
Cloud Administration
Fast Moving…
Slow Moving…
Deployment Automation
Blueprint
ApplicationResource Template
Continuous Delivery to Cloud
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
The freedom to provision a version of a full stack or incrementally deploy an application version into an already provisioned environment
Environments | Processes | Configurations
Create env from pattern
Deploy app QA PRODDEVDEVDEVDEV
Import pattern
Cloud Platform
Agenda
• What is DevOps?• DevOps Practices
o Continuous Delivery / Deploymento Infrastructure as Code
• Cloud Platform• Cloud Workloads and DevOps• Continuous Deployment to Cloud• IBM DevOps for Cloud Solution
UrbanCode: premier Release and Deploy Automation Solution
28
Enabling clients to more rapidly deliver mobile, cloud, big data and traditional applications with high quality and low risk
IBM UrbanCode Deploy IBM UrbanCode Release
• Simplifies deployment automation for applications
• Manage configurations across environments
• Intelligent deployment artifact tracking• Higher quality with repeatable, reliable,
and governed processes• Technology plugins supported out of the
box
• Define, manage, and coordinate operational releases
• Aggregates applications into single release
• Phases to support quality and geo dispersed deployments
• Coordinate manual and automated tasks• Replaces manual spreadsheets and
documents
Application Deployment Automation
Manage application components and versions
Manage environment configuration from dev/test through production
29
Deployment of Applications across Environments
Compliance: audit trails quality gates
Easy to use process designer
Inventory: what is where
IBM UrbanCode Deploy
Line of Business
Deployment and Provisioning
SmartCloud OrchestratorIBM Pure Application System
30
IBM UrbanCode Deploy
IBM UrbanCode Release
Improve Delivery Lifecycle with Software Defined Environments
SCM Build Automation
IBM Endpoint Manager
QA PROD
Provision platformExecute application deployment and manage settings across environments
Patch/update
Publish build
Pull changes
SmartCloud Orchestrator
Platform Config Management
Environments
Deploy early and often to ensure higher quality and faster releases using repeatable, reliable, and managed automation
DEVDEVDEVDEV
IBM PureApplication System
UrbanCode Deploy supports Virtual System Patterns
Virtual Application Patterns
• Highly automated deployments using expert patterns
• Business policy driven elasticity
• Built for the cloud environment
• Leverages elastic workload management services
Best TCOcloud applications
Virtual System Patterns
• Automated deployment of middleware topologies
• Traditional administration and management model
• Application and infrastruture driven elasticity
Improved TCOvirtualized applications
Standard TCOexisting applications
Virtual Appliances• Standard software installation
and configuration on OS
• Images created through extend/capture
• Traditional administration and management model
• Infrastructure driven elasticity
Virtual Appliance
Metadata
Softwareapplication
Operatingsystem
Virtual Appliance
Virtual Appliance
Metadata
ApplicationServer
Operatingsystem
Virtual Appliance
Metadata
ApplicationServer
Operatingsystem
Virtual Appliance
Metadata
HTTPServer
Operatingsystem
Virtual Application PatternsVirtual System PatternsVirtual Appliances
Softwareapplication
IBM UrbanCode Deploy
Blueprint
ApplicationResource Template
Continuous Delivery to Cloud
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
The freedom to provision a version of a full stack or incrementally deploy an application version into an already provisioned environment
Environments | Processes | Configurations
Create env from pattern
Deploy app QA PRODDEVDEVDEVDEV
Import pattern
Application Deployment vs Environment Provisioning
Compute | Storage
OS
Packaged Software
Application
Middleware
Compute | Storage
OS
Packaged Software
Middleware
Network
Cloud
Provisioning (PureApplication System or SmartCloud Orchestrator)
Cloud Management
IBM UrbanCode Deploy
Capabilities
Security, approvals and promotion of applications through different stages.
Automated Deployment of all components of Application (DB, Web, Mobile)
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 pre-configured middleware
Multi-tenancy, Isolation, Rapid , Scalable Provisioning
Cloud Administration
Support for Chef Solo to configure a Component
Chef is a ruby-based automation platform created by Opscode
Chef Solo runs a local client to “converge” the node which just means execute the automation
We can embed Chef recipes in a Component version, and use properties known to UCD to drive customization of the recipe
– Example: replace token with value of database hostname, which will then by used by the recipe to configure the connection
Optionally install chef-solo onto the host, or pre-install into virtual image
Replace tokens in the *_node.json files which are included in the component artifacts
Invoke chef-solo –N <nodeName> to configure the host
Application Deployment AutomationWAS Configuration Template Creation
7 -
Dep
loy
Application-centric middleware configuration management
5 - Publish
Middleware Administrator-or-Application Developer
Exemplar WAS Cell
2 - Plugin
3 - Import 4 - Assemble
WAS Configuration Template
Artifact Library
Deployment Automation Developer
6 – Define Deployment Process
7 -
Dep
loy
7 -
Dep
loy
Application EnvironmentsQA ProdDev
Application
EAR
WAR
DB
Cluster
template
Accelerate continuous testing with Service Virtualization
Deploy what is ready, virtualize the rest - Enable continuous integration testing and progressive deployments throughout the software delivery lifecycle for complex applications
Automate the creation of virtual test environments as part of the end-to-end DevOps process Establish a virtual system pattern with automated deployment to standardize and share test environments quickly and easily across projects and teams
Enable an end-to-end Agile software delivery process Increase the frequency of releases by testing earlier in the development cycle and deploying reliably to pre-production and production environments..
Databases Mainframeapplications
Third-partyServices
Rational Test Virtualization Server
Virtualized services
Dev QA
Deploy
Rational Test Workbench
TestConfigure
IBM UrbanCode Deploy
RTW plugin RTVS plugin
1
23
IBM UrbanCode Deploy v6.0
Plan / Measure Development / Test Release / Deploy Monitor / Optimize
Scaled
Reliable
Repeatable
Practiced
DevOps maturity model
Define release with business objectives
Measure to customer value
Plan and source strategically
Dashboard portfolio measures
Link objectives to releasesMeasure to project metrics
Automate problem isolation and issue resolution
Optimize continuously
Improve continuously with development intelligence
Test Continuously
Manage environments through automation
Provide self-service build, provision and deploy
Monitor using business and end user context
Centralize event notification and incident resolution
Deliver and build with testCentralize test management
Link lifecycle information
Plan departmental releases and automate status
Automated deployment with standard topologies
Optimize applications Use enterprise issue resolution procedures
Deliver and integrate continuously
Manage data and virtualize services for test
Standardize and automate cross-enterprise
Automate patterns-based provision and deploy
Document objectives locallyManage department
resources
Monitor resources consistently
Collaborate Dev/Ops informally
Manage Lifecycle artifactsSchedule SCM integrations
and automated builds Test following construction
Plan and manage releases Standardize deployments
Industry norm
DevOps for Dummies – available now!
39 http://ibm.co/devopsfordummies
40
© 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.