앱 프론트엔드(안드로이드,IOS)는 프로그램 자체를 앱 스토어를 통해서 사용자가 다운받기 때문에 백엔드에 요청만 보낸다.
하지만, 웹 프론트엔드(브라우저)는 사용자들한테 백엔드에서 관련된 프로그램을 전송하기 때문에
앱 프론트엔드 개발자보다 상대적으로 밀접하게 연결되어 있다.
생각해보기: 사용자가 많아져서 요청이 늘어나면 어떻게 될까?
서버에 요청이 많아질테니 서버의 응답속도를 보장하기 위해서 방안을 마련해야 한다
-> 스케일 아웃(Scale Out) or 스케일 업(Scale Up)서버에 에러가 발생할 수 있기 때문에 서버의 성능을 높히는 방식보다는 서버의 개수를 늘리는 스케일 아웃 방식이 선호됨
스케일 아웃(Scale Out) / 스케일 인(Scale In)
서버(컴퓨터)의 개수를 늘리는 것 / 서버(컴퓨터)의 개수를 줄이는 것
스케일 업(Scale Up) / 스케일 다운(Scale Down)
서버(컴퓨터)의 성능을 높이는 것 / 서버(컴퓨터)의 성능을 낮추는 것
DNS(Domain Name System)
IP 주소(예: 192.0.2.44)를 사람이 읽을 수 있는 도메인 이름(예: www.amazon.com)으로 변환해주는 시스템
LB(Load Balancing)
애플리케이션을 지원하는 리소스 풀 전체에 네트워크 트래픽을 균등하게 배포하는 방법
Auto Scaling
클라우드 서비스의 핵심기술로 CPU, 메모리, 디스크, 네트워크 트래픽과 같은 시스템 자원들을 모니터링하여 서버 사이즈를 자동으로 조절 하는 방법
VPC(Virtual Private Cloud)
격리된 가상 네트워크 환경에서 리소스를 사용하는 방법
클라우드 환경에서 컴퓨터를 사용할 수 있게 빌려주는 서비스
*컴퓨터만 빌려주는 방식이기 때문에 모든 설정을 내가 해야함
DNS 역할과 설정된 서버 컴퓨터와 매칭하는 역할을 하는 서비스
둘 이상의 가용 영역에서 EC2 인스턴스, 컨테이너, IP 주소 등 여러 대상에 걸쳐 수신되는 트래픽을 자동으로 분산해주는 서비스
EC2와 같은 서비스를 그룹 단위로 구성하고 오토스케일링을 제공하는 서비스