Git Product home page Git Product logo

three-tier-architecture's Introduction

Three Tier Architecture

AWS Three Tier Architecture Reference

This is an implementation of the classic three tier architecture for application hosting.
Three modules that constructs our architecture:

How to deploy

Setup:

Run commands to deploy:

  • export env=dev (or prod)
  • terraform get -update=true
  • terraform init -backend-config=config/backend-${env}.conf -backend=true
  • terraform apply -var-file=config/${env}.tfvars -var password=<db password> -lock=true

Learn more about Terraform commands here

Configuration files

There are two example configuration files in the config/ folder. Each contains inputs for the main terraform module to run.

  • dev: for development environment settings
  • prod: for production like environment settings

Main terraform module inputs

Name Description Type Default Required
allocated_storage The amount of allocated storage string - yes
db_subnet_b_cidr The cidr range for db subnet b string - yes
db_subnet_c_cidr The cidr range for db subnet c string - yes
instance_class RDS instance class (e.g. db.t2.micro or db.m4.xlarge) string - yes
multi_az Create a replica in different zone if set to true string - yes
password RDS password string - yes
private_subnet_b_cidr The cidr range for private subnet b string - yes
private_subnet_c_cidr The cidr range for private subnet c string - yes
public_subnet_b_cidr The cidr range for public subnet b string - yes
public_subnet_c_cidr The cidr range for public subnet c string - yes
skip_final_snapshot Creates a snapshot when db is deleted if set to true string - yes
username RDS username string - yes
vpc_cidr The cidr range for vpc string - yes

Outputs

Name Description
elb_dns Elastic Load Balancer DNS
rds_endpoint RDS endpoint

References

CI/CD support

three-tier-architecture's People

Stargazers

 avatar ghaith albaaj avatar Harish Varada avatar

Watchers

James Cloos 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.