The Shift to Declarative Continuous Deployment
November 21, 2022

Stephen Atwell
Armory.io

Imperative versus declarative deployment — which one is better? The answer: it depends. Development teams may prefer one over the other based on their workload capacity, infrastructure and desire for control. However, we are on the precipice of change. In the coming years, we will see a rapid shift to declarative automation in deployment.

Companies and development teams are under immense pressure to accelerate the software development cycle and improve the product while simultaneously controlling or reducing costs. More than 90% of developers and marketers say waiting to deliver improvements significantly impacts their business. Companies want developers and engineers to focus on the tasks that provide value — creating a stable program, fixing application bugs and delivering new features. After all, software delivery alone does not predict business success. It requires product reliability.

Let's look at why many more teams are gravitating toward declarative deployment.

What Are Imperative and Declarative Deployments?

Putting it simply, a declarative system says, "This is what I want to see in the end," and an imperative system says, "These are the steps I want the system to complete to get the desired results."

Imperative deployment is the more widely used strategy. DevOps teams build curated and explicit steps to take the program through continuous integration and continuous deployment, manually defining pipelines and the individual processes within. This paradigm is ideal for elite teams that want tight control over the process while keeping flexibility and customization.

Conversely, in declarative deployment, developers set deployment objectives based on a selection of variables. This approach focuses on the end result, not the steps in committing and releasing. Rather than telling the system how to deploy to an environment or what order to run tests, developers specify the code’s location, what environments it needs to reach and the requirements for each environment to receive the code. Modeling the process this way defines the desired application state, which provides the basis for the deployment and management system to automatically generate a deployment process that is more resilient to change than an imperative coded process. The system executes the deployment logic without involving the user. Developers can go back to writing code. This method is ideal for pre-elite teams who are focused on their product and care less about the deployment journey.

The Move to Declarative Technology Automation

The move from imperative to declarative in technology automation started outside of deployments. I previously worked for a different technology automation company that sold an imperative engine for automating service runbooks. Our most frequent automation happened when monitoring detected a service was down. The product would remove it from the load balancer, restart it and add it back. This was a huge time saver for many companies because it was typically done by hand in 2006.

Fast forward to today, Kubernetes is the declarative version. Instead of having a custom script triggered by monitoring, updating my load balancers and resetting servers, I simply state what workload I want to run and how many copies should be running. Kubernetes automatically monitors the health of the workload and fixes any detected issues. Once I declare a given state, Kubernetes is smart enough to maintain that state. I no longer need to tell my custom automation how to stay in that state. This is the difference between imperative and declarative.

The Move to Declarative Continuous Deployment

DevOps professionals began practicing imperative deployment before AI, when automation was not an option. The existing tool stacks have worked well but now limit how businesses scale their operations.

Developers are constantly creating new and better ways to develop software. This innovation has exponentially increased complexity. Developers face endless step combination options for the process. Because of this, they've got plenty to think about without needing to learn deployment skills and define the entire procedure. In fact, it's not a sound investment to train developers to become deployment experts — they should be coding. Developers just want deployments to work; they don't care about the underlying steps. Therein lies the benefit of the declarative paradigm — it simplifies automation, makes it more resilient to change, and eliminates manual tasks.

By removing the need for manual deployment supervision, developers have more time to write high-quality code. They benefit from the continuous feedback loop created by automatic deployment, which quickly informs them of issues and customer feedback and enables immediate remediation without diminishing customers’ service. Nearly a third of US consumers say they will leave a brand after only one bad experience, so releasing and maintaining reliable software is vital to business success.

Another benefit of declarative deployments: standardization. DevOps teams require advanced capabilities to ensure quality and stability, but many don't have the infrastructure or staffing to execute the same intricacies repeatedly. Automating continuous deployment ensures every change follows the same validation logic, simplifies delivery and makes it reliable, predictable and repeatable. Declarative deployment maintains uptime and regular operations.

Developers want to code, and that's what businesses need. Companies aren't going to increase value when their teams spend significant time pushing out updates instead of creating them. They need bug fixes and new features to drive customer satisfaction, skills only developers can supply. Some operations may stick with imperative deployment, and there's nothing wrong with that if it's working for them. The vast majority will see extreme advantages to adopting declarative practices. The technology exists, so why not use it?

Stephen Atwell is Principal Product Manager at Armory.io
Share this

Industry News

April 11, 2024

Check Point® Software Technologies Ltd. announced new email security features that enhance its Check Point Harmony Email & Collaboration portfolio: Patented unified quarantine, DMARC monitoring, archiving, and Smart Banners.

April 11, 2024

Automation Anywhere announced an expanded partnership with Google Cloud to leverage the combined power of generative AI and its own specialized, generative AI automation models to give companies a powerful solution to optimize and transform their business.

April 11, 2024

Jetic announced the release of Jetlets, a low-code and no-code block template, that allows users to easily build any technically advanced integration use case, typically not covered by alternative integration platforms.

April 10, 2024

Progress announced new powerful capabilities and enhancements in the latest release of Progress® Sitefinity®.

April 10, 2024

Buildkite signed a multi-year strategic collaboration agreement (SCA) with Amazon Web Services (AWS), the world's most comprehensive and broadly adopted cloud, to accelerate delivery of cloud-native applications across multiple industries, including digital native, financial services, retail or any enterprise undergoing digital transformation.

April 10, 2024

AppViewX announced new functionality in the AppViewX CERT+ certificate lifecycle management automation product that helps organizations prepare for Google’s proposed 90-day TLS certificate validity policy.

April 09, 2024

Rocket Software is addressing the growing demand for integrated security, compliance, and automation in software development with its latest release of Rocket® DevOps, formerly known as Aldon®.

April 09, 2024

Wind River announced the latest release of Wind River Studio Developer, an edge-to-cloud DevSecOps platform that accelerates development, deployment, and operation of mission-critical systems.

April 09, 2024

appCD announced its generative infrastructure from code solution now supports Azure Kubernetes Service (AKS).

April 09, 2024

Synopsys announced the availability of Black Duck® Supply Chain Edition, a new software composition analysis (SCA) offering that enables organizations to mitigate upstream risk in their software supply chains.

April 09, 2024

DataStax announced innovative integrations with API extensions to Google Cloud’s Vertex AI Extension and Vertex AI Search, offering developers an easier time leveraging their own data.

April 08, 2024

Parasoft introduced C/C++test CT, a comprehensive solution tailored for large teams engaged in the development of safety- and security-critical C and C++ products.

April 08, 2024

Endor Labs announced a strategic partnership with GuidePoint Security.

April 08, 2024

Hasura announced the V3 of its platform, providing on-demand API composability with a new domain-centric supergraph modeling framework, a distributed supergraph execution engine and a rich and extensible ecosystem of open source connectors to address the challenges faced during integration of data and APIs.

April 04, 2024

DataStax has entered into a definitive agreement to acquire AI startup, Logspace, the creators of Langflow, an open source visual framework for building retrieval-augmented generation (RAG) applications.1