DevOps is Not One Size Fits All: How to Tailor Your DevOps Journey
- March 01, 2021
The pandemic and associated upheaval have laid bare the delta between organizations that embraced DevOps processes and supporting technologies and those that lagged behind. In a recent survey, “Could Have. Would Have. Should Have” researchers from NTT DATA, in partnership with Financial Times company Longitude, found that 48% of organizations reported declining revenue and profitability since the beginning of the COVID-19 pandemic. The findings show 69% of leaders across financial services and insurance, manufacturing, healthcare and the public sector indicated they would be more resilient if they had invested more in digital technologies prior to the crisis.
In Chinese, the word for crisis is comprised of two symbols – one for danger and the other for opportunity. While I never want to be one to call COVID an opportunity, it does present a fork in the road for organizations that lagged and now can embrace DevOps practices and leapfrog to a stronger, more competitive position. While much ink has been spilled on the topic of the DevOps journey and the requirements to right-size it for your organization, every organization’s cloud and DevOps journey is unique and is a result of a variety of factors.
Let’s walk through how you might apply these factors to your organization and tailor them to meet your unique needs while accelerating those elements that will help you gain sounder competitive footing.
- Company culture
You really need top to bottom vision alignment within the company with everyone embracing DevOps principles and Agile mindsets. The tone from the top plays an important role here. Leading by example may seem like common sense advice. Yet, a true commitment to DevOps and next-generation cloud development from the very top cannot be understated. As a result, we encourage CIOs and CTOs to fully embrace Agile and DevOps. In our experience, this means more than granting budget or doling out directives in support of the effort. Senior leaders should roll up their sleeves, helping to eradicate hurdles that could get in the way of success.
- Engineering culture
Senior to mid-level team members bring best practices, new ideas, experience, and a positive working culture. Note that this culture complements the broader DevOps company culture as it reinforces DevOps best practices and bridges an Agile mindset to hands-on action. A Community of Practice (CoP) can help ensure this engineering culture permeates the organization by acting as internal proponents of culture change. The CoP effectively champions and shares knowledge across the organization, supporting both a DevOps and engineering culture as they do. To further the reach and success of the CoP, we recommend that it consist of a hand-selected, cross-functional group of employees. Ideal CoP candidates effectively capture the culture you’re looking to emulate while being able to help build the foundation for DevOps transformation.
- DevSecOps toolchain
While DevOps is about culture and process-related change, technologies like cloud computing can help because one of the core tenets of DevOps is process improvement and automation can streamline processes for increased IT operations and developer productivity. As a result, tools that allow you to achieve process automation and speed developer innovation can be an important part of your DevSecOps toolchain. For example, we like to use tools like Jenkins, (that manages and controls software delivery processes throughout the entire lifecycle), Chef (for continuous automation), AWS, Docker, Kubernetes, and more that allow us to build Infrastructure as Code and provide perpetual delivery and support of applications and workloads.
- Control and compliance requirements
Continuous compliance reduces risk and ensures that systems are in a known, good state. Automated compliance with DevOps processes reduces the time between the discovery of compliance gaps and their remediation. Compliance as code can even help ensure continuous compliance. Organizations can help achieve this goal with security automation. We have adopted a framework wherein we use Inspectors and Injectors to help achieve control and compliance objectives. Specifically, inspectors check components as they move through your DevOps processes, conducting security and audit checks. And, they conduct image analyses on containers, providing a whole new level of security and vulnerability analysis. Injectors enable elements to continue moving full speed through the pipeline by injecting environment-specific information into service templates on the fly. We like tools such as HashiCorp Vault and HashiCorp Consul for this purpose, as they allow you to have service and configuration information available for services to pull when needed.
- DevOps and Agile maturity
The DevOps Research and Assessment group (DORA) has worked to develop measurements that can help you assess your DevOps maturity and identify areas for improvement. These areas include:
- Deployment frequency, which measures the throughput of your software delivery process. Tracking deployment frequency can tell you how often and how quickly new services or features are deployed to production, which will in turn tell you quite a bit about your process effectiveness.
- Lead time for code changes also measures software delivery process throughput. (DORA recommends measuring the lead time for code changes from the point in time when code is checked-in to the point it is released.) Measuring lead time can help you determine your process efficiency and the effectiveness of your supporting systems and team.
- Change failure rates help you assess the quality of your release processes, determining how many changes, builds, or deployments require remediation.
- Time to restore service is self-explanatory and can help you determine the maturity of your remediation processes.
Paul Cencula aptly notes that “Agile is built with the expectation that scope will evolve over time.” Indeed, this Agile mindset, coupled with DevOps processes and automation will help companies achieve continuous improvement that fuels innovation. Thus, allowing you to experiment more, measure and fail fast, or quickly take successful experiments to market, improving your competitive position.
Are you interested in kick-starting your DevOps journey with an experienced team at your side? Reach out to us today.