DevOps: The Silver Bullet for Digital Transformation

Yogesh Dipankar
6 min readNov 18, 2021

Digital Transformation can be loosely defined as transforming the legacy systems running on old hardware, old programming stack to a highly scalable and highly available platform something like Cloud, Big Data Cluster Computing platform using modern tools and technology.

DevOps is a set of practices that combines software development (Dev) and IT operations (Ops). It aims to shorten the systems development life cycle and provide continuous delivery with high software quality. ( Definition from Wiki )

Based on my experience working on multiple Digital Transformation Projects with and without DevOps I have come to a conclusion that to make “Digital Transformation” really successful DevOps is the key ingredient…rather I would say it is the “Silver Bullet” that can make a big difference

“Digital Transformation Projects is all about massive scaling and faster time to market”

Agile/Scrum has offered a great way to improve software development practices, and DevOps offers the much-needed technology toolset and echo system for churning out iterations that creates value for customers. Now talking about Digital Transformation Projects, it is all about massive scaling and faster time to market, and it badly needs the ecosystem which is offered by DevOps

Right Prioritization is Key for success of DevOps

The waterfall was all about piling up features, requirements, and releasing all at once, but with DevOps, if right prioritization is done — in every iteration value flows from development to deployment stage directly to customers like a pipeline. Hence the concept of build and release pipeline came up and became immensely popular, Right prioritization of work is very important here.

With CICD pipelines ( i.e Continuous Integration and Continuous Delivery ) at your disposal, DevOps enables development teams to deploy applications much faster, and with the advent of Cloud computing not only code deployment, but the infrastructure creation ( or infrastructure setup) can be done on a click of a button. Cloud virtually makes infinite infrastructure available to everyone across the globe — So this takes care of the massive scaling and time to market.

CICD Pipeline

We have seen that with CICD and cloud computing, the time to market is super fast… but what about security? DevOps has something called as DevSecOps. DevSecOps bring together the Security Team and the Development team to ensure the highest security standards are followed right from the inception of the project. Examples are adding SonarQube, Blackduck, WhiteSource, Checkmarx, and other security tools in the CICD pipeline for early detection. Along with this unit testing, test automation and monitoring can be incorporated into the CICD pipelines, thus making it a continuous value-producing engine for the end-users

BTW DevOps is not only about Continuous Integration / Continuous Deployment Pipelines, but it does much more, it creates an ecosystem for setting up high standards, right design from development, testing, deployment till monitoring, and for fixing the issues in production in quick time.

Now let’s look at different phases of DevOps

  1. Plan: Tools like Azure DevOps (ADO), Jira, Collab, Assembla can help to make this phase as effective as possible
  2. Code: Software design, code development, and maintaining the code in Git, GitLab, GitHub, Bitbucket, or any other popular version control system
  3. Build: Compiling the developed software using CI pipelines and package management ( artifacts, NPM repository, etc), it also has triggers, gates, and approvals
  4. Test: Testing, quality assurance by integrating with the CI pipelines with automated quality gates
  5. Release: ready for release after successful testing, acceptance criteria can be integrated into CI pipelines
  6. Deploy: ready for seamless and automated deployments in Development, Test, Preproduction, and Production environments
  7. Operate: Once in production, the operations team will ensure the software running optimally all time
  8. Monitor: Continuous monitoring for performance, response time, errors, tools like Application Insight, Log Analytics, and Splunk can be used here

All these phases are interconnected like if the planning and prioritization if not done properly, it can impact the design and coding phase resulting in poor standards, bad design, and coding will result in a software hard to build and test leading to manual testing. Also, the continuous deployment of such software will be extremely difficult. So getting right every activity in every iteration can work wonders and help create a great product

Great products, architectures, features, requirements, design can be built best by self-organizing teams, so empowering teams and enabling them on DevOps path should be the number#1 focus of leaders

Implementing and incorporating DevOps in the organization requires a shift in the organization’s culture. With the right focus, the process can be gradually and systematically implemented. Major responsibility lies with the leadership to address the skill gap and help the team unlearn old ways and learn/ relearn new ways of working.

Companies such as Amazon, Netflix, Facebook do thousands of deployments per day. These deployments are fully automated, which would be impossible without DevOps, In my previous projects ( without DevOps and cloud ), I have seen deployments running for 4 days. With DevOps, I have experienced seamless delivery and rolling out of quality products to existing and 100s of new customers with a click of a button, completely automated.

To become a market leader, organizations have to embrase and implement DevOps in a big way, small adaptions here and there will have limited benifits

I would like to encourage all developers, testers, and leaders to embrace DevOps and Agile on top priority. All development teams should develop the DevOps skills, on top of this organization should set-up a DevOps R&D team and continue to build expertise in DevOps, come up with design patterns for different implementations, come up with new automation techniques and keep on improving the DevOps practice (as there is no end to automation). Quick reality check for organizations doing Digital transformation is maturity level in DevOps, the one who has got it right are the one who has made a cautious decision to excel in DevOps

Along with automation DevOps also bring huge cost savings options, if you don’t need a particular server or pipeline, you can dismantle it and regenerate it when you require it. Example: shutting down Dev/POC/Test environment over the weekend when not in use can bring huge cost savings

By now it’s very clear that DevOps is one of the most sought-after skills, for the last couple of years and in 2019, 2020 StackOverflow survey has rated DevOps as top skill.

Here are the StackOverflow survey links mentioned in the article
https://insights.stackoverflow.com/survey/2019
https://insights.stackoverflow.com/survey/2020

DevOps is the future and it’s going to completely change the way we work, create new roles and responsibilities and we have to be ready for that. Example Full Stack Development: here developer does everything from requirements gathering, development, deployment, testing through automation, another example is Site Reliability Engineer: profile with a complete understanding of development, deployment, and monitoring

If you are planning to learn DevOps but not sure where to start, do reach out to me. I will be more than happy to help you. For those already using DevOps, let me know if you agree with the bold statements made in the article, do share your experience and success stories, I would love to see your feedback and comments

Thank you!

Cheers

Yogesh

--

--