GitOps and Declarative Deployment

Armory provides declarative deployment with a GitOps experience so developers can focus on building great code, not deploying it. Declare and version control your deployment configuration and strategies in your application code repository. Make updates, collaborate, build, and deploy on commit with ease.

What is GitOps?

GitOps endorses the principle that Git is the source of truth for the application. GitOps extends this practice to the infrastructures, configuration, and operational procedures – like deployment – of the application. The declared state of the system is to be stored in version control, and automatically deployed to production. GitOps empowers developers from the beginning of their development all the way to deployment.

What is Declarative Deployment?

Declarative deployment is a pattern of defining the requirements an application must meet in order to be deployed to production, as opposed to writing a script that explicitly manages every step of the way. It is essentially the update – including strategies and other aspects of the update – and rollback process for a group of containers, in a repeatable and automated manner. 

Combining GitOps with Declarative Deployment means your deployment is version controlled, automated, repeatable, and empowers developers to improve customer experiences by spending more time focusing on building your competitive advantage and less time troubleshooting deployments. Deploy more fixes and enhancements, reliably and securely, faster.

Problem: Operational Complexity

As companies grow, there are often mismatched configurations, a lack of defined processes, and competing procedures. This operational complexity often leads to failed deployments, excessive rollbacks, deltas in code versions, and other results that require developers and platform engineers to spend time fixing issues rather than creating value. 

Customers expect ongoing and increasing value, memorable experiences, personalization, and instant gratification; all to be available when and where they want and need it. Operational complexity does not allow you to produce increased and ongoing value from new features and fixes – you’re too busy troubleshooting and figuring out what went wrong. Operational complexity leads to instability resulting in customer experiences not being reliable or available when they want. Operational complexity does not allow you to focus on your customers’ experience.

Armory’s Solution: Standardized and version control deployments

Armory makes it easy to create and enforce standardized advanced deployments using GitOps techniques with version controlled declarative deployments, while also enforcing policies like who can approve what and who can deploy where.

Customer Success Story

Armory helped Upwave and their team of ~20 engineers fully-automate their deployments to increase deployment frequency to 100+ times a week with a change failure rate of <5% using Armory Continuous Deployment-as-a-Service.

Learn more about Upwave’s success story with Armory

How GitOps and Declarative Deployment Works

  • Leverage current team practices and processes through Armory’s integrations with GitHub, GitLab, etc.
  • Version control deployment configuration in the repos you use today.
  • Deploy from any CI tool including GitHub Actions.
  • Support multiple versions of your deployments at the same time – leverage release and hotfix branches as needed – your branches do not need a one-to-one relationship with your Kubernetes clusters.
  • State the goals of your deployment process and orchestrate your SDLC and tests across environments by deploying to staging environments, running tests, and promoting only to production only if all tests pass.
  • Specify how environments depend on each other as well as a list of activities that must happen before an environment is deployed.
  • Leverage webhooks to trigger any existing automation or process.
  • Deploy without any downtime and without the need for managing per-cluster credentials. Simply give each application a single set of credentials to use and deploy across multiple connected clusters.
  • Role based access controls who can do what in each environment, also which environments developers can deploy to.

GitOps and Declarative Deployment Benefits

By standardizing your deployments, you simplify operations, accelerate your time-to-market, and decrease deployment risks; all to improve your developers’ experience and assure and improve your customers’ experience.

Who it Benefits

  • Platform Ops teams – Standardize the process so that every team is minimizing the risk of bad deployments and spend more time creating value.
  • Application Devs – No need to worry about identifying an optimal deployment process and no additional cognitive burden of learning a new tool.
  • Executives – Save money with cheaper and easier-to-maintain tooling, reduce the risk of outages that impact your customers; maintain SLAs, focus your resources on building your unique business value.

Summary

  • Version control and standardize your deployments. 
  • The lack of a standardized deployment process creates operational complexity that often leads to failed deployments, excessive rollbacks, developer turnover, and customer outages.
  • Combining GitOps with Declarative Deployment means your deployment is version controlled, automated, repeatable, and empowers developers to improve customer experiences, faster.
  • With Armory, you can minimize failed deployments, accelerate your time-to-market and decrease deployment risks to assure and improve your customers’ experience.

FAQ

What is declarative deployment?

What is the difference between imperative and declarative automation?

What is declarative in Kubernetes?

What is declarative infrastructure?

Commit. Deploy. Repeat.

Continuous Deployment at any scale, for all developers.