Build and Deploy Multiple Applications with a Single Click

TL;DR: Deploying 100s of applications manually would be time-consuming. You can set up one click deployment and builds through the use of Application groups.

Table of contents

Let's say you’ve made a small configuration change in your application. The current application you are managing consists of multiple microservices which are deeply interlinked. To be able to make a small change that is as minor as adding PDB or tweaking configMap, which is mounted in all your applications, modification in replica count, etc., one has to perform a fresh round of deployment across all the microservices for this infra-level change to take effect.

You don’t want to go into every microservice and perform deployments. This is a troublesome and painstaking process that all my fellow developers must go through now and then. Considering the plight of the open-source community, we at Devtron have built a feature called application groups that can automate your config change throughout the application in one go, thus saving multiple hours of redeployments.

What are Application Groups?

Application groups are logical sets of your Devtron Apps deployed in a particular environment. Using Application groups, you can build and deploy multiple applications in a go as well as manage the application configurations without switching between multiple applications. Devtron's Application Groups let you manage all the apps of a specific environment from a centralized view.

Why Do I Need to Create an Application Group?

Application grouping is a best practice that can simplify performing deployment at scale. Let us take two examples to understand how it works on the ground.

Use Case 1: A development team running 20 tightly coupled microservices (interdependent) will need to redeploy all microservices if one is updated.

Use Case 2: Due to config changes in Kafka broker(s), you might need to redeploy all of your consumer applications.

A developer's life would be very difficult in the two cases above, as they do this manually daily. Teams using Devtron can automate this rudimentary manual process with Devtron’s Application Groups.

In the image below, you can see the application groups based on the different environments, and also see the number of applications within each environment. Let us use the banking-staged environment.

Application Groups
Application Groups

In the banking-staged Application group, you can view all the various applications that are part of this environment.

Devtron also lets you manage all the applications in the environment, which reduces manual efforts. From the group, you can perform multiple actions such as:

  • Manage the Traffic for the Deployment Strategy
  • Clone pipelines for specific applications
  • Restart the workloads of an application
  • Hibernate or unhibernate applications

In the image below, you can see that Devtron also provides information about the application health, deployment status, the image used, and the artifacts for the specific applications. 

Application Management
Application Management

Deploy Multiple Applications at Once

Devtron’s Application groups allow you to deploy all the applications of the environment with just a single click. From the Build and Deploy page, you will be able to see all the different applications, along with their pipeline. From this page, you can select multiple applications and trigger their build or deployment process from one single page.

Apart from triggering a simple build or deploy process for the application pipelines, you can also change the source of the image and change the branch for the git repository. In case a specific application fails to deploy or the deployment has errors in it, you can trigger an SLO-based rollback from this page itself.

Multi-Application Pipeline Actions
Multi-Application Pipeline Actions

From the Configurations tab, you can also change the deployment configuration for each application, including the configmaps and secret variables. This provides a centralized view for managing and updating configurations for multiple applications in the same environment.

Application Configurations
Application Configurations

Detailed Audit Logs

Within the Build History and Deployment History tabs, Devtron will maintain a detailed audit log of the builds and deployments that have been triggered, along with their specific information such as the artifacts created, Chart configurations, image source, and more. 

This detailed log helps maintain visibility into the different actions that have been triggered, along with specific information about the build or deployment.

Deployment Audit Log
Deployment Audit Log

Summary

Overall, Application Groups is a powerful feature of Devtron that can help you manage your applications more efficiently for any specific environment. Organizing your applications into groups simplifies your deployments, manages workflows easily, and improves your overall DevOps experience.

To further enhance your knowledge of Kubernetes, check out this post on stateful sets.

Related articles

Related articles