반응형
2.1 운영 서버 아키텍처의 이해
2.1.1 단일 서버
단일 서버 구성은 단순한 구성인만큼 환경을 구축하기가 쉽다는 장점이 있어서 테스트 서버나 간단한 애플리케이션을 서비스할 때 많이 사용한다. 그리고 DB 와 애플리케이션이 같은 서버에서 실행되어 별도의 네트워크 설정을 할 필요 없이 로컬 호스트를 대상으로만 하면 된다.
하지만, 아래와 같은 단점이 있다.
첫번째, 전체 서비스의 장애 발생 가능성이 높음
- 같은 자원을 공유하기 때문
- 둘 중 하나라도 장애가 발생할 경우 그 부분이 아닌 전체가 죽을 수 있음
두번째, 서버 자원의 효율적 사용 어려움
- 각 속성에 따라 최적 OS 설정 자원의 종류(CPU, 메모리..) 등이 다를 수 있음
세번째, 보안성이 떨어짐
- 애플리케이션 특성상, 여러 불특정 IP 를 받아야 되기 때문에 보안에 취약함
네번째, 스케일 아웃(Scale out) - 서버의 수를 여러 대로 늘려 자원을 확장 함 - 이 힘듦
- 서버를 여러대로 늘릴 경우, 클라이언트에 추가된 서버의 주소 파악해야되며, 복제본이 여러개 생겨 관리가 힘듦
2.1.2 애플리케이션/ 데이터베이스 서버 분리
- 애플리케이션과 DB 가 다른 자원 사용
- 전체 서비스 장애 확률, 효율적인 자원사용, 보안성 감소 등의 문제 해결
- 두대의 서버 관리로 구성이 조금 복잡해짐
- 서버 사이의 지연시간과 네트워크 보안을 고려해야함
- 스케일 아웃은 힘듬
2.1.3 서버단위의 로드 밸런서
클라이언트가 애플리케이션을 실행하는 서버와 직접통신하는 대신 로드 밴런서라는 서버와 통신하고 그 뒤에 여러대의애플리케이션 서버를 두는 방식. 클라이언트는 로드밸런서를 통해 요청을 서버에게 전달하고 서버는 그 요청을 로드밸런서를 통해 클라이언트에게 전달
- 스케일 아웃이 가능
- 장애 발생시, 로드밸런서를 통해 정상서버에만 넘기면 되므로 장애 최소화
- 단, 밸런서에 장애가 생기면 전체 서비스 장애로 이어짐
2.1.4 서버 내 앱 단위의 로드 밸런서
여러 애플리케이션 프로세스들에 요청을 분산시키는 앱 단위의 로드 밸러서 추가 됨. 애플리케이션 서버 안에서 똑같은 애플리케이션을 여러 프로세스로 만들어 실행하고 외부에서 들어온 요청을 프로세스 중 하나로 보내주는 역할을 하는 방식
- 하나의 서버에 여러개의 프로세스를 실행
- 하나의 서버에서 여러개의 요청을 동시 처리 가능
- 서버 자원을 최대한으로 사용할 수 잇고 서버 자원도 효율적으로 사용 가능
반응형
'Book > 서비스운영이 쉬워지는 AWS 인프라 구축 가이드' 카테고리의 다른 글
4. 운영 서버의 외부 환경 구성 ( DNS, HTTPS ) (0) | 2021.03.16 |
---|---|
3.1 Auto Scaling 그룹 생성 (0) | 2021.03.15 |
3. 다중 서버 환경 구성 (0) | 2021.03.14 |
2.4 웹 서버와 웹 애플리케이션 서버 (0) | 2021.03.13 |
1. 운영 서버와 AWS 소개 (0) | 2021.03.11 |