According to the Harvard Business Analytics Services “The State of Cloud-Driven Transformation” report 2021, “When it comes to the outcomes businesses seek most from their cloud investments, 60% are looking for increased business agility; 51% for cost reduction or flexibility; 38% for accelerated innovation; 37% for the ability to access, analyze, and act on data or provide insights; and 35% for better systems reliability.”
As you can see from the data, the desired outcomes span the breadth of software development, delivery, and operations. This essentially makes these desired outcomes difficult to realize as ownership and accountability for these domains are rarely limited to one team or part of the organization. Most often, development (product), delivery, and operations are separate which means that the touted benefits of cloud transformation, while heavily documented and marketed as achievable, are difficult to realize. The hard truth is that value is not easily realized without significant challenge and change – change in process, culture, and technology at the organizational level. The “heavy lifting,” or the “how,” of cloud transformation is difficult and complex.
In this blog post, you will learn how the adoption of DevOps capabilities and best practices can address the challenge and change required to successfully migrate workloads to the cloud, whilst supporting innovation and optimizing costs. In the context of Cloud Transformation, investing in DevOps capabilities and best practices will lead to positive business outcomes and successful cloud adoption.
Cloud Transformation and the Cloud Operating Model: How IT Can Lead the Way
Gartner defines an Operating Model as a “… blueprint for how value will be created and delivered to target customers. An operating model brings the business model to life; it executes the business model.” — Definition of Operating Model – Gartner Information Technology Glossary
Establishing an appropriate cloud operating model for cloud adoption is critical to your organization’s successful adoption of the cloud and delivering greater business agility. And, this is where the adoption of DevOps capabilities and best practices comes into play in the Cloud Transformation journey.
In a Cloud Transformation project, the business has outlined clear business objectives and clearly defined measures to measure success against. A Cloud Strategy takes these business objectives and translates them into a technical execution strategy that will meet these business objectives. A great cloud strategy will outline ‘what’ is required to achieve the stated business objectives, however, this is where most of the planning stops. This is a big mistake! The ‘how’ needs to be defined in a Cloud Operating Model. This could be based on existing Operating models however it is more likely that existing models may require rethinking and rewriting.
Whatever framework you use to define your Cloud Operating Model should include how workloads are moved to the cloud, and how they are operated, secured, and maintained once in the cloud. Defining your business strategy, cloud strategy and cloud operating model are outside the scope of this post, however, there is literally a ton of information out there in this regard.
Here are some useful references from the top three public cloud providers:
The Role of DevOps in Cloud Transformation – Use DevOps best practices as foundations
DevOps is a culture that is enabled by a set of best practices that emphasizes flow, continuous learning, and continuous improvement in the context of the Software Development & Delivery value streams. Practically speaking, best practices are applied in a DevOps pipeline or workflow. You can think of a DevOps pipeline as an assembly line where each part of the Software Development & Delivery value streams are analyzed, broken down into component parts, and automated as much as possible. This results in overall improvements and efficiencies at the component level which, in turn, maximizes the behavior of the entire system.
In the “DevOps Handbook,” the authors introduce “The Three Ways of DevOps?” These “Three Ways” underpin the DevOps principles and best practices, however, they also establish a framework on which to base your cloud operating model and achieve the ‘how’ of cloud adoption.
- The Technical Practices of Flow
What capabilities do your development and operations teams require to perform their jobs? To enable fast ‘left to right’ (development to production) flow of work, we need to make work visible, reduce work in progress (WIP), batch sizes, build in quality, and constantly optimize. By speeding up the flow in the technology value stream, we reduce lead time.
The capabilities that drive improvements in software delivery performance that align with increasing flow*:
- Version Control for all production artifacts
- Continuous Integration
- Continuous Delivery
- Automated Testing
- Automated Security and Compliance
- Release Management
2. The Technical Practices of Feedback
The capabilities that drive improvements in software delivery performance that align to enable feedback & collaboration are:
- Gathering customer feedback, process for triage, and implementing
- Make the flow of work visible
- Monitor applications and infrastructure to inform business decisions
- Support and facilitate collaboration amongst teams
- System health checks
3. The Technical Practices of Continual Learning and Experimentation
The capabilities that drive improvements in software delivery performance that align to enable continuous learning and experimentation are:
- Support of a Generative culture
- Encourage and support learning
- Work in small batches
- Enable team experimentation (Deming’s PDCA cycle)
— Reference DevOps Handbook The DevOps Handbook | Non-Fiction Follow-Up to The Phoenix Project
To align your cloud operating model to DevOps capabilities, IT should first look at the technology value streams that make up their organizations and map them. This is a collaborative effort at the organization, business unit, and team level and should involve every team and all leadership to some degree. Once all value streams are well understood by all stakeholders, common patterns will emerge, common development and delivery requirements, as well as common pain points, dependencies, and time & cost sinks. This information is critical to developing a Cloud Operating Model that meets the requirements of all areas of the business.
Once overall planning is done, establish flow using automation. First off, automate all common Software Development and Delivery processes to optimize for flow, focusing on the capabilities listed for #1 – “The Technical Processes of Flow.” The results of automating infrastructure provisioning, application deployment, testing, and security will allow development teams to find their flow and focus on the top priority work of implementing new features.
Secondly, where pain points exist, there are usually impediments in communication between or within teams. Ensure there are feedback loops and that collaboration is enabled at each hand-off point. Ensure there is observability in the system that makes up each value stream so that monitoring, support, and operational success are achievable. Ensure there are internal and external feedback loops for each workflow to ensure continuous improvement. This helps build trust and creates a culture based on psychological safety. Commit to the transparency of the decision-making process.
And finally, where there are time sinks and lost efficiency, ensure there is sufficient learning happening that allows for your teams to continually improve their knowledge base for effectiveness. Investing in training to close skills gaps is imperative for workplace morale and motivation. Encourage a generative culture where exploring and innovating is commonplace and new ideas and innovation attempts are rewarded, regardless of whether or not perceived value/success was achieved.
Investing in DevOps capabilities and best practices is part of successful cloud adoption. As organizations continue to push beyond Cloud Strategy and into Cloud Operating Models, DevOps best practices will become the foundation on which that operating model will succeed. DevOps culture, flow, continuous learning, and improvement all maximize the behavior of the cloud operating model.
That’s why at Indellient, we invest heavily in our DevOps practice to create foundational cloud transformation for our clients. We believe the outcomes of DevOps: velocity, resilience, automation, compliance, and rapid changes contribute to a competitive advantage, which is why we architect and implement DevOps culture and best practices that leap our partners forward and enable a cloud operating model.