Complexity of application deployment automation has snowballed with the need to run across multiple infrastructure platforms and related tools. Building a common application operations (AppOps) model that standardizes application deployment and management will create the developer efficiency that organizations seek.
The last two decades of infrastructure tool advances have empowered developers to deliver applications increasingly faster. But it comes at a cost: Today's complexity absorbs way too much of developers' time and focus. A few nascent companies harness cloud-native tooling from their inception, but most organizations still run applications on premises or on cloud-based virtual machines.
Full Kubernetes and GitOps implementations are long-term road map goals for these organizations. In the meantime, deploying applications across multiple technologies means developers must grapple with multiple CI/CD pipelines and with just as many Kubernetes manifests and infrastructure-as-code (IaC) configurations. Post-deployment application support is no less of a challenge.
Figure 1. An example of the complexity many developers face in managing multiple application deployment pipelines. Source: Shipa
For developers, the impact of all this complexity and limited application control reaches across several fronts. Development speed slows. Application support capabilities suffer. Developers and operations teams feel increased friction. These challenges and complexities only become more severe as development teams, applications, and environments scale.
Endlessly adding tools and investing resources becomes unsustainable
Organizations often try to keep pace with the expanding complexity of their application environments by adding pricey new automation tools and even more pricey personnel.
As businesses further automate infrastructure and services provisioning with technologies such as Kubernetes and GitOps, DevOps teams introduce new pipelines and security controls to support those platforms. However, multiplying development pipelines in this way only gives developers more disjointed tools and application controls to contend with—and more resentment for the DevOps platforms adding overhead to the development process.
Organizations' costly and fruitless attempts to manage multiple pipeline complexity are best exemplified by internal developer platforms (IDPs). In theory, IDPs abstract away infrastructure management and speed up application delivery and support. But as organizations are finding out, IDPs cannot fundamentally reduce the growing complexity developers face. The core shortcoming of IDPs is that they are mostly bespoke solutions that are rigid and difficult to make conform to industry-standard conventions such as canary deployments.
The typical IDP also focuses on management-level goalposts—such as needing to complete internal ticket—that actually increase developer overhead rather than truly streamlining the developer experience. At the same time, IDPs also struggle to help organizations offer their customers any direct and demonstrable business value.
For these reasons, IDPs can become abandoned projects, many times after years of periodic downtime, security gaps, tremendous expenses, and developer frustration.
AppOps: A different way forward
Enlisting an AppOps model that standardizes application deployment and management regardless of the control plane helps provide the developer efficiency that organizations seek. With AppOps, DevOps can use any control plane, from VMs to Kubernetes and beyond, and developers can continue their activities without interruption or even taking notice.
By entirely decoupling the nuances of a given infrastructure from applications, AppOps provides an application-level abstraction that no IDP can achieve. For example, developers backed by AppOps can smoothly transition an application from VMs to Kubernetes without facing the complex list of Kubernetes manifests and objects that devs using an IDP would otherwise have to grapple with.
Properly implemented, an organization should be able to use AppOps along with any platform in its stack. From the centralized AppOps control layer, DevOps can define security controls for automatic enforcement across all deployed applications, freeing developers from those concerns. AppOps can also fulfill all infrastructure automation requirements, creating all necessary application resources using available infrastructure.
Importantly, AppOps represents a new category of solutions rather than a single tool, one on par with adjacent categories like continuous integration, application performance management, and application security.
AppOps' arrival should invite a wave of new products, equal to the innovations that arrived with VMs, cloud computing, and microservices before it. Leveraging these new tools will allow organizations to achieve application development defined by a newfound simplicity when it comes to providing security, applications controls, and project velocity.
Figure 2. Examples of AppOps-streamlined application pipelines. Source: Shipa
AppOps' potential
The promise with AppOps is in making the particular infrastructure, the CI pipeline, and the control plane that's creating applications unimportant—at least from a developer perspective.
In this way, AppOps makes the waning visibility of Kubernetes, as predicted in some quarters and supported by the Cloud Native Computing Foundation's (CNCF) latest survey, entirely plausible. Now, Kubernetes is not disappearing, but both containers generally and Kubernetes specifically seem to be becoming less evident as the technology evolves. Chris Aniszczyk, CTO, CNCF sates "It’s similar to the ubiquity of Linux, which now resides inside so many other platforms and devices: TVs, phones, fridges, and even on the Mars rovers. People tend not to realize all the technology that’s underneath.” The AppOps ecosystem is focused on not exposing what's under the hood to internal customers.
Expect a maturing AppOps to increase the pace of development, and finally deliver on automation's promise to move infrastructure completely out of sight and out of mind for developers.
Keep learning
Take a deep dive into the state of quality with TechBeacon's Guide. Plus: Download the free World Quality Report 2022-23.
Put performance engineering into practice with these top 10 performance engineering techniques that work.
Find to tools you need with TechBeacon's Buyer's Guide for Selecting Software Test Automation Tools.
Discover best practices for reducing software defects with TechBeacon's Guide.
- Take your testing career to the next level. TechBeacon's Careers Topic Center provides expert advice to prepare you for your next move.