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

October 10, 2019

CloudBees launched a new partner program that expands ISV partners’ ability to align with CloudBees offerings and the global Jenkins community.

October 08, 2019

Nureva announced a key update to the Jira Software integration with Span Workspace, Nureva’s cloud-based digital canvas for visual planning and collaboration.

October 08, 2019

Fugue announced support for Open Policy Agent (OPA), an open source general-purpose policy engine and language for cloud infrastructure.

October 03, 2019

Redgate announced the launch of SQL Compare v14, the latest version of its industry standard tool for quickly and accurately comparing and deploying SQL Server databases.

October 03, 2019

Harness announced the release of Continuous Insights, a new capability of its CD platform that enables organizations to see clearly into software delivery performance across their engineering and development teams without needing to manually collect, correlate, and report metrics that might take days or weeks.

October 03, 2019

OutSystems and Workato announced a partnership aimed at allowing organizations to rapidly realize innovation, time to value, productivity, and mission-critical objectives through readily available application connectors.

October 02, 2019

Kong announced an acquisition and several new products.

October 02, 2019

Contrast Security announced the availability of .NET Core support on Contrast Community Edition (CE).

October 02, 2019

Checkmarx earned Amazon Web Services (AWS) Security Competency status for its Software Security Platform.

October 01, 2019

Parasoft announced the release of its newest product, Parasoft Selenic, a UI testing solution that makes Selenium smarter, to help organizations find real bugs faster.

October 01, 2019

Micro Focus announced the general availability of Deployment Automation 6.3, offering new deployment improvements for its Release Orchestration solution set.

October 01, 2019

Compuware announced enhancements to Topaz for Total Test and a partnership with OpenLegacy to help large enterprises speed mainframe software development and delivery while improving quality.

September 30, 2019

Deque Systems announced Axe Pro, a key addition to Axe, the web accessibility testing browser extension.

September 30, 2019

NIIT Technologies and mabl, Inc announced a partnership to deliver AI-driven automated solution for faster, economical and better application testing services.

September 30, 2019

Rockset announced the capability to analyze raw events from Apache Kafka in real time.