Deploying the Three-Tier-Application using HelmChart

ยท

3 min read

Deploying the Three-Tier-Application using HelmChart

Introduction

A three-tier architecture is a software architecture pattern that divides an application into three main components or layers, each responsible for specific functionalities. These three tiers are:

  1. Presentation Tier (User Interface):

    • Also known as the client or front-end layer.

    • It is the interface through which users interact with the application.

    • Common technologies used in this tier include web browsers, mobile apps, and graphical user interfaces (GUIs).

  2. Application Tier (Logic or Business Logic):

    • Also known as the middle tier.

    • This layer contains the business logic or application logic that processes and manages the application's data.

    • The technologies used in this tier include application servers, server-side scripting, and middleware.

  3. Data Tier (Database):

    • Also known as the back-end or data layer.

    • This layer is responsible for managing and storing the data used by the application.

    • Common technologies used in this tier include relational database systems (e.g., MySQL, PostgreSQL, Oracle) or NoSQL databases.

The three-tier architecture provides several benefits, including scalability, maintainability, and the separation of concerns. Each tier can be developed, deployed, and maintained independently, making it easier to manage and update different aspects of the application. Additionally, this architecture facilitates a modular and organized approach to software development.

Fork and clone the repo to local

git clone https://github.com/LondheShubham153/TWSThreeTierAppChallenge.git

Now, create the docker image of the frontend and backend

# move to frontend directory and excute below command 
docker build -t frontend .
# move to backend directory and excute below command 
docker build -t backend .

Pulling the MongoDB image from docker hub

docker pull mongo

Pushing the image to ECR

Create the three public repo in the ECR

  • frontend

  • backend

  • mongo

Now, Push the image to respective repo. If you don't know, how to push image to ECR follow below blog

How to push image into Amazon ECR

Things to be done before starting to deploy the helm chart

https://github.com/anishbista60/Pre-requisites/tree/main/pre-requities

About helm chart

Helm chart uses certain file structure. In our case, the following diagram shows the chart tree structure.

create the Helm Chart with below command

helm create Helm-Chart

you would find the Chart.yaml, values.yaml and templates in below link

https://github.com/anishbista60/Pre-requisites/tree/main/Helm-Chart/helm

Deploy using Helm chart

Follow below link to deploy the Helm chart

https://github.com/anishbista60/Pre-requisites/blob/main/before-helm-deployment/README.md

Conclusion

In conclusion, the three-tier architecture provides a robust framework for building scalable, modular, and maintainable applications. Its benefits include enhanced security, improved performance, flexibility in technology choices, and streamlined development processes. While it may not be the best fit for every application, it remains a popular and effective choice for a wide range of software development projects.

ย