Don't Believe the Myth: The Need for Complexity in DevOps


We have long heard promises in developer circles about a DevOps pipeline in which all the tools are connected in a perfect serial fashion.  But, DevOps looks more like a continuous loop than a straight line.  In fact, DevOps cannot work properly as a serial pipeline at scale because the whole end-to-end process must be based on a parallel architecture, which introduces ongoing complexities.

Such inherent complexity is a necessary, but overlooked, aspect of DevOps for development and operations teams.  Let’s define DevOps as a set of practices to reduce the time between committing a change to a system and the change being placed into normal production, while still ensuring the highest quality software.  Due to the pressures of expedience, scarce technical skills and limited resources, we are often tempted to provide simplified versions of our dev and test environments.  This may sound strange, but the truth is that we need all that complexity.

The biggest myth about DevOps is not only that everything canbe simplified, but that everything should be simplified.  This is especially true when it comes to the application environments used for development and testing.  Let’s face it, the real-world data center is a complex place, so our replicas of real-world environments must reflect similar levels of complexity to achieve successful results.

The goal of DevOps should be to shorten the systems development lifecycle, while still frequently delivering new features, fixes and updates in close alignment with business objectives.  In the software world, we cherish terms like speed, agility, rapid releases, and even the notion of “failing fast.”  We also strive to deliver greater simplicity, especially when it comes to user experiences.  These are admirable goals, but they mask the diligence and close attention to detail that’s needed to create, test, certify, and launch robust software and equipment that will survive and thrive in complex environments.

Re-creating the complexity of a real-world environment helps development teams produce more robust software because the complexity gets baked directly into product, security, and compliance testing.  Oversimplifying our environments is the equivalent of winging it, which is another way of saying improvising, or doing something without the proper level of preparation.

Think of the products you trust with your privacy, or even your life.  Would you prefer to share your private health information or ride in a self-driving car that was created by dev and test teams that were just winging it?  Or, would you appreciate knowing that your software-based products were created and tested by well-prepared teams that did not oversimplify their environments?

Managing Complexity Through Environment-as-a-Service

Creating real-world replicas of networking and software environments can be hard, especially when it’s done manually.  An environment-as-a-service approach is good news for anyone who’s ever had to wait for days, weeks, or even months for access to the application and infrastructure resources they need to create replicas of their own complex environments.

The solution involves turning development and test environments into cloud services.  A service-based architecture can be delivered by pulling together all the necessary components, including infrastructure, tools and applications, and then rendering them into a fully automated test environment.

Such a service-based model makes it simpler for users to set up and tear down their own environments dynamically on an as-needed basis.  This approach improves resource utilization, while cutting costs by eliminating the need for extensive IT support to provide the necessary infrastructure and toolsets to line-of-business users and sales engineers.

Our industry is still developing new technologies to plug some important gaps in the full spectrum of DevOps tools.  Ongoing market consolidation is likely to accelerate the path toward greater standardization over the next several years.

As the speed of business becomes increasingly complicated and fast-paced, our development tools and testing systems must keep pace by reflecting similar levels of complexity and agility.  Along the way, we should seek to refine our internal DevOps practices byabstracting away the underlying infrastructure complexity.  In this way, developers can focus on doing excellent coding and developing better applications.

Lior Koriat has served as Quali’s CEO since 2008. Prior to joining Quali, Lior was founder and CEO of Intellitech Engineering Mechanical & Aviation Ltd.  He has over 20 years of experience in system and software engineering in the fields of avionics, robotics, communications, control, real-time and embedded applications, algorithms and audio/video streaming.  He holds a Bachelor’s degree with honors in computer science and economics from Tel Aviv University.

Edited by Erik Linask
Get stories like this delivered straight to your inbox. [Free eNews Subscription]
Related Articles

Protecting Your Digital Fortress Through Threat Exposure Management

By: Contributing Writer    5/23/2024

In today's digital landscape, cybersecurity threats loom large, posing significant risks to businesses, organizations, and individuals alike. With the…

Read More

Why Block Websites? Understanding the Reasons

By: Contributing Writer    5/6/2024

The internet is such an expansive network where every click can lead to information, entertainment, or opportunities for productivity. However, this a…

Read More

ChatGPT Isn't Really AI: Here's Why

By: Contributing Writer    4/17/2024

ChatGPT is the biggest talking point in the world of AI, but is it actually artificial intelligence? Click here to find out the truth behind ChatGPT.

Read More

Revolutionizing Home Energy Management: The Partnership of Hub Controls and Four Square/TRE

By: Reece Loftus    4/16/2024

Through a recently announced partnership with manufacturer Four Square/TRE, Hub Controls is set to redefine the landscape of home energy management in…

Read More

4 Benefits of Time Tracking Software for Small Businesses

By: Contributing Writer    4/16/2024

Time tracking is invaluable for every business's success. It ensures teams and time are well managed. While you can do manual time tracking, it's time…

Read More