AWS
Traditional IT
초창기의 IT는 본인이 위치한 곳에 직접 서버를 설치. (소형은 자신의 집에)
회사는 Datacenter와 계약해서 대형 서버를 관리. (회사 지하같은 곳에)
- Datacenter의 렌트 비용을 지불해야한다.
(보통 monthly/yearly contract)
- Power supply, cooling, maintenance 비용을 지불해야한다.
- 새로운 하드웨어(서버)를 추가하거나 교체할 때, 시간이 많이 소모된다.
- 확장하는데 제한사항이 많다.
- 현재 유지되는 인프라를 24/7 모니터링 할 인원을 고용해야 한다.
- 천재지변에 대응하기 어렵다. (지진, 화재, power shutdown 등)
서버를 확장하는 두가지 전략 (각각에 trade off가 있다.)
- scale up (서버의 성능을 올리기)
- scale out (서버의 개수 늘리기/ 요즘에는 관리,비용 측면에서 scale out 쪽으로 많이 쓰는 추세이다)
어디서든 볼 수 있고 접근할 수 있다.
Cloud = Internet을 의미
내가 서버를 직접 관리할 필요가 없다.
Cloud Computing
- Cloud Computing 이란, IT 리소스를 인터넷을 통해 On-Demand로 제공해주는 서비스를 말한다.
- Cloud 서비스를 이용한면 사용한만큼만 지불하면 되는 Pay-as-you-go pricing이 적용된다.
- 정확하게 필요한 타입과 크기의 리소스를 지정하여 사용할 수 있다.
- 기존보다 간편하게 서버, 스토리지, 데이터베이스 등에 접근가능한 솔루션을 제공한다.
Cloud가 해결해주는 문제들
- Flexibility : 유동적으로 원하는 리소스의 타입과 사이즈를 쉽게 변경 가능하다.
- Cost-Effectiveness : pay-as-you-go (내가 사용한만큼만 금액을 지불한다.)
- Scalability : 쉽게 새로운 리소스를 추가할 수 있으므로 확장하는데 용이하다.
- High-avilability and fault-tolerance : 글로벌하게 확장되어 있는 인프라.
- Agility : 빠르게 개발하고, 테스트하여 사용할 수 있는 소프트웨어 어플리케이션.
옛날에 비해 가장 큰 장점
3.서버의 확장이 쉽다.
High-availability : 고가용성
>>> 최근 facebook down (facebook outage) 이슈 확인하자.
UPTIME : 얼마만큼 서버가 켜져있는지를 보장한다.
99.9999%??? => 4nines,,, 5nine,,,와 같은 방식으로 표현한다.
SLA라는 용어 참고
AWS!
왜 AWS??
- Cloud Computing의 장점을 그대로 혹은 그 이상!
- 간단한 가입 프로세스
- Amazon의 Brand Value
- Stability - 엄청난 규모임에도 굉장히 안정적이다.
- 다양하게 제공되는 서비스들
- Enterprise IT, Backup & Storage, Big Data Analytices
- Web Hosting, Mobile & Social Apps
- Gaming
AWS - Key Services
- EC2 (Elastic Compute Cloud) - 몇 분안에 구동 가능한 가상 서버.
- VPC (Virtual Private Cloud) - AWS 네트워크 망안의 사용자 전용의 사설 네트워크 망.
- S3 (Simple Storage Servie) - 파일 업로드 및 공유.
- CloudFront - CDN.
- Route53 - DNS.
- RDS (Relational Database Service) - 클라우드에서 데이터 베이스 관리.
- ELB (Elastic Load Balancing) - 서버로 들어오는 트래픽을 골고루 여러개의 머신으로 전달.
*CDN : content delivery network
아무리 PC가 빨라도 물리적인 서버와의 거리는 존재한다.
{latency : 지연시간}의 측면의 관리 서비스, latency가 작게끔 보장해야한다. 그것을 위한 서비스!
멀리 있는 서버가 아니라 가까운 쪽에 캐쉬된 것으로부터 전달되어 온다.
더 공부할 것들.
- CDN에서의 동기화 문제??
- DNS(Domain Naming Service) ;
ex) (google.com), (naver.com)을 입력할 때 일어나는 일을 다 알아보자
=> dns 쿼리는 어떻게 날아가고, 프론트 렌더할 때까지의 과정??
- Load balancing : balancing 하는 알고리즘도 따로 있다!