Can we have centralized helm charts repo for all microservices

Viewed 14

Our team is developing an application based on microservices architecture. And will be deployed on Kubernetes using helm chart.

We will be using Azure DevOps to manage the project as well as Pipelines.
And took reference from the below URL for managing CI/CD: https://learn.microsoft.com/en-us/azure/architecture/microservices/ci-cd-kubernetes

Azure CI/CD pipeline for microservices

We have 2 scenarios as follows for managing Helm chart:

  1. Should we have a centralized repository for the helm chart, where we will have the sub-charts per microservice?
  • In this case, we can have only one release pipeline which will use this centralized Helm chart repository to upgrade changes in Kubernetes.
  • Here we have an issue in the CI pipeline's Helm package job which only allows us to select the chart within the microservice repository for which the pipeline is created.
    I think we can solve this by creating a separate pipeline for the Helm package and Push jobs so we can select the chart from the centralized Helm repository. And this pipeline will be common for all the microservices and will trigger after the CI pipeline.

OR

  1. Should we have a charts within the corresponding microservice repositories?
  • In this case, we need to have a separate Release pipeline for each microservice.
  • Also manage helm charts individually.
  • How to manage deployment for integration testing on a QA environment if there are changes in 2 or more microservices. As each service will be deployed individually how this is going to be in sync?

Please suggest us the best/recommended way so we move ahead.

Thanks in advance.

0 Answers
Related