Giter Site home page Giter Site logo

imran99744 / architecting-3-tier-application-on-aws Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 11 KB

The purpose of this project is to create a scalable and highly available, fault tolerant three-tier architecture on AWS. The architecture consists of a web tier, application tier, and database tier, enabling the deployment of a web application with efficient resource utilization.

HCL 100.00%
aws awsvpc subnet

architecting-3-tier-application-on-aws's Introduction

Creating a High Available, Fault Tolerant and Secure AWS 3-Tier Web Architecture

Project Overview

The purpose of this project is to create a scalable and highly available, fault tolerant three-tier architecture on AWS. The architecture consists of a web tier, application tier, and database tier, enabling the deployment of a web application with efficient resource utilization.

Architecture Overview

The 3-tier architecture is designed to separate the presentation layer (web tier), application logic layer (application tier), and data storage layer (database tier). This separation allows for modular development, scalability, and flexibility.

3-Tire Architecture AWS

Infrastructure Setup

The infrastructure is set up on AWS using the following components:

  • Virtual Private Cloud (VPC): A logically isolated section of the AWS cloud where the architecture is deployed.
  • Subnets: Six subnets are created within the VPC to distribute the resources across availability zones for high availability.
  • Security Groups: Network-level access control to allow specific traffic between the tiers and restrict unauthorized access.

Component Details

  1. Web Tier:
  • The web tier consists of EC2 instances running web servers, serving as the front-end layer.
  • The web servers receive HTTP requests from users and pass them to the application tier for processing.
  1. Application Tier:
  • The application tier contains EC2 instances running the application server software.
  • The application servers process requests from the web tier, handle business logic, and interact with the database tier.
  1. Database Tier:
  • The database tier consists of Amazon RDS, a managed relational database service.
  • MySQL is used as the database engine.
  • The database stores and manages the application's data.

Scalability and High Availability

The architecture supports scalability and high availability through the following mechanisms:

  • Auto Scaling: Auto Scaling groups are configured in both the web and application tiers to automatically adjust the number of instances based on the workload.
  • Elastic Load Balancer: A load balancer is placed in front of the web servers to distribute incoming traffic and ensure high availability.
  • Multi-AZ Deployment: The database tier is deployed in multiple availability zones to ensure resilience and minimize downtime.

Security Measures

To ensure the security of the architecture, the following measures are implemented:

  • Network Security: Security groups are configured to restrict traffic, allowing only necessary communication between the tiers.
  • Access Control: IAM roles and policies are used to grant appropriate permissions to EC2 instances and services.

Implemented Infrastructure as Code (IaC):

After creating/implementing this architecture manually on AWS I have provisioned this entire architecture using Terraform. With Infrastructure as Code, I can define and deploy the infrastructure consistently, efficiently, and effortlessly. It's a game-changer!

Conclution

This project documentation outlines a 3-tier architecture deployed on AWS, aiming to create a scalable and highly available and fault tolerant web application. The architecture consists of a web tier, application tier, and database tier, with each tier fulfilling specific functions. The infrastructure setup involves a Virtual Private Cloud (VPC) with six subnets, security groups, and appropriate network configurations.

architecting-3-tier-application-on-aws's People

Contributors

imran99744 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.