DevOps: the magic stick for enabling digital transformation for enterprise IT

DevOps methodology is almost a decade old, and it has grown and matured from a term used by software engineers to a transformative approach that helps speed up and improve all aspects of operations across the whole company.

There are multiple definitions of DevOps, based on the specifics of the teams that use it. The most widespread understanding of DevOps fundamentals is that this is a process of constant improvement of IT operations, based on regular introduction of the latest and most efficient tools and best practices to deliver automation of routine tasks, promote collaboration between developers, DevOps engineers and business stakeholders and guarantee high quality of the resulting products or services.

In a world where your customers become increasingly tech savvy and receive updates to their messenger apps a couple times a week, it is hard to expect them to wait for half a year for an update to your banking app. DevOps methodology helps speed up the software delivery through automation of infrastructure operations, so you can meet the pace of your customers and exceed their expectations.

Most of your customers have the “always on” mentality and expect to be served any time of the year, on any device, outside of standard business hours. To enable cross-platform value delivery stream that satisfies your customers and promotes your brand, your company must forget about terms like “scheduled maintenance”, “temporary outage”, or “unavailable on your device”. DevOps tools and practices ensure you deliver new features quickly and in a predictable manner, release them to production servers without any downtime and provide uninterrupted positive end-user experience.

DevOps benefits for enterprise business IT operations

Forrester proclaimed 2017 “the year of enterprise DevOps”, as more than 50% of Forbes 500 enterprise businesses were already on some stage of DevOps adoption. Thus said, in 2019 the question is not if the enterprise business should adopt DevOps. The real question is: how to adopt the DevOps practices best, in the most quick and cost-efficient way.

The main DevOps benefit for business is that it is an ideology of breaking the silos of tasks and responsibilities — and a methodology of doing so. Instead, DevOps workflows allows removing all kinds of waste from the software development life cycle and promote collaboration and communication between business stakeholders, IT operations department and software engineers. This leads to greatly increased productivity, which is the reason for industry wide adoption of DevOps and the mainframe approach to IT operations.

What makes a DevOps workflow tick? There are three key principles: IaC, CI and CD. We explain them below.

  1. IaC or Infrastructure as Code is the approach to infrastructure provisioning, configuration and management, based on using textual configuration files called manifests. These can be stored in your Version Control System, can be cloned, copied and updated just as any other piece of code. Terraform and Kubernetes infrastructure management tools consume manifests and automatically provision and configure the required virtual machine environments your developers need for their work.
    What used to be a long process of server provisioning and manual configuration prone to human errors and taking lots of Ops engineers time, becomes an automated operation any developer can launch according to a simple script. The main benefit here is that the same environment is used for IDE, testing environment, staging server and production, greatly simplifying the infrastructure management and freeing up innumerable resources, previously dedicated to running the legacy infrastructure.
  2. CI or Continuous Integration is the approach to software development, where the new code is written in small chunks called batches, that are constantly tested with automated unit tests and continuously integrated into the main project trunk. This removes the risk of multiple bugs arising during the Git merge operation — a nightmare of the developers of the recent past.
    In more general sense, it is a practice of continuously integrating new ideas coming from stakeholder input and user feedback into the product or service in form or weekly or semi-monthly updates. Shortening the feedback loop greatly increases the customer engagement and gives enterprise business a competitive edge over less tech savvy competitors that still operate the annual or semi-annual updates..
  3. CD or Continuous Delivery is the approach to automating all infrastructure management operations, such as virtual machine creation and configuration or database backup, or new feature release without any downtime. This helps save up to 70% of time and effort previously spent on repetitive infrastructure management operations and enables the CI.
    This is done through using the tools like Docker, Jenkins, Ansible, ELK stack and others to create so-called CI/CD pipelines, where the output of a previous operation becomes the input for the next operation. This way, for example, every new code commit becomes a new product version mini-release — if it passes all the tests along the deployment process — and everything it takes is one execution of a script that a DevOps engineer wrote once and any developer can launch when the need arises.

Thus said, the benefits of DevOps adoption for enterprise are quite numerous:

  • huge decrease of CAPEX and OPEX throughout the organization
  • continuity of environments across the infrastructure, reducing the numbers of issues greatly
  • shorter time-to-market for new products and features
  • less bugs due to testing automation and continuous code integration
  • IT engineers are able to spend less time doing repetitive actions and more time improving your systems
  • there finally is enough time to remove the technical debt and stop accumulating it
  • timely releases with fewer issues and lowering of burnout for IT engineers.

