A Cloud Computing Overview
00. What is Cloud?
NIST가 정의한 클라우드 컴퓨팅의 주요 특성 5가지
- On-demand self service
- Broad Network Access
- Resource Pooling
- Rapid Elasticity
- Measured Service
On-demand self service
- 사용자들은 관리자의 개입 없이 컴퓨팅 가용성을 자동으로 할당받을 수 있다.
- 이때 컴퓨팅 가용성이란,
- 서비스가 다운되지 않고 정상적으로 유지되는 것
- 컴퓨터 시스템 따위가 정상적으로 작동하여 사용될 수 있는 정도
Broad Network Access
- 네트워크 기반으로 서비스에 접속할 수 있다.
- 다양한 클라이언트에 의해 접속이 가능하다.
- 즉 태블릿, 데스크 톱 등 여러 클라이언트로 접속이 가능해야한다.
Resource Pooling
- 클라우드 제공자의 컴퓨팅 자원은 여러 사용자들을 서비스될 수 있도록 풀(Pool)로 관리된다.
- 사용자의 컴퓨팅 자원은 독립적으로 존재한다.
Rapid Elasticity
- 사용자 요구에 대응하는 가용성이 유연하게 제공 또는 할당되어야한다.
Measured Service
- 사용자이 자원 사용량에 대해 모니터링이 가능해야 한다.
01. Why use cloud computing?
Time-Sharing
- 컴퓨팅 리소스를 여러 사용자나 작업 간에 분할하여 공유하는 컴퓨터 시스템의 기술입니다.
- 여러 사용자가 동시에 하나의 컴퓨터 시스템을 사용하도록 해주며, 각 사용자는 자신의 작업을 진행하면서 시스템 리소스를 나눠 가질 수 있습니다.
- 다중 사용자 환경에서 자원을 효율적으로 활용하고, 대용량 컴퓨팅 리소스를 경제적으로 활용할 수 있는 방법을 제공합니다.
Virtualization
- 하나의 물리적인 서버나 리소스를 여러 개의 가상 환경으로 분할하여 사용하는 기술입니다.
- 서버 가상화는 하이퍼바이저(hypervisor)를 사용하여 가상 머신(VM)을 생성하고 관리하는 방식으로 동작합니다.
- 가상화를 통해 서버의 활용도를 높이고, 리소스의 격리와 관리를 개선하여 효율적인 IT 환경을 구축할 수 있습니다.
Serverless
- 서버리스는 애플리케이션을 개발하고 실행하는 모델로, 개발자가 서버 인프라를 직접 관리하지 않아도 되는 형태입니다.
- 개발자는 코드를 작성하고 이벤트 트리거에 의해 실행되는 함수(Function)를 정의하며, 클라우드 제공자가 관련 리소스의 배치와 확장을 자동으로 처리합니다.
- 서버리스는 애플리케이션 배포와 운영을 간소화하며, 요청에 따라 필요한 만큼만 리소스를 사용하여 비용을 절감할 수 있습니다.