Skip to content

sd031/microservice-cicd-project-with-terraform

Repository files navigation

Learn With Sandip

Microservices CI/CD With Terraform, AWS CodePipeline + AWS CodeCommit + AWS CodeBuild + AWS ECS

N|Solid

This project help you set up end to end CI/CD With AWS CI/CD Tools for your Amazon ECS Applications using Terraform

  • This project gives you clear idea of what Infrastrucre as Code Is
  • Using easy to to understand Terraform Code, makes cocepts much clear
  • Application Source Codes e.g. NodeJs, Python, Go app source codes also available, so you can get started esily and quickly 👍

Watch FULL FREE Video Tutorial here

This Project Designed and developed by Sandip Das

Tech

This project uses many open source and few propertory projects to work properly:

  • node.js - evented I/O for the backend
  • Python - Python is a programming language that lets you work quickly and integrate systems more effectively.
  • Go Lang - Go is an open source programming language supported by Google
  • Terraform - Terraform is an open-source infrastructure as code software tool that provides a consistent CLI workflow to manage hundreds of cloud services. Terraform codifies cloud APIs into declarative configuration files.
  • AWS CodePipeline - AWS CodePipeline is a fully managed continuous delivery service that helps you automate your release pipelines for fast and reliable application and infrastructure updates. CodePipeline automates the build, test, and deploy phases of your release process every time there is a code change, based on the release model you define.
  • AWS CodeCommit - AWS CodeCommit is a secure, highly scalable, managed source control service that hosts private Git repositories
  • AWS CodeBuild - AWS CodeBuild is a fully managed continuous integration service that compiles source code, runs tests, and produces software packages that are ready to deploy
  • AWS ECS - Amazon Elastic Container Service (Amazon ECS) is a fully managed container orchestration service that helps you easily deploy, manage, and scale containerized applications.

Installation

Node.js Installation

Python Installation

Go Installation

Docker Installation

Terraform Installation

Microservice Manual Setup instuctuctions

Building Microservices with AWS ECS + Application Load Balancer After setting up ECS Clusters and services it's now time to use Terraform to setup CI/CD For the Cluster's services

Terraform Instructions

First make sure AWS CLI is installed and you have configured authorization properly After that: Initialize Terraform from the terraform project folder

cd terraform_infra_deployment
terraform init

After initialization done, changes variable values you will find in variables.tf

vi variables.tf

After done with changing variables/parameters, and all set, it's time to do a DRY RU to see/verify what resources this will create

terraform plan

Verify once and if all seems well, it's time to create actual remote infratucture in AWS

terraform apply

License

MIT

Free Software, Hell Yeah!