The Role of DevOps in AWS Cloud Transformation
A Cloud Strategy takes the business objectives and translates them into a technical execution strategy that will meet the business goals.
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;
- 35% for better systems reliability.”
As you can see from this data, the scope of influence required in achieving these desired outcomes will most likely span across multiple siloes of an organization. At minimum, the business, product development, QA, IT, DevOps, delivery, and operations. This essentially makes these desired outcomes difficult to realize as ownership and accountability for these domains are shared across multiple teams. The hard truth is that value is not easily realized without significant change - change in culture, skillsets, process, and technology. The summary is then that the "how" of AWS 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 change required to successfully migrate workloads to AWS Cloud, how to measure success your DevOps investments, and how this will lead to positive business outcomes and successful AWS Cloud adoption.
DevOps is a culture that is enabled by a set of best practices that emphasizes flow, feedback and continuous learning in the context of the software development & delivery value streams. In the DevOps Handbook, the authors introduce these principles as “The Three Ways of DevOps". These three principles all DevOps practices, however, they can also be used to establish a framework on which to base your AWS Cloud Operating Model on and thus achieve the ‘how' of Public Cloud adoption.
Automation of DevOps best practices in the implementation of pipelines (for example CI/CD or IaC pipelines) is ideal. You can think of a DevOps pipelines as assembly lines, 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.
1. 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 are:
- Version Control for all production artifacts
- Infrastructure as Code
- 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:
- Customer feedback
- Making work visible
- Monitoring and Observability as well as System health checks of applications and infrastructure
- Collaboration amongst teams
3. The Technical Practices of Continuous Learning and Experimentation
The capabilities that drive improvements in software delivery performance that align to enable continuous learning and experimentation are:
- Generative cultures
- Ongoing Learning opportunities
- Work in small batches
- Enable team experimentation (Deming’s PDCA cycle)
Aligning Strategy to Operating Model
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 effective Cloud operating model is critical to your organization’s successful AWS Cloud Transformation. This is where the adoption of DevOps capabilities and best practices comes into in your AWS Cloud Transformation journey.
In a Cloud Transformation project, the business can start by outlining a clear business strategy and ‘why’, defining objectives and metrics for the technology teams to measure success against. A Cloud Strategy takes these business objectives and translates them into the ‘what’; a technical execution strategy that will meet these business objectives. A great Cloud strategy will outline technical and business outcomes, priorities, and guardrails in alignment with the stated business objectives. Further to the ‘why’ and ‘what’, the ‘how’ needs to be defined in a Cloud Operating Model. This can be an extension of an existing Operating model, however, adaptations will be required to truly leverage AWS Cloud capabilities and achieve Cloud Transformation success!
To align your AWS Cloud operating model to DevOps capabilities, IT should first look at the technology value streams that make up their organizations and map them. Once all value streams are well understood by stakeholders, common development and delivery patterns and requirements will emerge, as well as common pain points, dependencies, and time & cost sinks. This serves as a map to where DevOps capabilities need to be matured, where investments in automation will create the greatest impacts and where platform capabilities could be revolutionary.
If we go back to the “Three Ways of DevOps”, once value stream mapping is done, establish flow. Focusing on the capabilities listed for #1 - “The Technical Processes of Flow.” First, sets the foundations for building on. 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 in place, 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 AWS Cloud knowledge base. Investing in training to close skills gaps is imperative for workplace morale, autonomy, and motivation. Encourage a generative culture where exploring and innovating is commonplace and new ideas and innovation attempts are rewarded, regardless of outcome.
GOT A PROJECT?
The success of your AWS Cloud Transformation journey depends on a solid Cloud Operating Model and DevOps best practices are the foundation that model. That's why, at Levio, we invest heavily in our AWS Cloud and DevOps practices to deliver successful AWS Cloud transformations for our clients. Partnering with Levio on the AWS Cloud Transformation journey will ensure that all your DevOps and Cloud needs are met throughout the entire path to success!