Traditional IT 방식
Traditional IT 방식은 서버를 확장하기 위해 보통 Scale Out 방식을 채택했다.
Scale Up: 컴퓨터 사양을 늘리는 것
Scale Out: 기기를 늘리는 것
Traditional IT 방식의 문제점
- Data center 렌트 비용을 지불해야 한다. (보통 monthly/yearly contract)
- Power supply, cooling, maintenance 비용을 지불해야 한다.
- 새로운 하드웨어(서버)를 추가하거나 교체할 때 시간이 많이 소모된다.
- 확장하는 데 제한사항이 많다.
- 현재 유지되고 있는 인프라를 24/7 모니터링할 인원을 고용해야 한다.
- 천재지변에 대응하기 어렵다. (지진, 화재, power shutdown 등)
Cloud Computing
- Cloud: 인터넷만 연결되어 있으면 어디서든 접근할 수 있는 환경
- Cloud Computing이란, IT 리소스를 인터넷을 통해 on-demand로 제공해주는 서비스를 말한다.
on-demand: 고객이 필요할 때 바로 찾을 수 있는 서비스
- Cloud 서비스를 이용하면 사용한 만큼만 지불하면 되는 pay-as-you-go pricing이 적용한다.
- 정확하게 필요한 타입과 크기의 리소스를 지정하여 사용할 수 있다.
- 기존보다 간편하게 서버, 스토리지, 데이터베이스 등에 접근 가능한 솔루션을 제공한다.
클라우드가 해결해주는 문제들
- Flexibility: 유동적으로 원하는 리소스의 타입과 사이즈를 쉽게 변경 가능
- Cost-Effectiveness: pay-as-you-go (내가 사용한 만큼만 금액 지불)
- Scalability: 쉽게 새로운 리소스를 추가할 수 있으므로 확장하는 데 용이
- High-availability and fault-tolerance: 고가용성. 글로벌하게 확장되어 있는 인프라
AWS SLA: 99.9999% UPTIME 보장
- Agility: 빠르게 개발하고, 테스트하여 사용할 수 있는 소프트웨어 어플리케이션
우리가 이미 사용하고 있던 Cloud 서비스의 예: Gmail, Netflix, instagram 등
AWS (Amazon Web Services)
MAU: Monthly Active User (활성 사용자)
Why AWS?
- Cloud Computing의 장점 그대로 혹은 그 이상
- 간단한 가입 프로세스
- Amazon의 Brand Value
- Stability: 엄청난 규모를 자랑하지만 굉장히 안정적
- 다양하게 제공되는 서비스들
- Enterprise IT, Backup & Storage, Big Data Analytics
- Web Hosting, Mobile & Social Apps
- Gaming
AWS는 사용자가 어디서든 1,000마일 안에서 서버에 접근할 수 있도록 서버를 늘리는 것을 목표로 한다(서울에도 서버가 있다).
latency(지연시간)
서버와의 물리적인 위치에 따라 서버를 호출했을 때의 지연시간이 달라진다. 한국에서 한국 서버를 호출할 때보다 한국에서 미국 서버를 호출할 때 지연시간은 더 길어진다.
AWS: Key Services
-
EC2 (Elastic Compute Cloud): 몇 분 안에 구동 가능한 가상 서버
-
VPC (Virtual Private Cloud): AWS 네트워크 망 안의 사용자 전용의 사설 네트워크 망
-
S3 (Simple Storage Service): 파일 업로드 및 공유
-
CloudFront - CDN
-
Route53 - DNS
DNS란?
- 도메인 이름 시스템(DNS)은 사람이 읽을 수 있는 도메인 이름(예: www.amazon.com)을 머신이 읽을 수 있는 IP 주소(예: 192.0.2.44)로 변환한다.
- 면접 단골 질문) 브라우저 주소창에
Google.com
을 입력하고 엔터를 친 순간부터 어떤 일이 일어나는지 설명해 보자.
-
RDS (Relational Database Service): 클라우드에서 데이터베이스 관리
-
ELB (Elastic Load Balancing): 서버로 들어오는 트래픽을 골고루 여러 개의 머신으로 전달