정리된 용어를 사용할 필요를 느껴 정의 및 개념을 정리한 포스팅

Iaas

  • 인프라만 제공
  • OS를 직접 설치하고 필요한 소프트웨어만 제공
  • EC2

Paas

  • 인프라+OS+런타임(기타 프로그램 실행에 필요한 부분)
  • Firebase, Google App Engine
  • 코드만 올려서 실행

Saas

  • 서비스 자체를 제공
  • Gmail, Slack, Google Docs 등

고가용성

  • 장애 상황을 해결하고 서비스를 지속할 수 있는 능력

장애내구성

  • 장애에도 불구하고 서비스를 지속할 수 있는 능력
  • 일반적으로 예비 인프라가 필요

둘 중 어떤 것을 확보할지 비용에 따라 고민이 필요함


확장성

  • 쉽고 빠르게 규모를 늘릴 수 있는 능력
  • 주요 수요에 따라 컴퓨팅 파워 혹은 용량 확장

탄력성

  • 수요에 따라 컴퓨팅 파워/용량을 확장하거나 축소할 수 있는 최적화에 필수적인 능력

온프레미스

  • 자체적으로 데이터센터 혹은 전산실에 서버를 설치해 운영하는 방식
  • 클라우드 서비스의 반대개념

프로비전

  • 리소스를 사용할 수 있도록 준비
  • EC2,AWS 서비스등을 사용하기 위해 준비하는 것을 의미

가상화

  • 단일 컴퓨터의 하드웨어 요소를 일반적으로 가상머신이라고하는 다수의 가상 컴퓨터로 분할할 수 있도록 해주는 기술
  • 가상화가 나타나기 전까지는 하나의 하드웨어 시스템은 하나의 OS만 실행이 가능했음

1세대 완전 가상화(Fully Emulated)

  • 모든 시스템 요소가 에뮬레이터 안에서 돌아감
  • 즉 CPU, 하드디스크 등 모든 요소를 에뮬레이터로 구현하여 게스트 OS와 연동
  • 엄청 느림 → 모든 요소를 소프트웨어로 구현해야함

2세대 Paravirtualization

  • Guest OS는 하이퍼바이저와 통신
  • 하이퍼바이저: OS와 하드웨어 사이에 존재하는 일종의 가상화 매니저
  • 1세대보다 훨씬 빠름

3세대 HVM

  • 하드웨어에서 가상화를 직접 지원
  • 직접 Guest OS가 하드웨어와 통신 = 빠른 속도
  • EC2가 여기 해당

가상화는 AWS 클라우드 환경에서 리소스를 작은 단위로 빠르게 구성할 수 있는 원동력