AWS

강현구·2022년 1월 6일
0

AWS

Traditional IT

초창기의 IT는 본인이 위치한 곳에 직접 서버를 설치. (소형은 자신의 집에)
회사는 Datacenter와 계약해서 대형 서버를 관리. (회사 지하같은 곳에)

  • 문제점
  1. Datacenter의 렌트 비용을 지불해야한다.
    (보통 monthly/yearly contract)
  2. Power supply, cooling, maintenance 비용을 지불해야한다.
  3. 새로운 하드웨어(서버)를 추가하거나 교체할 때, 시간이 많이 소모된다.
  4. 확장하는데 제한사항이 많다.
  5. 현재 유지되는 인프라를 24/7 모니터링 할 인원을 고용해야 한다.
  6. 천재지변에 대응하기 어렵다. (지진, 화재, power shutdown 등)

서버를 확장하는 두가지 전략 (각각에 trade off가 있다.)

  • scale up (서버의 성능을 올리기)
  • scale out (서버의 개수 늘리기/ 요즘에는 관리,비용 측면에서 scale out 쪽으로 많이 쓰는 추세이다)

어디서든 볼 수 있고 접근할 수 있다.
Cloud = Internet을 의미
내가 서버를 직접 관리할 필요가 없다.

Cloud Computing

  1. Cloud Computing 이란, IT 리소스를 인터넷을 통해 On-Demand로 제공해주는 서비스를 말한다.
  2. Cloud 서비스를 이용한면 사용한만큼만 지불하면 되는 Pay-as-you-go pricing이 적용된다.
  3. 정확하게 필요한 타입과 크기의 리소스를 지정하여 사용할 수 있다.
  4. 기존보다 간편하게 서버, 스토리지, 데이터베이스 등에 접근가능한 솔루션을 제공한다.

Cloud가 해결해주는 문제들

  1. Flexibility : 유동적으로 원하는 리소스의 타입과 사이즈를 쉽게 변경 가능하다.
  2. Cost-Effectiveness : pay-as-you-go (내가 사용한만큼만 금액을 지불한다.)
  3. Scalability : 쉽게 새로운 리소스를 추가할 수 있으므로 확장하는데 용이하다.
  4. High-avilability and fault-tolerance : 글로벌하게 확장되어 있는 인프라.
  5. Agility : 빠르게 개발하고, 테스트하여 사용할 수 있는 소프트웨어 어플리케이션.

옛날에 비해 가장 큰 장점
3.서버의 확장이 쉽다.
High-availability : 고가용성

>>> 최근 facebook down (facebook outage) 이슈 확인하자.
UPTIME : 얼마만큼 서버가 켜져있는지를 보장한다.
99.9999%??? => 4nines,,, 5nine,,,와 같은 방식으로 표현한다.
SLA라는 용어 참고

AWS!

Amazon Web Services

왜 AWS??

  1. Cloud Computing의 장점을 그대로 혹은 그 이상!
  2. 간단한 가입 프로세스
  3. Amazon의 Brand Value
  4. Stability - 엄청난 규모임에도 굉장히 안정적이다.
  5. 다양하게 제공되는 서비스들
    - Enterprise IT, Backup & Storage, Big Data Analytices
    - Web Hosting, Mobile & Social Apps
    - Gaming

AWS - Key Services

  1. EC2 (Elastic Compute Cloud) - 몇 분안에 구동 가능한 가상 서버.
  2. VPC (Virtual Private Cloud) - AWS 네트워크 망안의 사용자 전용의 사설 네트워크 망.
  3. S3 (Simple Storage Servie) - 파일 업로드 및 공유.
  4. CloudFront - CDN.
  5. Route53 - DNS.
  6. RDS (Relational Database Service) - 클라우드에서 데이터 베이스 관리.
  7. 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 하는 알고리즘도 따로 있다!
profile
한걸음씩

0개의 댓글