Greetings to my fellow Technology Advocates and Specialists.
In this Session, I will explain Terraform code repository structure: Monolith vs Microservice.
SPECIAL NOTE:- |
I thank @pwd9000 and @anandarbone for collaborating. Though I am publishing this Article, but both of them have the equal rights to republish and repost. |
CODE REPOSITORY:- |
Terraform Code Repository: Monolith or Microservice Approach:-
Greetings to my fellow Technology Advocates and Specialists.
In this Session, I will explain Terraform code repository structure: Monolith vs Microservice.
SPECIAL NOTE:- |
I thank @pwd9000 and @anandarbone for collaborating. Though I am publishing this Article, but both of them have the equal rights to republish and repost. |
CONSIDERATIONS:- |
For the purpose of this article, I/We have considered below:- |
# |
CATEGORY |
VALUE |
1. |
Cloud Platform |
Azure |
2. |
Devops Platform |
Azure Devops |
3. |
Source control |
Azure Git |
4. |
Pipelines |
Azure Devops Pipelines |
5. |
IaC |
Terraform |
6. |
Code Structure |
Modules Based |
What is Monolith based code repository in Terraform ? |
1. In simple terms, it means one repository under Azure DevOps Project with multiple folders. |
2. Each folder contains Terraform Module per Azure Service. |
3. Reference screenshot follows below:- |
|
Monolith based code repository problem statements:- |
1. Each time the Pipeline runs, it checks out all |
…
|
CONSIDERATIONS:- |
For the purpose of this article, I/We have considered below:- |
# |
CATEGORY |
VALUE |
1. |
Cloud Platform |
Azure |
2. |
Devops Platform |
Azure Devops |
3. |
Source control |
Azure Git |
4. |
Pipelines |
Azure Devops Pipelines |
5. |
IaC |
Terraform |
6. |
Code Structure |
Modules Based |
What is Monolith based code repository in Terraform ? |
1. In simple terms, it means one repository under Azure DevOps Project with multiple folders. |
2. Each folder contains Terraform Module per Azure Service. |
3. Reference screenshot follows below:- |
|
Monolith based code repository problem statements:- |
1. Each time the Pipeline runs, it checks out all codes. |
2. Pipeline execution time increases gradually. |
3. Size of the artifacts increases gradually . |
4. Avoid Human Error while contributing. |
What is Microservice based code repository in Terraform ? |
1. In simple terms, it means multiple repositories under Azure DevOps Project. |
2. Each repository contains Terraform Module per Azure Service. |
3. Reference screenshot follows below:- |
|
All the above identified problem statements in Monolith Code Repository is resolved with Microservice based code repository.
Mitigating Monolith based code repository problem statements with Microservice based code repository:- |
1. Each time the Pipeline runs, it checks out only the relevant repositories. |
2. Pipeline execution is fast/not impacted because it checks out only the relevant repositories. |
3. Size of the artifacts is way small and the increase is not even noticed because it checks out only the relevant repositories |
4. Chances of Human Error is on the lower side since contributor works on specific repositories. |
Hope You Enjoyed the Session!!!
Stay Safe | Keep Learning | Spread Knowledge
Top comments (0)