16
Assessing Cloud Application Agility Pradeep Prabhu CEO, CloudMunch Copyright © 2014 by CloudMunch, Inc.

Assessing Cloud Application Agility

  • View
    331

  • Download
    2

Embed Size (px)

DESCRIPTION

Assessing Cloud Application Agility with DevOps - How can DevOps help to streamline your dev process? Find out with this presentation

Citation preview

Page 1: Assessing Cloud Application Agility

Assessing Cloud Application Agility

Pradeep PrabhuCEO, CloudMunch

Copyright © 2014 by CloudMunch, Inc.

Page 2: Assessing Cloud Application Agility

Overview• 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.

2

Page 3: Assessing Cloud Application Agility

The Impact of the New Digital Services Economy• 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.

* http://www.forbes.com/sites/parmyolson/2013/06/26/forget-angry-birds-more-developers-are-making-in-house-apps-for-companies/

3

Page 4: Assessing Cloud Application Agility

Defining Cloud Application Agility

• Cloud application agility flows from business agility.

• Enterprise applications were created to serve business needs.

• 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 feedback?• How quickly can you decide what needs to

be done?• How quickly can you implement the plan?• How quickly can you deploy the plan?

Launch App

Get feedback

Plan changes

Develop new

version

Deploy App

4

Page 5: Assessing Cloud Application Agility

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.

5

Page 6: Assessing Cloud Application Agility

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 automated.

• 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.6

Page 7: Assessing Cloud Application Agility

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.

• Tooling • 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.

7

Page 8: Assessing Cloud Application Agility

DevOps and Cloud Management

• Development and Operations must be put on the same page in interpersonal terms, • Automation augments the unity of people and speeding up the build-test-release process. • Social collaboration helps stakeholders stay connected around specific events and

contexts.• 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

optimally. • Manages IaaS to the next level, allowing for application-specific configuration templates

that can scale and change on demand.

8

Page 9: Assessing Cloud Application Agility

DevOps Agility FactorsDiscipline Agility FactorDevOps Work Stream and Test

AutomationSocial Collaboration Process Orchestration and Management

Embed Ops into Dev and Dev into Ops

Automate the Build-Test-Release process flow.

Add production feedback loops into development.

Integrate release workflows between dev, test and ops.

Unify requirements management and issue tracking.

Monitor build-release-provision process.

Automate work allocation and task management.

Establish contextual collaboration, e.g., around a build failure or APM alert.

Set up real time notifications, alerts and social feeds.

Create real time, transparent, activity streams between all roles in dev, test, ops, and product management.

Provide open dashboard with analytics/metrics.

Automate code repo to cloud deployment.

Governance/audits/Compliance.

Manage performance of builds/deploys/release 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

Enable multi-device deployment and composable services with REST APIs

Manage provisioning and access of APIs and monitor API usage and service levels.

9

Page 10: Assessing Cloud Application Agility

Cloud Management Agility Factors

Cloud Management Hybrid/Multi-Cloud management

Continuous application deployments/updates

Application-Centric Infrastructure

Unified cloud management

Seamlessly span multi-vendor private, public and hybrid clouds. Model and Build the application once but deploy anywhere.

Automated service delivery

Automate the end-to-end delivery and management of infrastructure and application services across cloud

Hybrid cloud application architecture

Automated deployment based on automated triggers and values, from dev to test to staging.

Configure management environments consistently across the application lifecycle.

Support legacy and cloud era applications.

Set up real time alerts and root cause analysis.

Provision infrastructure by application architecture and by stages (dev/test/staging/production)

Automate through an application-driven policy model.

Centralize visibility with real-time, application health monitoring.

Provide for auto-scaling and fail over architecture.

10

Page 11: Assessing Cloud Application Agility

The Evolution of an Agile Cloud Application Environment

• 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 the cloud.

• Automating the application lifecycle does not necessarily mean that cloud infrastructure will be automated in parallel.

Phase I

Simple build engine

No deploy engine

Phase IISimple build

engineDeploy engine on

premise

Phase IIIElastic build engine

Elastic deploy engine on cloud

Phase IVDeployment staged and

handled by usage feedback.

11

Page 12: Assessing Cloud Application Agility

The Cloud Application Agility Index

• Measure the sophistication of each of the six agility factors. Discipline Agility FactorDevOps Work Stream and Test Automation Social Collaboration Process Orchestration and Management

0. No Automation1. Build Automation2. Test Automation3. Deployment Automation

0. Limited/manual collaboration1. Collaboration as culture but not in tooling.2. Collaboration built into tooling3. Analytics-driven, optimized collaboration processes.

0. Completely manual orchestration1. System/Tool events orchestration2. Software development events orchestration3. End user/Production event orchestration

Cloud Management

Hybrid/Multi-Cloud management Continuous application deployments/updates

Application-Centric Infrastructure

0. Bare metal1. Public cloud2. Hybrid cloud3. Self-running cloud

0. “One-Off” deployment1. Semi-automated continuous deployment with manual hand-offs.2. Continuous deployment3. Analytics-based, self-optimizing continuous deployment

0. Infrastructure is unaware of applications.1. Manual implementation of application-centric infrastructure templates.2. Automated, application-centric infrastructure.3. Analytics-based, self-optimizing application-centric infrastructure

12

Page 13: Assessing Cloud Application Agility

Agility Factors Across DevOps and Cloud Management

13

Page 14: Assessing Cloud Application Agility

Metrics and Unified Management

• Any effort to achieve agility must be based on measurement. • Throughput time for code going from requirements to dev, test

and deploy. • 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 applications agile. 14

Page 15: Assessing Cloud Application Agility

Conclusion

• 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.

15

Page 16: Assessing Cloud Application Agility

Thank You!

• CloudMunch • 10900 NE 8th Street, Suite 1000

Bellevue WA 98004(425) 677-5767

[email protected]• www.cloudmunch.com

16