Most importantly, the paradigm of software development changes. Instead of throwing the code over the wall to be someone else’s problem — communication and collaboration from the design till the release and further. Instead of saying “don’t try to fix what is not broken” — DevOps engineers say “fail often, fail fast, fail cheap”. IN other words, DevOps specialists are not afraid to experiment and improve because their experiments cost literally no time and money, as if a virtualized server with Docker container fails, it can be rebooted within seconds. This is a crucial advantage — operating virtualized infrastructures where new environments can be configured and launched rapidly and without multiple approvals is much better for creativity and experimentation.

The latter is even more important, as DevOps methodology promotes bigger freedom for developers and Ops engineers, who do not have to ask for approving their every step according to a rigid workflow protocol. If they need another server — they just raise it on their virtualized infrastructure, using a preconfigured manifest and update the settings the way they need. Once the environment is not needed — it can be easily shut down to free up the resources. Compare this to huge testing server farms many enterprise businesses have to maintain — and you will see our point. Working under IaC principle helps enterprises save tons of money and time, not to mention effort and nerves.

How to adopt DevOps methodology in enterprise IT operations?

Thus said, if your company has already decided to adopt DevOps methodology, the next big question arises: how to do it fast and cost-efficiently? There are three most popular approaches:

  • hire DevOps experts to expand your team
  • train your internal IT staff to use DevOps tools and practices
  • hire an external DevOps team to perform the DevOps transformation and teach your staff

All three approaches are viable, but each has its own peculiarities.

Should you wish to hire the DevOps engineers into your team, you meet the same issues as when facing any other recruitment. The market sees huge demand, but has little to offer, as all DevOps A-players are already employed at AWS, GCP, MS Azure and other cloud providers, industry-leading businesses or Managed Service Providers. In addition, they are not actually interested in simple monetary reward, aka salary increase, they are driven by challenge and the opportunity to hone their skills and grow as a professional rapidly. This is not what working for one company with legacy infrastructure for prolonged period of time would accomplish. Instead, they prefer to work for the companies where they can choose the best approach to the project, use and master the latest tools and can move on to the next project fairly quickly.

Thus said, many companies go for transforming their IT operations using the talents in place. However, one cannot learn to use Kubernetes only by reading Google Cloud knowledge base. These skills are best learned by doing, and we come back to the need to hire a DevOps talent to teach your IT staff to use DevOps tools and best practices. As we described above, hiring such a specialist in-house is quite unlikely.

This is why the third approach is actually the best one. If you decide to hire an external DevOps team from a Managed Services Provider, it is a win-win situation for both sides. You get access to top-notch talents that will help your company implement DevOps workflows. The MSP, in its turn, gets another project under their belt, and the DevOps engineers get another opportunity to learn something new and implement it in your company. These talents will also have ample experience with such a task, a polished roadmap of executing it, and multiple ready solutions for empowering the parts of your system. As a result, you will get a transparent, reliable infrastructure and optimized IT workflows aimed at constantly improving the software development quality.

In addition, third-party DevOps experts can be hired to form Centers of Excellence or CoE in your company and train your employees to use the DevOps tools and apply DevOps best practices in their daily operations. From these CoE the changes will spread across your organization like ripples.

Correct MSP — the key to successful DevOps transformation

How to select the MSP for the task then? We believe that the best proofs of quality are positive customer reviews from satisfied customers, as well as accolades from notable technology consultancy companies. Form a shortlist of possible contractors, have preliminary calls with them, ask for references and check their technical background. True professionalism is easily noted, and a trustworthy company will easily be able to point you to several of their satisfied customers, along with showcasing the best roadmap and milestones to your digital transformation.

An experienced MSP will be able to provide an end-to-end solution for your business, from IT infrastructure optimization and software delivery improvement to training your employees and managers to work and cooperate according to DevOps principles. After all, culture eats strategy for breakfast, as Peter Drucker said.

--

--

--

DevOps & Big Data lover

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Getting Started with Post Processing in Unity

on: Using Git to Implement a New Feature Without Affecting the Master Branch.

A Practical, Hands-on Introduction to Python Virtual Environments for Windows PowerShell Users

Agile Journal : The First Release

Best of the Week — October 12/18

Working with Kubernetes Jobs

Cloning the Sugar Cosmetics Website

Mental Models for Debugging Hard Problems

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Vladimir Fedak

Vladimir Fedak

DevOps & Big Data lover

More from Medium

Your Future in Azure Cloud Technology.

Is on-prem still a thing in 2022?

Agile vs DevOps

DevOps Testing Tutorial: How They Fit Together