• Agility means…
• Changing direction in a rapid response to a change in market conditions.
• Make the right move at the right time.
• Agility of enterprise applications - a critical factor in ensuring a successful, agile
business as the customer interface goes online and mobile.
• Cloud-based applications are not automatically agile, however.
• To make cloud-based applications agile…
• There has to be a commitment to platforms, tools, processes and people.
• Cloud-based apps have to be easy to change as possible.
• DevOps paradigm.
• Attention to the management of the underlying cloud infrastructure itself.
• Cloud Application Agility Index: Helps you sort out where you may face
challenges in agility and how you can address them.
The Impact of the New Digital
• Business is awash in changes in the way they connect with customers and
partners, as well as employees.
Growth in mobile device use and variety, the surge in tablets.
“Bring Your Own Device” (BYOD) trends.
43% increase in developers creating apps for business.*
63% of developers reporting either “increased” or “greatly increased” demand for
enterprise apps since the beginning of 2013.*
• Consumers expect to engage with businesses using interactive technologies that
are modern and feature-complete.
• The feature set will be continuously changing.
• In response, the application development teams in many businesses have started
to act like lean startups.
• Goal: Achieve the ultimate positive user experience or achieve the fastest
turnaround time for a new feature, change or bug fix.
• Goal: Quickly build software that creates differentiation and strategic advantage
• Developers and their counterparts in IT operations must work together.
Defining Cloud Application Agility
• Cloud application agility flows from business
• Enterprise applications were created to serve
• Business managers tend define agility in terms
of the following questions:
• How quickly can you get feedback from the
end customer or customer-facing systems?
• How quickly can you decipher the
• How quickly can you decide what needs to
• How quickly can you implement the plan?
• How quickly can you deploy the plan?
We Can Do It More Quickly…
• IT managers are moving applications to the cloud.
• Several cloud application use cases out as candidates to help
businesses improve agility, including:
Development and test in the cloud
New cloud-based applications for both B2C and B2B scenarios,
Better on-premise applications, such as data analytics.
Hybrid cloud applications that connect to on-premise systems.
Migrating existing applications to the cloud.
Barriers to Application Agility
• Moving an application to the cloud does not ensure agility.
• Barriers to cloud application agility include:
• Lack of automation. “Lifting and Shifting” application images to the
cloud may cause development and deployment processes to cease to be
• Incompatible platforms and image management.
• Platform-as-a-Service (PaaS) and Infrastructure-as-a-Service (IaaS) platforms
have different specifications regarding VMs that they host.
• It is usually impossible to move a VM image from an on-premise server to an
IaaS instance without modification.
• If development activities persist on-premise while deployment to IaaS
requires continual updating of VM images, the process will slow down.
Solving the App Agility Challenge
• No magic bullet that will make cloud applications more agile.
• Levels of maturity in different disciplines will affect the organization’s ability to
make agile moves with cloud-based applications.
• View cloud application agility along two basic axes:
• DevOps, which is the merging of software development.
• IT operations; and cloud management.
• DevOps and cloud management together
• Essential agility factors: work stream and test automation, social collaboration
processes amongst people, and orchestration.
• Goal: Combine automation with collaboration, orchestration and management.
• People and practices.
• The best tooling in the world will never make an application agile if the people
involved are not working together in a coherent process.
DevOps and Cloud Management
• Development and Operations must be put on the same page in interpersonal
• Automation augments the unity of people and speeding up the build-test-release
• Social collaboration helps stakeholders stay connected around specific events and
• Transparent activity streams give individual and team visibility into what’s going on in
other work areas.
• DevOps needs to automate various orchestration and management tasks.
• Cloud management complements DevOps in making cloud applications agile.
• Infrastructure managers should ideally be able to migrate applications quickly and easily
between on-premise instances and multiple cloud IaaS providers.
• Application deployments and updates need to be continuous.
• The DevOps process can provide continuous delivery of code, but the cloud platform –
whatever it is – needs to be configured and tooled to enable continuous updating.
• Application-centric infrastructure
• Infrastructure that can be automatically configured to handle application-specific needs
• Manages IaaS to the next level, allowing for application-specific configuration templates
that can scale and change on demand.
DevOps Agility Factors
Work Stream and Test
Embed Ops into Dev
and Dev into Ops
Automate the BuildTest-Release process
feedback loops into
dev, test and ops.
management and issue
Monitor build-releaseprovision process.
allocation and task
Social Collaboration Process
collaboration, e.g., around a
build failure or APM alert.
Set up real time
notifications, alerts and
Create real time,
transparent, activity streams
between all roles in dev,
test, ops, and product
Provide open dashboard
Orchestration and Management
Automate code repo to
Manage performance of
metrics and tracking.
All Up Agility Dashboard
Maintain a continually
updated database with
analytics across the
application life cycle and
across the project portfolio
makes all the difference
composable services with
Manage provisioning and
access of APIs and monitor
API usage and service levels.
Cloud Management Agility Factors
based on automated
triggers and values, from
architecture and by stages
dev to test to staging.
public and hybrid
clouds. Model and
Automate through an
Build the application
across the application
once but deploy
Support legacy and cloud
Centralize visibility with
Set up real time alerts
Automate the end-toand root cause analysis.
Provide for auto-scaling
end delivery and
and fail over architecture.
The Evolution of an Agile Cloud
No deploy engine
Deploy engine on
Elastic build engine
handled by usage
engine on cloud
• Phase I - Simple build engine to automate the basic workflow of application
development and testing. Deployment is manual.
• Phase II may include sub-optimal manual handoffs between automated
sequences of steps.
• Phase III is an agile state, with an elastic build engine and elastic deploy engine in
• Automating the application lifecycle does not necessarily mean that cloud
infrastructure will be automated in parallel.
The Cloud Application Agility Index
• Measure the sophistication of each of the six agility factors.
Work Stream and Test Automation
Social Collaboration Process
0. No Automation
1. Build Automation
2. Test Automation
3. Deployment Automation
0. Limited/manual collaboration
1. Collaboration as culture but
not in tooling.
2. Collaboration built into tooling
3. Analytics-driven, optimized
0. “One-Off” deployment
1. Semi-automated continuous
deployment with manual handoffs.
2. Continuous deployment
3. Analytics-based, self-optimizing
0. Bare metal
1. Public cloud
2. Hybrid cloud
3. Self-running cloud
Orchestration and Management
0. Completely manual
1. System/Tool events
2. Software development events
3. End user/Production event
0. Infrastructure is unaware of
1. Manual implementation of
2. Automated, applicationcentric infrastructure.
3. Analytics-based, selfoptimizing application-centric
Agility Factors Across DevOps and
Metrics and Unified Management
• Any effort to achieve agility must be based on measurement.
• Throughput time for code going from requirements to dev, test
• Time and person-hours required to manage cloud infrastructure.
• Establish quantitative goals for improvement in agility.
• Tooling counts.
• Best case scenario: Orchestration and management platform
tie together all the toolsets of your choice and orchestrates all
the various processes and disciplines involved in making cloud
• Application agility is more crucial today than ever before.
• The cloud offers an opportunity to increase the speed of application
changes and scaling.
• But, it does not guarantee these results.
• Application agility in the cloud must be built through
process, people, and tooling.
• For applications to benefit from that Agility, you need to marry DevOps
and cloud management.
• The cloud application agility index provides a way to think about the
factors that affect agility in a particular organization.
• 10900 NE 8th Street, Suite 1000
Bellevue WA 98004