VMworld 2013
Amjad Afanah, VMware
Rajesh Khazanchi, VMware
Learn more about VMworld and register at http://www.vmworld.com/index.jspa?src=socmed-vmworld-slideshare
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud Automation Center
1. Best Practices for Application Lifecycle Management
with vCloud Automation Center
Amjad Afanah, VMware
Rajesh Khazanchi, VMware
VCM5154
#VCM5154
2. 22
Forward Looking Statement
Statements made in this presentation which are not statements of
historical fact are forward-looking statements based upon current
expectations. Actual results could differ materially from those projected in
the forward-looking statements. Information regarding risk factors that
could cause actual results to materially differ are contained in documents
filed by VMware with the Securities and Exchange Commission, including
reports that VMware may file with the SEC from time to time on periodic
reports on Form 10-Q and Form 10-K and current reports on Form 8-K.
VMware assumed no obligation to update any such forward-looking
statements after the date of this presentation.
3. 33
Agenda
• Cloud Automation Overview
• Application Maintenance Challenges
• DevOps Model
• vCloud Automation Center Enterprise Edition – Application Maintenance
• Application Director 5.2 Existing Capabilities
• vCAC EE 6.0 Capabilities
• Roadmap
• VWware IT: Application Maintenance Best Practices
5. 55
VMware Cloud Management
Multiplatform Hybrid Multi-provider
Broker
of IT Services
VMware simplifies and automates IT management
and empowers IT to govern services
across multiple platforms and providers
CIO
Turn management into manageability through
intelligent, policy-based automation
The VMware
Approach
6. 66
VMware Cloud Management – Key Solution Areas
Automate the delivery
of infrastructure,
applications and
desktops as a service
across multiple clouds
and platforms.
Cloud
Operations
Manage the health,
risk, efficiency and
compliance of your
infrastructure and
applications.
Cloud
Business
Govern and manage
cloud services as a
critical element of
running IT like a
business.
Intelligent operations
Policy-based
automation
Unified management
Financial
transparency
Industry norms
Prescriptive guidance
Automate everywhere
Policy-based control
and governance
Choice and flexibility
7. 77
Cloud Automation – vCloud Automation Center
• On-demand access to any infrastructure or
application service
• Comprehensive governance for approvals,
reclamations, cost profiles and transparency
• Initial provisioning and lifecycle management
• Broad support for physical, virtual and cloud
provisioning end points and software mechanisms
• Extensibility through integration with existing
infrastructures and customizable workflows
• Enable business agility through rapid delivery of
IT services
• Provide IT control by governing who provisions
what and where
• Extend existing infrastructure, processes and
environments with a flexible automation solution
Benefits
Overview
Self - Service
IaaS PaaS DaaS XaaS
Cloud Automation Center
Heterogeneous Infrastructure
Policy-Based Governance with Automated Delivery
On-demand self-service access to services
9. 99
Applications Today
Source: http://en.wikipedia.org/wiki/Agile_software_development
Developed with ‘agile’ or ‘iterative’ methodologies
Apps released early and often
Expanding into new application types
Mobile, SaaS, social
Written in diverse frameworks
Traditional (Java, .Net) and Modern Frameworks
Deployed on virtual and cloud infrastructure
Span across Private, Public and Hybrid Clouds
Private Clouds
Public/Private/
Hybrid Cloud
Public Clouds
Cloud Operating Model
• Driven by the Cloud Journey
• Leads to distinction of ownership and
collaboration
DevOps
• Apps released early and often
• Businesses need frequent changes
and expect higher service level.
10. 1010
Applications Maintenance Challenges
• Manual or script-based application maintenance methods are error prone & take
too much time
• Applications are developed using different frameworks & can run on different
cloud infrastructures – making it harder to achieve consistent application
update processes
• Agile development requires frequent changes to the applications – requiring
better agility to adapt the continuously changing business needs
12. 1212
What is DevOps?
DevOps is NOT
• A role
• A market segment
• A tool
Build Deploy Manage
Develop Test Release Deploy Update Configure Patch Run
Development Organization IT Organization
Application Development IT Infrastructure & Operations Mgmt.
DevOps is a movement that advocates
1. Collaboration of Dev & IT Ops People
2. Convergence of Process
3. Creation and Exploitation of Tools
13. 1313
How is Application Release Automation Evolving?
“Order to Build” – Help desk-centric
Script-based Run Book Automation
Proprietary / domain knowledge
Single server and OS-centric template
Waterfall Delivery
“Build to Order” – Self-service catalog
Model-based / declarative
Open / crowd-sourced
Multi-node w/ Appstack - “big scale”
Continuous Delivery
Legacy Future
14. 1414
How Software Release Process Works?
1. Team checks in the code to the version control system
2. Every time someone makes a change, the system triggers a build and automated build
verification tests
3. After a successful build, other tests are run – functional and load tests – these are
quality gates
4. If stage fails, someone needs to know right away – pipeline stops until problem is fixed
5. Last stage – build is approved and goes live
15. 1515
Release Automation Solution (1/2)
PROVISIONING
RELEASE
AUTOMATION
Config repository, CMDB,
Service Repository
Source Repository
BUILD & RELEASE
TOOLS
Config Update
Operations Tools
Policy / Config Update
• Jenkins,
• Hudson, etc.• Perforce
• CVS
• Apache Subversion, etc.
- IDE
• Eclipse,
• MS Visual
Studio, etc.
16. 1616
Release Automation Solution (2/2)
PROVISIONING
& RELEASE
AUTOMATION
Deploy
- New or Update existing
workload
Test Promote
- Promote changes to
other environments
- UAT / STAGE
Test
Production
- Run load & functional
tests within Test before
promotion
Approvals
Once Automation &
Manual Tests
Succeed –
Promote to
Production
Approvals
18. 1818
Application Director 5.2 Highlights
Accelerated Application
Provisioning with
Standardized Blueprints
• Graphical drag-and-drop canvas
for modeling application blueprints
• Comprehensive deployment
execution plans
• Growing marketplace
Automated Application Provisioning, Update Lifecycle and Release Automation Solution for Cloud
Ready Applications on Hybrid Clouds
Cloud Ready
• Cloud agnostic application
blueprints
• Out-of-box support for
application stacks
• Extensible architecture
Automated Update
Lifecycle Operations
• Support for Day-2
Operations across all tiers of
the application deployment –
including
o Config & Code Updates
o Scale Out
o Teardown of Apps
19. 1919
Application Director Themes – Q4 2013 (1/3)
• Enforce policies across the different deployment environments by blacklisting
application services or enforcing mandatory services
• Facilitate policy-based provisioning by setting # of Total Instances (VM’s)
limits across all nodes in a deployment
• Compliance View showing policy violations against currently active and
effective policies on deployments & application updates
Policy-based
Provisioning
Reduce time to deliver workload by connecting to an external or existing
service such as
• Provisioned Database,
• Existing Database or F5 Load Balancer
External Services
Extend application updates capabilities by providing
• Ability to rollback failed updates to restore the business & reduce the time to
update an application,
• Re-use of update profiles that store frequently used update scripts & properties
• Promote changes across Deployment Environments to facilitate Release
Automation
• Scale-in clustered applications to save unused resources
Application Updates
Publish & Request
Applications from the
Service Catalog
• Model applications using an intuitive drag-and-drop canvas and publish Deployment
Profiles & Applications to the Service Catalog
• Request applications from the Service Catalog & view overall deployment status from
within the same console
Facilitate multi-tenancy by enabling the sharing & publishing of items (including
Applications, Services & Logical Templates) between different groups (e.g.
companies within an ISP)
Multi-Tenancy
20. 2020
• Reuse Puppet content to build application blueprints in Application Director allowing
customers to:
• ** Model multi-tier applications using Puppet modules - a complementary
feature
• Mix and match Puppet & non-Puppet content in application blueprints
• Support for both Puppet Open Source and Puppet Enterprise
• Manage the application update life-cycle while maintaining multi-node
dependencies, property bindings, & diverse content types
• Leverage vCAC Service Catalog to publish & request Puppet applications
• Multi-tenancy & role-based access layer
• Driver-based architecture that can be used for other integrations in the future
– e.g. Chef, etc.
Integration with Puppet
DBaaS
• Enable an architect to define additional disks for each individual node;
• Enable application deployer to customize the deployment profile for additional disks
(placing disk to specific datastore, or set new size for disks, etc.);
• Enable deployer to write a scripts that run in guest OS to access the metadata of
additional disks;
• Provide enhanced Oracle & MS SQL Server database application blueprints
From within the Application Director UI
• Browse and search both Application Blueprints and Application Services available
in the marketplace
• Import both Application Blueprints and Application Services – including EULA and
Cloud Solution Descriptor & Artifact files
Marketplace Integration
Application Director Themes – Q4 2013 (2/3)
21. 2121
Extend the External REST API’s to automate
• Creating
• Cloud Providers – including importing Cloud Templates
• Deployment Environments
• Update Profiles
• Updating
• Logical Templates
• Deployment Profiles
API Enhancements
Application Director Themes – Q4 2013 (3/3)
22. 2222
Application Updates (1/2)
Rollback Updates
Rollback updates to the previous successful state with
user-defined “rollback scripts”
Visualize both the update flow and the rollback flow in the
Execution Plan
Rollback scripts cover the dependent components in an
application model
Update Profile Re-Use
• Save a repeatable update as an Update Profile
• Supported updates are configuration, code & scale-out
• Modify the value of a changed property while reusing an
update profile
• Add custom tasks in the update execution flow
Rollback updates to restore business
Re-use update profiles to reduce time to execute
frequently used update scripts & properties
Improve operational efficiency and meet the expected
service levels
Operate at scale by facilitating the reuse of update
profiles for the same application
Overview
Benefits
23. 2323
Application Updates (2/2)
Promote Updates
Promote updates to different Deployment Environments
– e.g. promoting an update from Dev to Test
Update promotion applies to application deployments of
the same application
Notifications about available “promoted updates” will be
available allowing deployers to decide whether or not to
apply the promoted update
Scale-In
• Scale-in a clustered deployment to save unused compute
resources if the application is not load constrained
Visualize both the scale-in flow in the Execution Plan
Scale-in update covers the dependent components in an
application model
Facilitate release automation and improve operational
efficiency by promoting updates across Deployment
Environments – e.g. Dev to Test, or Test to Staging
Free up resources when performing scale-in if the
application is not load constrained.
Overview
Benefits
24. 2424
Private
Cloud
Public
Cloud
Public
Amazon
Cloud
Make a Change – Code,
Configuration, Scale-Out
Change
1
Test
Stage
Production
Update
Profile
Change Impact Analysis
Dependency Mapping
Auto-Generate Update Flow
2
Change
Apply Change3
Promote to Next Stag
Change
4
Change
5
Production
NanoTrader Application Blueprint
Lifecycle Mgmt: Application Updates Overview 2013-14
25. 2525
vFabric
Application
Director 5.2
- Automated Deployment for Linux & Windows Applications
- Config & Code Updates
- Scale Out
- Tear Down
vCAC EE
(Q4 2013)
- Promote Updates
- Update Profile Re-Use
- Rollback of Failed Updates
- Scale-in
vCAC EE (2014
& Beyond)
- Support update scripts that do not affect the flow & adding properties post deployment
- Support for release automation stage gates for approvals & governance
- DBaaS: Data Ingestion, Snapshot & Clone
- Plug-ins for IDE’s, Version Control Systems, Continuous Integration, & Test Automation Tools
Release Automation Solution
PROVISIONING
& RELEASE
AUTOMATION
Deploy
- New or Update existing
workload
Test Promote
- Promote changes to
other environments
- UAT / STAGE
Test
Production
- Run load & functional
tests within Test before
promotion
Approvals
Once Automation &
Manual Tests
Succeed –
Promote to
Production
Approvals
27. 27
Corporate IT Application Group
Manage portfolio of enterprise
applications used by global
business functions
DevOps Goal
Leverage Application Director and vCAC to
automate entire application lifecycle
Team
27 DevOps engineers
Role
Provision 16 different dev/test instances that
include 130+ app components
Infrastructure footprint
~4000 non-production VMs
~500 production VMs
Enterprise Application Portfolio
SaaS 65
IT tools 50
Business 100
Total 215
29. 2929
Other VMware Activities Related to This Session
HOL:
HOL-SDC-1314
vCloud Suite Use Cases - Application Provisioning (PaaS)
Group Discussions:
VCM1000-GD
Application Director with Amjad Afanah