It is quite hard to assess the state of DevOps process when you are a part of it. IT Svit is a Managed Services provider, one of the leaders of IT outsourcing market in Ukraine, and we deliver DevOps-as-a-Service for the last 5 years.
During this period, DevOps practices and workflows became the flesh and blood of our business DNA and we literally cannot imagine how to do the IT ops in any other way. However, a wide variety of our customers from automotive, marketing, finances, retail, banking, logistics, telecom, and other industries are still doing business the way it was conducted for decades. Big companies have big inertia and the bigger the enterprise — the longer it takes to perform a digital transformation and leverage its benefits in full.
Long-established businesses stick to running dedicated servers or on-prem private virtual environments for as long as possible. They fear potential business interruption, monetary and reputational losses they associate with implementing new technology and reforming the IT operations. Quite opposite, startups that form the majority of our customers go for the cloud from the very beginning and adopt DevOps practices with ease — they just do not have siloed tech, tasks, responsibilities, and workflows to disrupt. This allows them to be much more flexible and they can respond to ever-changing customer preferences much faster, allowing startups to compete with long-standing leaders and win on their field.
Naturally, this means global enterprises have to transform in order to remain competitive, and they have to adopt DevOps best practices. However, necessity does not always lead to reaching the solution. Many of the enterprises find themselves close to failing their DevOps initiatives. In this review, we take a closer look at how the DevOps transformation must evolve in order to succeed. Why should you read this post? Hopefully, it will help you evaluate the state of DevOps adoption in your company, identify the possible challenges and apply the suggested solutions.
As an MSP, IT Svit is on the spearhead of DevOps evolution. We experience the trends listed below in our daily operations, and we are very pleased when our findings and insights are backed by prominent experts from other industry-leading companies. Here is what we think of the current direction of DevOps trends evolution:
Business success is recognized as the most valuable KPI. There is no point in minimizing the software delivery time if the features delivered do not add actual business value to your products or services. Jez Humble, CTO @ DORA was very precise on that, saying that unless the business measures the exact impact of every new feature, it risks discovering that 2/3rds of the features do not add any value — or even decrease it. Every business must use their machine-generated Big Data to analyze the efficiency of their DevOps endeavors and projects. Tim Buntel, VP of product @ Xebialabs contributes to this idea by stating that in 2018 the emphasis of data analytics shifts from merely ROI measurement to a minute examination of the ways each new DevOps investment or process improvement affect the bottom line, as well as the business productivity as a whole.
We now come to the fact we mentioned earlier — quite a lot of businesses struggle to complete their transition to DevOps practices in full, or fail to spread the initial success of the pilot projects throughout the whole organization. Why does it happen? The authors of the recent DORA State of DevOps 2018 report declare that C-level executives and managers tend to be somewhat pinkish about the real conditions of DevOps implementation in their departments. When the team members say they are experimenting with DevOps tools, practices and workflows (and don’t mention any particular challenges), the managers tend to report their teams are actively using them in full.
Such discrepancy in data leads to the aforementioned fact that while more than 80% of 30,000 enterprise managers and executives surveyed by Puppet reported their companies are doing DevOps, only 50% of them were able to showcase some real success stories.
Thus said, the results of DevOps implementation across the IT industry are not as shiny as the C-suite directors have expected.
Below is the recommended course of DevOps implementation for the mid-to-enterprise business. As we explained above, the startups are much more nimble and implement the DevOps workflows with little to no trouble.
There are actually 6 stages of a successful DevOps implementation:
Below we describe each stage in more details.
When the main stakeholders (Devs, Ops, QA, security, and management) are encouraged to begin their digital transformation journey, the first step to make is to assess where they stand. A complete audit of the existing infrastructure, workflows, tools and business practices is needed.
Once the existing state of the infrastructure and software ecosystem in place are audited in full, there are 5 major patterns to establish. These patterns are not a one-time task, but merely a foundation on which your digital journey will be based:
1. Create reusable deployment patterns to ensure the same logic and scenario can be used for a wide variety of operations, shortening the time to market for a new feature by 24x on average
2. Introduce configuration management tools like Kubernetes, Terraform, Puppet, Ansible, Chef, etc. to unify the process of infrastructure management. The highest performing businesses are using CM tools 27x times more often, as compared to lowest performers
3. Let the teams configure the monitoring/alerting for the services they run. The team should be able to identify any issue and deal with it on their own, without the need to escalate the task to another team. The best teams have such practice in place 24x times more often, as compared to low-performers
4. Create the codebase of automated unit tests to reuse the testing patterns. When the QA team does not have to reinvent the wheel for every new batch of code, the time from “code commit to code deployment” shortens by 44x on average
5. Let DevOps recommend new tools for other departments. Management has to accept the fact that the DevOps team responsible for running the software and infrastructure is best suited to select the appropriate toolkit updates. This helps IT department to remain the driver of innovation in the organization. In highly-performing companies, DevOps teams have a say in choosing the tooling for other departments 44% of the time, as opposed to 1% in lowest performers.
Thus said, these 5 patterns can be slightly adapted to the needs of your particular organization, yet their core must remain unchanged, as they are crucial for the success of the further DevOps implementation.
As the business grows and accomplishes various projects, the technology stack grows with it. However, new technologies appear all the time and many of the legacy tools are utterly outdated nowadays. Normalization helps simplify the software delivery ecosystem and accomplish two main goals:
The following steps contribute to the success of this stage:
The best way to implement these steps is by standardizing the toolset based on the needs of all your apps, not just several most important ones. Operate your production environments using the proven technologies and reliable processes and establish clear guidelines for adding new tools to the set to encourage experimentation.
Variability is the reality — and curse — of many legacy infrastructures and software ecosystems. As we mentioned above, with time many tools and apps using them become obsolete, but decommissioning them all together is impossible, as it would be detrimental for business, or simply too expensive.
Therefore, the next step of successful DevOps implementation is rebuilding the outdated parts of your system and processes using the standardized tools and workflows to reduce variability.
The following practices help to succeed at this stage:
Once your business uses the greatly simplified infrastructure to run modernized apps build with up-to-date tools — you are ready to begin the next phase. Many global enterprises are currently on this stage — yet they need to spread the success achieved during these pilot projects across their whole organizations.
This is an essential step if you want small pockets of DevOps success achieved in several pilot projects in Center of Excellence to become an unstoppable transformative wave, reorganizing and revitalizing your whole organization. The key to success in this stage is for the managers to step aside. The point is, there are too many managers in most companies, far more than are actually needed to operate under the Lean model. These managers contribute nothing (or little) to successful operations of the company, but they have the functions to approve (or reject) the requests coming from their underlings.
If such managers are good-willed — they will support the DevOps initiatives and allow the DevOps teams to do their jobs without additional layers of approvement. What should these managers do once they are stripped of their approval functions is for the C-suite to decide. If, however, such managers decide to retain their rights of approval, the whole point of DevOps transformation will be lost and the process will struggle and halt on every step. To overcome this challenge, two more practices must be introduced in the organization:
Note that we are not suggesting firing all the middle-level managers. Just make sure they don’t intervene with experimentation in their departments. As we said before, innovation is a risk, and there will be no innovation without free experimentation. When an experimental environment can be provisioned with three commands and configured in under 5 minutes — the cost of error is negligible. The benefits of success, however, are innumerable.
Many consider this stage to be the actual beginning of the DevOps journey — but this is not true. This stage becomes possible only after complete success was reached on all previous stages: the existing infrastructure was audited and consolidated, the technology stack used was normalized, the superfluous processes and tools were replaced with standardized practices, and the DevOps culture was spread across the organization.
Once your DevOps team is quite used to automation of infrastructure provisioning and configuration for their immediate needs — they can spread the same practices throughout all the other departments and branches of your company. Undoubtedly, any department can benefit from rapid delivery of required software and server environments, be it R&D, finances, sales, marketing or HR. When all the routine tasks are automated, your whole company becomes much more productive.
This stage is characterized by the following practices:
What to automate first? Automate the processes you do most frequently and across most parts of your infrastructure. This way, one can save up to 80% time on the repetitive and mundane tasks, freeing up your team’s time for the things that really matter, like improving your IT infrastructure or finding new ways to deliver value to your staff and customers. This stage benefits greatly from the introduction of such practices:
While these are mostly self-explanatory, it is important to check your cybersecurity levels using the tools like OWASP Top-10 to minimize the possible security exposure surface. This should be done periodically, to ensure the ongoing development and adjustment of your IT infrastructure does not open new potential security breaches. Enabling the self-service capabilities through the use of scripted scenarios that can be launched by any member of the team is the final step on the way to establishing a truly digital company.
This is the stage we previously described in our article on how the enterprises can move to DevOps practices and workflows. By the time this stage begins, your IT department has assessed, normalized and automated the majority of the existing processes, workflows, and workloads in your software delivery pipeline. This is the time to let the rest of the staff benefit from this approach, instead of treating the IT dept as a cost center of your operations, existing to execute orders from other departments.
Your software developers, ITSM specialists, security and compliance team, finances and marketing, recruiting and HR, R&D department — anyone in need of any digital environment must have the possibility to provision it on their own, following simple guidelines and executing automated setup & configuration scripts, stored in the version control system.
It is important to note, that creating such a comprehensive self-service catalog on this stage is impossible if the work on creating self-service scenarios was not done during the previous stages. First, the DevOps teams automate their own tasks, then they help automate the most crucial business processes related to software delivery in production, then they help automate the mundane tasks across the whole business operations pipeline and across all the departments.
This stage also includes the process of redesigning the core product architecture to benefit from updated tools and workflows. This means splitting the monolith product into microservices, the introduction of Kubernetes clusters to run them, making use of Docker containers to ensure app portability and cross-platform ubiquity of deployment and management in production.
This is the way top-performing teams organize their DevOps implementation — and we recommend you follow the same route to achieve the best results.
The process described above can be performed by any enterprise with a strong internal IT department team. The only downside is the longevity of the process, as old customs die hard. Therefore, many companies opt for external IT consulting services from Managed Services Providers, who help establish Centers of Excellence and implement DevOps culture in the company much faster. IT Svit is one of such companies and we have ample experience with delivering the expected results and providing full-scale digital transformation to companies of all sizes.
Allianz has well over a century of history and a huge, widely distributed architecture. TCO was huge and the company decided to reduce it, as well as optimizing the performance of their IT infrastructure in general. They hired an external DevOps contractor to perform the digital transformation within tight time frames. The contractor helped Allianz audit their existing infrastructure and remove all redundancies and bottleneck, established the CI/D pipelines and proposed an outline for ongoing infrastructure improvement.
As a result, Allianz IT team was able to significantly shorten their development cycles and reduce the amount of operational overhead due to using automated setup and configuration tools. The company moved from Waterfall to Agile software delivery model and their SDLC became much more reliable, less error-prone and much more predictable.
Another insurance provider from Latin America was having frequent issues with their legacy IT infrastructure, and it began to hinder their normal operations and continuous development of their products. They also decided to undergo a digital transformation as a part of the transition to the cloud for their products and services.
The MSP sent their talents, who established a Center of Excellence on premises and taught a small team of IT engineers to work according to DevOps best practices. The existing apps were then split into microservices, so there is a bunch of independent modules interacting through a clean API, rather than a monolith product. These apps run in Docker containers inside MS Azure cloud, allowing the team to benefit from the cloud platform capabilities and rebuild their software delivery pipelines to use the Infrastructure as Code.
After the project was finished, the insurance provider found itself running a flexible, scalable and resilient Azure cloud infrastructure. Most of the functionality of the legal infrastructure was rebuilt to become cloud-native and the software updates are now done through rolling updates. It ensures there is no product downtime and the customers invariably have a positive end-user experience. The TCO was significantly reduced as a result, as well as the time-to-market for new products and features.
A global healthcare conglomerate from the US, fielding more than 80,000 employees and making more than $30Bn in annual revenue, was using a legacy infrastructure spanning multiple dedicated data centers in multiple countries across the globe to deliver their 2 SaaS platforms to millions of daily customers. Once the company decided to implement a Machine Learning solution to improve the efficiency of their Big Data analytics, they understood the existing IT infrastructure was inadequate for the task.
The corporation opted for using DevOps-as-a-Service from an external MSP company. After an in-depth analysis of the existing IT infrastructure and workloads, the contractor came up with a solution to migrate to AWS and use the cloud service platform capabilities to the max. This would also ensure the ability to build a Big Data analytics solution atop the scalable cloud infrastructure layers.
As a result, the healthcare provider was able to cut their OPEX by 45% at least, while ensuring enterprise-grade security & compliance of all components, as well as the possibility to add multiple AWS modules and offers from AWS Marketplace to further facilitate the product development and improvement based on Big Data analytics results.
We hope that this analysis was helpful in describing the main trends of DevOps evolution through 2018, the challenges the enterprises currently face, and the possible ways to overcome these challenges. This is also a detailed guideline for the transition to DevOps done with the effort of your internal staff.
Should you decide to hire an external consultancy to help your IT department perform the task — IT Svit is ready to help!
Originally published at itsvit.com on December 26, 2018.