컴퓨터과학 챕터 9 약 3분

클라우드 컴퓨팅과 분산 시스템 기초

O
OIYO 편집부 기여자
9/10

클라우드 컴퓨팅이란

인터넷을 통해 컴퓨팅 자원(서버·스토리지·DB·네트워킹)을 온디맨드로 제공하는 서비스입니다.

온프레미스 vs 클라우드:
온프레미스: 직접 서버 구매·설치·관리
→ 초기 비용 높음, 변경 느림, 전담 인력 필요

클라우드: 필요한 만큼 사용·지불
→ 초기 비용 없음, 탄력적 확장, 관리 부담 감소
→ 장기적으로는 비용 비교 분석 필요

클라우드 서비스 모델

IaaS (Infrastructure as a Service):
→ 가상 서버, 스토리지, 네트워킹 제공
→ OS·미들웨어·앱은 사용자 관리
→ 예: AWS EC2, Google Compute Engine

PaaS (Platform as a Service):
→ 개발·배포 플랫폼 제공
→ 앱 코드만 관리 (인프라는 자동)
→ 예: Google App Engine, Heroku, AWS Elastic Beanstalk

SaaS (Software as a Service):
→ 완성된 소프트웨어를 구독
→ 인프라·플랫폼·앱 모두 제공자 관리
→ 예: Gmail, Slack, Salesforce, Office 365

주요 클라우드 서비스 (AWS 기준)

컴퓨팅:
EC2: 가상 서버 (인스턴스)
Lambda: 서버리스 함수 실행 (이벤트 기반)
ECS/EKS: 컨테이너 관리 (Docker/Kubernetes)

스토리지:
S3: 객체 스토리지 (이미지·파일·정적 자산)
EBS: EC2 연결 블록 스토리지 (가상 HDD)
EFS: 공유 파일 시스템

데이터베이스:
RDS: 관리형 관계형 DB (MySQL, PostgreSQL)
DynamoDB: 관리형 NoSQL
ElastiCache: Redis/Memcached 캐시

네트워킹:
CloudFront: CDN (전 세계 콘텐츠 배포)
Route 53: DNS 서비스
VPC: 가상 사설 네트워크

확장성 (Scalability)

수직 확장 (Scale Up):
→ 서버 하드웨어 업그레이드 (CPU·RAM 증설)
→ 한계 있음, 단일 장애점

수평 확장 (Scale Out):
→ 서버 수 증가
→ 이론적으로 무제한
→ 로드 밸런서 필요

로드 밸런싱:
→ 여러 서버에 트래픽 분산
→ Round Robin, 최소 연결, IP 해시
→ 헬스 체크로 장애 서버 자동 제거

마이크로서비스 아키텍처

모놀리식 (Monolithic):
→ 모든 기능이 하나의 배포 단위
→ 단순하지만 확장·변경 어려움

마이크로서비스:
→ 기능별로 독립 서비스로 분리
→ 각 서비스 독립 배포·확장
→ API로 통신 (REST, gRPC, 메시지 큐)

장점: 독립 배포, 기술 다양성, 장애 격리
단점: 복잡한 운영, 분산 트랜잭션, 네트워크 오버헤드

실무: 넷플릭스·아마존 등 대규모 서비스에서 사용

CAP 정리

분산 시스템에서 세 가지를 동시에 보장 불가:

일관성 (Consistency):
→ 모든 노드가 같은 시점에 같은 데이터

가용성 (Availability):
→ 모든 요청에 응답 (장애 노드 있어도)

분할 허용성 (Partition Tolerance):
→ 네트워크 단절 시에도 동작

현실:
→ 분산 시스템에서 P는 필수
→ CP: 일관성 + 분할 허용 (HBase, MongoDB 설정 가능)
→ AP: 가용성 + 분할 허용 (Cassandra, DynamoDB)
→ 트레이드오프에 따라 선택

핵심 암기 포인트

IaaS(가상서버) > PaaS(플랫폼) > SaaS(완성앱) — 관리 책임 줄어듦 수평 확장(서버 수↑) + 로드 밸런서 = 클라우드 확장의 핵심 CAP 정리: 일관성·가용성·분할허용 중 2개만 선택 가능 서버리스(Lambda): 코드만 배포, 인프라 관리 불필요

O

OIYO 편집부

Content Editor

지식 인큐베이터이자 전문 콘텐츠 크리에이터. 경영, 경제, 법률 및 실생활에 유용한 실무/자격증 중심의 깊이 있는 정보를 연구하고 공유합니다.