Assessing Cloud Application Agility


Published on

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

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Assessing Cloud Application Agility

  1. 1. Assessing Cloud Application Agility Pradeep Prabhu CEO, CloudMunch Copyright © 2014 by CloudMunch, Inc.
  2. 2. 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
  3. 3. 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. * 3
  4. 4. 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 Deploy App Develop new version Get feedback Plan changes 4
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. 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
  9. 9. DevOps Agility Factors Discipline DevOps Work Stream and Test Automation Embed Ops into Dev and Dev into Ops Automate the BuildTest-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-releaseprovision process. Automate work allocation and task management. Agility Factor Social Collaboration Process 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. Orchestration and Management 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
  10. 10. Cloud Management Agility Factors Cloud Management Hybrid/Multi-Cloud Continuous application Application-Centric management deployments/updates Infrastructure Unified cloud Automated deployment Provision infrastructure management based on automated by application Seamlessly span triggers and values, from architecture and by stages multi-vendor private, dev to test to staging. (dev/test/staging/product public and hybrid Configure management ion) clouds. Model and environments consistently Automate through an Build the application across the application application-driven policy once but deploy lifecycle. model. anywhere. Support legacy and cloud Centralize visibility with Automated service era applications. real-time, application delivery Set up real time alerts health monitoring. Automate the end-toand root cause analysis. Provide for auto-scaling end delivery and and fail over architecture. management of infrastructure and application services across cloud Hybrid cloud application architecture 10
  11. 11. The Evolution of an Agile Cloud Application Environment Phase I Simple build engine No deploy engine Phase II Simple build engine Deploy engine on premise Phase III Phase IV Elastic build engine Deployment staged and handled by usage feedback. Elastic deploy 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 the cloud. • Automating the application lifecycle does not necessarily mean that cloud infrastructure will be automated in parallel. 11
  12. 12. The Cloud Application Agility Index • Measure the sophistication of each of the six agility factors. Discipline DevOps Work Stream and Test Automation Agility Factor Social Collaboration Process 0. No Automation 1. Build Automation 2. Test Automation 3. Deployment Automation Cloud Management 0. Limited/manual collaboration 1. Collaboration as culture but not in tooling. 2. Collaboration built into tooling 3. Analytics-driven, optimized collaboration processes. Hybrid/Multi-Cloud management Continuous application deployments/updates 0. “One-Off” deployment 1. Semi-automated continuous deployment with manual handoffs. 2. Continuous deployment 3. Analytics-based, self-optimizing continuous deployment 0. Bare metal 1. Public cloud 2. Hybrid cloud 3. Self-running cloud Orchestration and Management 0. Completely manual orchestration 1. System/Tool events orchestration 2. Software development events orchestration 3. End user/Production event orchestration Application-Centric Infrastructure 0. Infrastructure is unaware of applications. 1. Manual implementation of application-centric infrastructure templates. 2. Automated, applicationcentric infrastructure. 3. Analytics-based, selfoptimizing application-centric infrastructure 12
  13. 13. Agility Factors Across DevOps and Cloud Management 13
  14. 14. 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
  15. 15. 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
  16. 16. Thank You! • CloudMunch • 10900 NE 8th Street, Suite 1000 Bellevue WA 98004 (425) 677-5767 • • 16