Building the Builder – How to create a Continuous Delivery platform in Azure (I)

This is the first of a series of posts that will describe the process of creating a complete set of tools to provide Continuous Delivery for your business in the cloud.

Continuous Delivery Platform

Components

What is expected a continous delivery platform to have? We think a build platform will need an orchestrator/building tool (that in our example will be Jenkins), a code repository (Gitlab), Artifact repository (Nexus) and a Static Code Analysis tool (Sonarqube).

Requirements for the Continuous Delivery Platform

The requirements for this platform are:

  1. High Availability
  2. Replicability
  3. Scalability
  4. Reporting

High Availability

What does HA mean? HA means that the platform needs to be available 24/7 and it has to be able to recover from failures so, we need each component to be able face failures and minimize their impact for the users. We will use a clustered deployment for all the elements in the platform.

Replicability

The platform being replicable means that we will are capable of re-build the platfrom from a source code repository and we will have all the features ready to use.

Scalability

The scalability requirement implies the platform needs to adapt to the required load for the system so that, in case there are too many users and the performance gets degraded, it will be able to grow.

Reporting

The continuous delivery platform will have to provide reports about the tasks is carrying such as builds, tests and promotions. These reporting will be included in a management to make it easily accessible for the people working in the projects that will use the platform. Messaging with updates from the platform will also be required.

Technologies to be used

To cope with these requirements we will use:

  • Terraform (IaC)
  • Kubernetes over AKS in Azure
  • Helm (Manage deployments in Kubernetes)

In the next post we will focus in the creation of managed cluster in AKS.

Fernando Munoz

Author: Fernando Munoz

Software Team Leader

One Reply to “Building the Builder – How to create a Continuous Delivery platform in Azure (I)”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.