Front-End/AWS

AWS란?

Voyage_dev 2022. 5. 8. 18:48

Traditional IT 방식의 문제점

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

Cloud Computing

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

클라우드가 해결해주는 문제들

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

Cloud 서비스의 예시

  • Gmail
  • Netflix

Amazon Web Services(Number Facts)

  • Cloud Market의 선구자이자 9년 연속 리더
  • 2019년 기준, Global market 점유율 47%
  • 1,000,000+ Active Users
  • Amazon의 주가를 끌어올리는 주범

AWS는 소위 클라우드 서비스라고도 한다. 다시 한 번 클라우드 서비스는 서버 등의 인프라스트럭쳐를 필요한대로 on demand로 사용할 수 있는 서비스이다. 즉, 유저가 직접 서버를 구입하고 설치할 필요 없이 AWS상에서 클릭 몇 번으로 서버를 구축하고 사용할 수 있다

 

Why AWS?

  • Cloud Computing의 장점을 그대로 혹은 그 이상!
  • 간단한 가입 프로세스
  • Amazon의 Brnad Value
  • Stability - 엄청난 규모를 자랑하지만 굉장히 안정적이다
  • 다양하게 제공되는 서비스들

AWS - Key Services

  1. EC2(Elastic Compute Cloud) - 몇 분안에 구동 가능한 가상 서버
    • AWS 상에서 사용하는 Server, EC2 서버에 API를 배포하게 된다
    • EC2는 다양한 사양 옵션을 제공한다
  2. VPC(Virtual Private Cloud) - AWS 네트워크 망안의 사용자 전용의 사설 네트워크 망
  3. S3 (Simple Storage Service) - 파일 업로드 및 공유
    • AWS S3(Simple Storage Service)는 이름 그래도 파일을 쉽게 저장할 수 있는 공간을 제공하는 서비스이다
    • 파일을 저장 할 수 있을 뿐만이 아니라 파일마다 고유 주소를 부여해주기 때문에 S3에 저장한 파일을 웹상에서 쉽게 읽어들일 수 있다
    • 주로 사이트상의 이미지들을 저장하고 사이트에서 읽어들여 렌더링 해주는데 사용된다
  4. CloudFront - CDN
  5. Route53 - DNS (Domain Name System)
    • AWS의 DNS 서비스
    • API 시스템을 실제 도메인과 연결 시켜주는 기능을 제공한다
  6. RDS (Relational Database Service) - 클라우드에서 데이터베이스 관리
    • AWS의 database 서비스
    • RDS를 사용하면 사용자가 직접 서버를 생성해서 데이터 베이스를 설치하고 설정하고 관리 하지 않아도 된다
    • 그러면서 동시에 비용도 더 저렴하다. 사용자가 직접 데이터 베이스를 설치하고 운영하는 것 보다 RDS를 사용하는 것 이 더 저렴하다. 즉, RDS를 사용 하지 않을 이유가 거의 없다
  7. Load Balancer
    • 로드발란서는 HTTP 요청들을 여러 서버에 분산할 때 사용된다
    • HTTP 요청이 많을대는 서버 하나만으로 모두 처리 하기 힘들기 때문에 서버 수를 늘리는 것이 일반적이다. 그럼으로 여러 서버를 실행하고 로드 발런서가 HTTP 요청들을 서버들에 분산 해주는 형태로 시스템이 구성된다