Kubernetes, GitOps, and Modern Software Deployment

Dec 22, 2022 by Anna Daugherty

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:

  • Runs in a K8s cluster.
  • Caches resource configurations.
  • Binds account identities with the resources these roles (or users) are authorized to manage.

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

Argo + Armory: Cross-environment orchestration made easy

Feb 1, 2023

Cross-environment orchestration that you don’t have to spend time building At Armory, our goal is software innovation, whether that’s our own Continuous Deployment solutions, or being able to help our customers reach higher innovation peaks within their software development. We’ve taken deliberate steps to make sure our products play well with others, with a focus […]

Read more

Navigating AWS Deployment Targets with Armory

Jan 20, 2023

Many organizations look to Amazon Web Services (AWS) to host and deploy their applications in the cloud. However, they’re finding that their deployment tooling, often built as an extension of their legacy continuous integration (CI), is one of the main impediments to adopting cloud services.  Custom-scripted production pipelines built with in-house tooling need to be […]

Read more

Release Roundup – January 2023

Jan 11, 2023

Get the latest product news on Continuous Deployment-as-a-Service and the most recent release for Continuous Deployment Self Hosted, 2.28.2. Welcome to 2023!  Just like every organization, Armory is looking for ways to improve our practices and deliver more value (and faster!) to you, our customers. That’s why our engineering team is working to deliver features, […]

Read more