1. AWS: 3티어 아키텍처 란?
* 티어 란?
- 큰 하나의 시스템을 여러 계층으로 나눠서 그 계층을 의미하는 말이 '티어'이다. 티어 마다 하나의 서버계층이라고 생각.
- 각 티어들은 각자의 역할이 존재한다.
* 3티어 아키텍처 란 무엇인가?
- 어떠한 플랫폼을 3가지 계층으로 나눈 형태.
- 프레젠테이션 계층: 사용자와 교류가 있는 계층으로 GUI 및 사용자 인터페이스(브라우저)등을 제공하는 계층이다.
흔히 프론트 엔드라고도 부르며 데이터를 처리하지는 않는다. ex) 웹 서버
- 어플리케이션 계층: 프레젠테이션 계층과 데이터 계층으로부터 요청을 주고받는 계층으로 비즈니스 로직을 처리하는 계층이다. 프레젠테이션 계층으로부터 받은 요청을 처리하고 데이터 계층과 상호작용하여 데이터를 가져오거나 저장한다. ex) 이 계층은 java, php, python등의 언어로 구현되며 서버 측에서 동작.
- 데이터 계층: 데이터베이스를 관리하는 계층으로 실제 데이터를 저장하고 검색하는 역할. ex) MySql, MongoDB
* 3티어 계층의 장점과 단점
[ 장점 ]
- 유지보수의 용이성: 계층으로 나눠져 있어서 서로 영향을 덜 받음.
- 확장성: 계층별로 독립적인 확장 가능.
- 재사용성: 모듈별로 나눠져 있어서 부분별로 재사용이 가능.
- 보안 강화: 계층마다 접근하는 방법이 다르기 때문에 보안을 강화할 수 있음.
- 부하 분산: 별도의 서버에서 동작을 하기 때문에 부하분산이 가능.
[ 단점 ]
- 복잡성: 계층별로 서비스가 늘어나면 복잡해질수 있고 추가하는데도 힘들다.
- 성능 저하: 여러 단계를 거치기 때문에 응답시간이 지연될 수도 있다.
- 운용 비용 증가: 나눈 계층만큼 서버를 증설해야 하기 때문에 비용이 증가될 수 있다.
* 다음 시간부터는 해당 아키텍처를 AWS에서 구현해 보겠다.
* 참고 출처: https://jaws-coding.tistory.com/9