Kubernetes, GitOps, and Modern Software Deployment

Dec 22, 2022 by Adam Frank

What is Kubernetes? 

Modern software delivery to the cloud enables enterprises to make their applications highly available and manage their performance. Many enterprises deploy their mission critical applications on Kubernetes to do this safely and at scale.

Kubernetes (K8s) is a platform to automate deployment, scale and operate application containers across server groups. Because of its features and popularity, Kubernetes has robust support from all major cloud providers, including AWS (EC2 & EKS), Azure (AKS), Google Cloud (GKE) and Oracle.

Armory has embraced Kubernetes as one of our preferred deployment targets. This allows you to choose which cloud is best suited to run and manage your applications in production. It also allows you to leverage the abundantly available K8s community support.

Armory’s Kubernetes Agent is a lightweight service that:

The result is high-performance, large-scale Kubernetes deployments.  Replicating these configs (e.g., helm charts) and security & privacy controls in each K8s cluster allows you to scale up to thousands of clusters with minimal latency.

Figure 1. Kubernetes Cluster

What is GitOps?

GitOps is another imperative of modern software delivery. Kelsey Hightower describes GitOps as enabling “versioned CI/CD on top of declarative infrastructure.”  

GitOps uses Git as a single system of record for infrastructure and applications. With Git supporting your software delivery pipelines, your developers use familiar tools to make pull requests to automate both application deployments and operations tasks. 

Armory Enterprise manages the automated delivery of software from GitOps-enabled development to a K8s cluster hosted by Amazon, Microsoft, or Google. Consider the GitOps ecosystem shown on the left side of the figure. Using Armory Enterprise to deploy their software to K8s, developers are empowered to specify which applications run on which infrastructure to optimize the configuration, reliability, performance, monitoring and security of each application.

With GitOps and declarative cloud-native infrastructure, development teams can manage their applications and infrastructure “as code,” applying their SDLC practices to both.

CI tools and GitOps provide the source of truth for new application code to the CI/CD pipeline. Armory Terraformer and GitOps provide the source of truth for the infrastructure as code (IaC). 

The continuous deployment pipeline in Figure 2 begins with the Amory platform checking that the application and infrastructure software are in sync, secure (e.g., using scanned and tested container images, binaries, libraries, source code, etc.), paired (e.g., when container images are baked) and validated together throughout the pipeline.

Pipelines-as-Code for Modern Software Deployment

Armory Enterprise standardizes software delivery workflows across teams by leveraging Pipelines as Code. Pipelines as Code allow you to define, test, refactor and scale your software delivery pipelines as an extension of the GitOps ecosystem. 

Armory’s customers define their pipelines in YAML, JSON or HashiCorp Configuration Language (HCL), while Git ensures that they are version controlled and in sync with their applications and infrastructure. Since these languages support templates and modules, your developers can share best practices, reuse code and maintain pipeline consistency for your organization. 

The Armory platform also supports building a new pipeline by composing existing pipelines or including stages from other pipelines. These features make it faster and easier for developers to get a new application deployed and running. Learn more about enabling pipelines-as-code in Armory.

Learn more about Armory’s modern continuous deployment solutions.

Share this post:

Recently Published Posts

Lambda Deployment is now supported by Armory CD-as-a-Service

Nov 28, 2023

Armory simplifies serverless deployment: Armory Continuous Deployment-as-a-Service extends its robust deployment capabilities to AWS Lambda.

Read more

New Feature: Trigger Nodes and Source Context

Sep 29, 2023

The Power of Graphs for Ingesting and Acting on Complex Orchestration Logic We’ve been having deep conversations with customers and peer thought leaders about the challenges presented by executing multi-environment continuous deployment, and have developed an appreciation for the power of using visual tools such as directed acyclic graphs (DAG) to understand and share the […]

Read more

Continuous Deployments meet Continuous Communication

Sep 7, 2023

Automation and the SDLC Automating the software development life cycle has been one of the highest priorities for teams since development became a profession. We know that automation can cut down on burnout and increase efficiency, giving back time to ourselves and our teams to dig in and bust out innovative ideas. If it’s not […]

Read more