Technical Debt: Your Hidden DevOps Nightmare - Part 2
January 17, 2019

Brandon Carroll
TEKsystems Global Services

To better align business and IT objectives, enterprise organizations should focus on the core "problems" that individual business units face today in driving out real consumer value. Until the roadblocks and inhibitors — and, ultimately, the resultant technical debt — are removed from the equation, large enterprise organizations will continue struggling to succeed in real transformation initiatives.

Three components to the problem — business, development, IT — were outlined in Part 1 of this blog, and a 3-pronged plan is required to strategically align business goals with IT solutions. To effectively eliminate process inefficiencies and technical debt, internal stakeholders need to collaborate on an IT solution that meets the business goal of releasing quality enhancements for applications that directly impact customers. To meet this strategic need, IT must adopt a plan to modernize applications using stateless microservices, adoption of a CICD pipeline (incorporating a code-based approach to QA and security), and a hybrid cloud infrastructure model to meet the flexible, scalable demands of the business.

Start with Technical Debt: Your Hidden DevOps Nightmare - Part 1

1. Microservices

The easiest way to kick-start application modernization is through stateless microservices. Stateless means that microservices and underlying processes have no underlying dependencies, eliminating the need for shared data repositories and resource sharing across services. By moving to a microservices model, changing an aspect of a single service or application function will not impact other services or functions, which is a major inhibitor to DevOps. It also allows for more rapid change and a higher release frequency, giving developers the ability to realistically keep up with business needs.

2. Pipeline Automation and Containerized Deployments

Automating the code pipeline, containerizing deployments, and building security and QA early into the software development life cycle and deployment processes will eliminate the need for time-consuming manual testing and security intervention. Automating the code commit and delivery processes through a CI pipeline gets development and product teams on board as their new code navigates lower-level environments in an automated fashion without delay.

If configured properly before software releases can be promoted from standard development, test and staging environments, the automated pipeline assures that required vulnerability checks, regression and load testing, and code quality checks have been completed successfully. If the checks fail, the change fails. Properly placing these checks at all levels of the promotion process should meet any controls that enterprise QA and security requires for production applications.

Similarly, leveraging CD packaging through containerization allows incremental code changes to be deployed with requisite controls attached, again without manual intervention. Packaging services like encryption, logging and monitoring into the container architecture takes those items off the developers' to-do list — they're already embedded into every release.

3. Cloud

Adopting cloud deployment targets solves the configuration management, autoscale and capacity management conundrum without the need to procure costly hardware and licensing for lower-level and production environments. More common advanced testing patterns, such as blue/green deployment, require like-for-like lower-level and production environments. This can result in problems like large infrastructure expenditures and often mismatched configuration. Ultimately these issues cause test failures and poor code quality.

In a cloud deployment, IT teams can quickly spin up multiple environments, which saves time and money as long as appropriate controls are in place to ensure idle standby environments are spun down. Leveraging cloud native services also allows for limited third-party integration needs, and data aggregation and visualization offer a holistic view of the pipeline process, quality and security gates.

While this solution seems obvious in theory, in practice, major enterprises often correctly identify the problem yet remain unable to break down company silos and work to eliminate technical debt. Executive teams can come up with a seemingly infallible solution and agree upon an implementation plan, but they remain unable to get any of their team members to adopt and participate in the solution strategy. The reasons are similar in every instance: a lack of funding, a lack of talent, a lack of accountability, little job security.

It is critical to make business, development and IT teams aware that they must own the change in their organization. Resistance needs to be met with the reality that if they don't change, the business will suffer. Creating a feeling of ownership and celebrating victories along the way can help teams more readily adopt a solution strategy, which is integral to its success. Technical debt may be an issue that looms on the horizon for many large enterprises, but with the right approach, it can be eliminated.

Brandon Carroll is Director, Transformation, DevOps and Cloud Services, for TEKsystems Global Services
Share this

Industry News

August 15, 2019

Redgate Software has signed up Grupo Babel to its Partner roster to help customers in the region adopt its database DevOps solutions.

August 15, 2019

IT Revolution announced the latest round of business and technology leaders presenting at DevOps Enterprise Summit Las Vegas 2019.

August 15, 2019

CloudBees and Google Cloud are collaborating to deliver a modern DevOps platform based on open source technologies powered by Google Cloud’s Anthos.

August 14, 2019

CloudBees demonstrated an early preview of its CloudBees SDM Platform at DevOps World | Jenkins World, along with its Product Hub and Value Stream Management modules.

August 14, 2019

OverOps announced new CI/CD integrations that empower organizations to shift left in their approach to software quality and block unstable releases from impacting customers.

August 14, 2019

StackRox announced that The StackRox Kubernetes Security Platform is now available on the Google Cloud Platform (GCP) Marketplace.

August 13, 2019

As DevOps scales through organizations, the database is increasingly being included as a natural part of the development process. As a consequence, more developers in more teams want copies of the database to test their changes against, and Redgate Software has upgraded its database provisioning solution, SQL Clone, to give teams faster, easier access to the copies they need.

August 13, 2019

The XebiaLabs DevOps Platform version 9.0 was released with a Release Audit Report that covers all release activities from end to end — at the push of a button.

August 13, 2019

Codefresh has dramatically improved its open source marketplace with features that underscore the company’s commitment to removing barriers to faster code deployment, saving developers frustration, time, and money.

August 12, 2019

DevOps Institute, a global member-based association for advancing the human elements of DevOps, announced the introduction of its DevOps Institute Ambassador program.

August 12, 2019

Snapt announced the exclusive alpha launch of Project Nova.

August 12, 2019

Virtru announced the Virtru Developer Hub, a single development portal to integrate data protection capabilities and ensure the privacy of sensitive data.

August 08, 2019

Parasoft announced a partnership with Auriga, enabling Auriga clients to achieve reduced time-to-market by leveraging Parasoft’s automated software testing tool suite, ensuring quality at each stage of the SDLC.

August 08, 2019

Datical announced support for Liquibase 3.7 in a continued effort to empower the millions of software professionals who use the open source project for managing database schema changes.

August 08, 2019

Tricentis has acquired TestProject, a community-powered test automation platform designed for Agile teams.