KT에이블스쿨/수업 복습 정리

<클라우드 개요> [KT에이블스쿨] 2025.05.27(화)

PaperDrop 2025. 6. 11. 17:33

2025.05.27 (화)

 

 

 

이제 길고 길었던 온프레미스를 끝내고 ..!! 

클라우드 아키텍처로 넘어왔습니다.

온프레미스에서 IT 서비스와 인프라가 설계되는 전체적인 내용을 배웠다면,

클라우드에서는 현재 일반적으로 사용되는 다양한 기능과 서비스에 대해 배울 예정입니다.

아무래도 현재 사용하고 있고, 필요에 따른 다양한 기능이 있기 때문에

클라우드에서도 많은 내용을 배우고 실습할 예정입니다.

 

 

그러면 바로 리뷰 시작하겠습니다 !

 

 


 

[클라우드 개요]

 

1. 클라우드의 개념

○ 클라우드 정의

  : 인터넷을 통해 컴퓨팅 자원(서버, 저장소, 네트워크, 소프트웨어 등)을 빌려 사용하는 방식

  → 사용자는 자원을 직접 소유하거나 설치하지 않고, 필요시 즉시 사용하고 사용한 만큼 비용 지불

  → 기존 온프레미스에 비해 유지관리 불필요, 빠르게 시작 가능

  → 기본 개념 : 자원 대여, 중앙 집중 운영, 즉시 사용 가능

 

○ 클라우드 주요 특징

  ① 인터넷 기반 제공

  ② 요청 기반 사용(On-Demand)

  ③ 사용량 기반 과금(Pay-as-you-go)

  ④ 탄력적 확장성(Scalability)

 

○ 클라우드 기본 구조

  ① 사용자가 웹 포털/API를 통해 자원 요청

  ② 제공자는 중앙 데이터센터에서 요청 처리

  ③ 사용자는 인프라 정보를 몰라도 사용 가능

 

○ 클라우드 컴퓨팅 도입 및 발전 배경

 

  ① 전통적 IT 환경의 한계 노출

     → 서버 구매 및 설치 과정 비효율, 유지보수 비용 및 인력 문제, 보안 문제 복잡성 증가, 수요 대응

 

  ② 시업들의 새로운 요구와 변화 

     → 빠른 서비스 출시 필요, 글로벌 서비스 확장 수요 증가, 리소스 효율화

 

  ③ 기술적 환경 발전에 따른 클라우드 확산

     → 인터넷/네트워크 환경이 고도화, 가상화 기술 발전, 대형 클라우드 사업자 등장

 

○ 클라우드 컴퓨팅의 필요성

  → 이점 : 확장성/유연성 확보, 비용 구조 전환, 글로벌 접근성 제공, 관리 간소화

  → 효과 : 운영 효율성 향상, 비용 최적화 및 예산 유연성, 비즈니스 민첩성 확보

 

○ 클라우드의 5가지 핵심 특성

 

  ① 즉시 자원 요청 및 사용

    : 사용자가 필요한 자원을 요청하고 즉시 사용할 수 있는 특징

 

  ② 광범위한 네트워크 접근

    : 네트워크를 통해 어디서든 접근 가능

 

  ③ 자원 공유

    : 여러 사용자가 하나의 물리 자원을 공동으로 사용하는 구조

 

  ④ 자원의 신속성/탄력성

    : 사용자의 수요 변화에 따라 자원을 빠르게 늘리거나 줄일 수 있는 구조

 

  ⑤ 측정 가능한 서비스

    : 자원 사용량을 자동으로 측정하고, 이를 기반으로 과금/관리하는 구조

 

○ 온프레미스 vs 클라우드

항목 온프레미스 (On-Premise)  클라우드(Cloud)
초기 비용 높음 (서버 직접 구매) 낮음 (초기 비용 거의 없음)
지속 비용 대규모에서 상대적으로 낮음 (유지보수 + 전기료) 대규모에서 상대적으로 높음 (트래픽 당 요금)
유지보수 직접 수행 제공업체가 관리
확장성 제한적 매우 유연함
배포 속도 느림 (주문 → 설치) 빠름 (수분 내 배포 가능)
보안 직접 제어 가능 공유 책임 모델 적용(기본 보안: 제공업체, 설정: 사용자)
접근성 사내 네트워크 중심 인터넷 기반 접근

 

 

2. 클라우드 서비스 모델 이해

○ 클라우드 서비스 모델

  : 클라우드에서 어떤 자원을 제공하는지에 따라 구분되는 서비스 유형

  → 종류 : IaaS(인프라제공), PaaS(플랫폼 제공), SaaS(소프트웨어 제공)

클라우드 서비스 모델 분류

 

○ IaaS (Infrastructure as a Service)

  : 가상 머신, 스토리지, 네트워크 등 IT인프라 자원을 가상화하여 제공

  → 사용자 책임 : OS 설정, 보안 설정, 미들웨어(Web Server, DB 등), 애플리케이션 개발 배포, 데이터 관리

  → 대표적 서비스 : Amazon EC2(Elastic Compute Cloud), Microsoft Azure Virtual Machines, Google Compute Engine

 

○ PaaS (Platfom as a Service)

  : 애플리케이션 개발/테스트/배포할 수 있는 개발 플랫폼을 제공

  → 인프라/OS/런타임 환경 등은 클라우드 제공업체가 자동으로 관리

  → 사용자 책임 : 애플리케이션 코드 작성과 배포에만 집중

  → 대표적 서비스 : Google App Engine, Heroku, Microsoft Azure App Services

 

○ SaaS (Software as a Service)

  : 사용자의 별도 설치나 구성 없이 인터넷을 통해 완성된 소프트웨어를 사용하는 모델, 소프트웨어가 클라우드 상에서 실행

  → 사용자 책임 : 없음

  → 대표적 서비스 : Gmail, Dropbox, Microsoft Office 365, Notion, Zoom, Slack

 

○ 클라우드 서비스 모델 비교

항목 IaaS PaaS SaaS
대상 사용자 인프라 관리자 개발자 일반 사용자
제공 범위 서버, 스토리지, 네트워크 OS, 런타임, DB, 개발 도구 등 최종 완성된 애플리케이션
유연성 매우 높음 중간 낮음
유지보수 책임 사용자 일부 자동화 제공업체 전담
확장성 수동 확장 가능 자동 스케일링 가능 일반적으로 제공업체가 처리
개발/운영 자유도 높음 제한적 없음
예시 AWS EC2, Azure VM Google App Engine, Heroku Gmail, Zoom, Notion

 

○ 서비스 모델 활용 사례

① 스타트업 초기 개발 환경 구성 : PaaS

   예시 특징 : 아이디어를 서비스 형태로 빠르게 검증, 소수 개발자로 초기 버전 출시 필요 

  선택 이유 : 개발 생산성 향상, 자동화/확장성 지원, 비용 효율성

  → 서비스 : Heroku (기술 스택 : Node.js + Express)

 

② 기업 내부 시스템 클라우드 이전 : IaaS

  → 예시 특징 : 복잡한 시스템 운영 중, 인프라 역량 충분, 기존 시스템 구조 유지 원함

  → 선택 이유 : 환경 재현 가능성, 복잡한 요구사항 대응, 직접 제어 및 유지보수

  → 서비스 : AWS EC2

 

③ 온라인 협업 도구 도입 : SaaS

  → 예시 특징 : 협업/소통 중심, 다양한 디바이스에서 접근 필요, IT 인프라 관리 리소스 투자 어려움

  → 선택 이유 : 즉시 사용 가능, 접근성/호환성, 운영 부담 최소화

  → 서비스 : Notion, Zoom, Office 365

 

④ 하이브리드 클라우드 모델 활용 사례 : IaaS + PaaS + SaaS 조합

  → 예시 특징 : 다양한 유형의 시스템과 업무가 공존, 서비스마다 요구 수준 차이, 최적화된 운영/비용 필요

   선택 이유 : 역할 분담 최적화, 운영 효율성 향상, 리스크 분산 및 유연성 확보

  → 서비스 : EC2 + Azure App Service + Slack

 

○ 서비스 모델 사례 비교

사례 서비스 모델 주요 장점 대표적인 예시
스타트업 개발 환경 PaaS 빠른 개발 및 배포, 서버 관리 최소화 Heroku
기업 내부 시스템 이전 IaaS 기존 시스템 구조 유지 및 자유도 높음 AWS EC2
온라인 협업 도구 도입 SaaS 설치 및 유지보수 불필요, 즉시 사용 가능 Notion, Zoom, Office365
하이브리드 모델 활용 IaaS + PaaS + SaaS 상황에 따라 맞춤형 서비스 제공 가능 EC2 + Azure App Service + Slack

  → 목적과 상황에 따라 각 모델의 선택적 이용 필요

  → 실제 비즈니스 환경에서는 세 모델이 유기적으로 결합되는 구조가 많음

 

3. 클라우드 기술 트렌드 및 핵심 기술

○ 클라우드 주요 기술 및 트렌드

① 클라우드 네이티브 (Cloud Native)

  : 클라우드 환경에 최적화된 방식으로 애플리케이션을 개발하고 운영하는 접근 방식

  → 클라우드의 이점을 최대한 활용하여 설계된 구조를 의미

  → 핵심 구성 요소 : 마이크로서비스 아키텍처, 컨테이너 기반 배포, DevOps & CI/CD 적용, 자동 확장/복구 구조

  → 기대 효과 : 빠른 배포와 반복 개선 기능, 장애 격리/시스템 안정성 확보, 운영 자동화 기반 효율성 향상, 확장성/이식성

 

② 서버리스 컴퓨팅 (Serverless)

  : 개발자가 서버를 직접 구성하고 관리하지 않고, 함수 단위 코드만 업로드하면 실행 환경이 자동 제공되는 구조

  → 요청이 들어올 때만 함수가 실행되고, 실행이 끝나면 자원은 자동으로 반환

  → 대표 서비스 : AWS Lambda, Azure Functions, Google Cloud Functions

  → 기대 효과 : 운영 부담 최소화, 비용 효율성, 빠른 배포와 반복 개선, 자동 확장 지원(Auto Scaling)

  → 도입 시 고려 사항 : 지속 실행이 필요한 서비스엔 부적합, Cold Start 이슈, 서비스 구조 세분화 필요

 

③ 멀티 클라우드 (Multi-cloud)

  : 하나의 기업 또는 시스템이 두 개 이상의 서비스 제공자동시 사용하는 전략

  → 서비스별 특성에 따라 가장 적합한 플랫폼을 선택

  → 백업/재해 복구 목적으로 이중 클라우드를 구성하기도 함

  → 기대 효과 : 리스크 분산, 플랫폼별 최적 기술 활용, 비용 효율화, 글로벌 서비스 대응력 강화

  → 도입 시 고려 사항 : 운영 복잡도 증가, 보안 정책 및 인증 체계 확립 필요, 데이터 및 워크로드 이관 전략 필요

 

④ 인프라 자동화 (IaC - Infrastructure as Code)

  : 인프라 자원(서버, 네트워크, 스토리지, 보안 설정)을 코드 형태로 관리하여 자동화 및 효율성을 높이는 방법론

  → 대표 서비스 : Terraform, AWS CloudFormation, Ansible, Pulumi

  → 장점 : 반복 가능성, 협업 용이성, 빠르고 효율적 배포 및 유지보수

  → 활용 사례 : 대규모 애플리케이션 배포 및 운영 환경 구축, 장애 복구 및 백업 전략 수립, 인프라 일관성 확보

  → 도입 시 고려사항 : 학습과 설계 부담 존재, 보안 설정 관리 필요, 조구 선택 전략 필요

 

○ 컨테이너 및 가상화 기술 소개

① 호스트 기반 가상화 

  : 물리 서버에 기존 OS를 설치한 뒤, 그 위에 가상화 소프트웨어를 설치

  → 가상화 소프트웨어는 하나의 서버에 여러 가상 머신(VM)을 생성하고 운영하는 역할 수행

  → 작동원리 :

  1. 물리 서버에 Windows Server, CentOS 등 운영체제 설치
  2. 운영체제 위에 VMware Workstation, VirtualBox 등 가상화 소프트웨어 설치
  3. 가상화 소프트웨어를 통해 가상 머신 생성 및 각각 독립된 OS 설치
  4. CPU, 메모리, 디스크 등 자원은 호스트 OS를 통해 가상 머신에 할당
  5. 모든 하드웨어 접근은 호스트 OS를 경유하여 이루어짐

  → 장점 : 기존 환경 유지, 비용 절감, 간단한 설치/운영

  → 단점 : 성능 저하, 호스트 OS 의존, 확장성 한계

  → 대표 도구 : VMware WorkStation, Oracle VirtualBox, Parallels Desktop

 

② 하이퍼바이저 가상화

  : 물리 서버 하드웨어 위에 하이퍼바이저 OS를 직접 설치해서 가상 머신(VM)을 생성/운영하는 구조

  → 하이퍼바이저 OS는 서버의 CPU, 메모리, 디스크 등 물리 자원을 가상화하고 여러 VM을 독립적으로 관리하는 OS

  → 작동원리 : 

  1. 물리 서버에 하이퍼바이저 OS(예: VMware ESXi, Microsoft Hyper-V)를 설치
  2. 하이퍼바이저가 CPU, 메모리, 스토리지 등 하드웨어 자원을 직접 제어
  3. 가상 머신을 생성하고, 각 VM에 독립된 운영체제(OS)와 애플리케이션 설치
  4. 하드웨어 자원은 하이퍼바이저가 직접 분배하고 격리하여 각 VM이 독립적으로 동작

  → 장점 : 직접적인 하드웨어 제어, 높은 안정성/격리성, 대규모 환경 최적화

  → 단점 : 초기 구축 비용 부담, 구성 및 운영 복잡성, 하이퍼바이저 장애 리스크

  → 대표 도구 : VMware ESXi, Microsoft Hyper-V, KVM(Kernel-based Virtual Machine)

 

③ 컨테이너 가상화

  : 하나의 OS 위에서 애플리케이션과 필요한 라이브러리/환경만을 독립적으로 격리하여 실행하는 가상화 방식

  → 서버 전쳬를 가상화하는 기존 VM 방식과 달리, 애플리케이션 단위로 가볍게 가상화 가능

  → 작동원리 : 

  1. 물리 서버 또는 가상 서버에 OS를 설치
  2. 운영체제 위에 컨테이너 런타임 환경(Docker 등)을 설치
  3. 애플리케이션과 필요한 라이브러리를 하나의 컨테이너 이미지로 패키징
  4. 각 컨테이너는 독립된 사용자 공간(User Space)에서 실행되며, 운영체제 커널을 공유함

  → 장점 : 경량화된 실행 환경, 빠른 배포/확장성, 높은 이식성과 유연성

  → 단점 : 운영체제 커널 공유로 인한 제약, 보안 취약점 관리 필요, 복잡한 오케스트레이션 요구

  → 대표 도구 : Docker, Kubernetes, Podman

 

○ 컨테이너 및 가상화 기술 비교

비교 항목 호스트 기반 가상화 하이퍼바이저 가상화 컨테이너 가상화
구조 운영체제 위에 가상화 소프트웨어 설치 하드웨어 위에 하이퍼바이저 OS 설치 운영체제 위에 컨테이너 엔진 설치
자원 관리 방식 호스트 OS 경유 하이퍼바이저가 직접 관리 OS 커널 공유
성능 성능 손실 있음 성능 손실 최소화 가벼운 실행, 빠른 배포
대표 기술 VMware Workstation, VirtualBox VMware ESXi, Hyper-V, KVM Docker, Kubernetes, Podman
사용 환경 소규모 개발·테스트 환경 데이터센터, 대규모 서버 인프라 클라우드, MSA, DevOps 환경
특징 요약 설치 간편, 성능 한계 성능·안정성 우수, 구축 복잡성 경량, 빠른 확장, 이식성

 

○ 하이브리드 클라우드 

  : 퍼블릭 클라우드 + 프라이빗 클라우드를 결합하여 운영하는 방식

  → 민감한 데이터는 내부(Private)에, 확장성/탄력성은 외부(Public) 클라우드를 활용하는 구조

  → 장점 : 보안 강화, 유연한 확장성, 비용 최적화, 리스크 관리 용이

  → 활용 사례 : 은행/금융 기관, 의료기관, 정부 및 공공기관

 

엣지 컴퓨팅

  : 데이터 생성 지점 근처(말단 디바이스, 로컬 서버 등)에서 데이터를 직접 처리/분석

  → 중앙 컴퓨터/클라우드로 보내지 않고 현장에서 실시간 처리, 처리 결과만 클라우드로 전송

  → 장점 : 지연 최소화, 대역폭 효율화, 운영 지속성, 보안성 향상

  → 활용 사례 : 스마트팩토리, 자율주행차량, 스마트시티/CCTV 관제, 의료 현장

 

○ 클라우드 데이터베이스

  → 특징 : 관리형 서비스, 확장성, 고가용성, 보안, 비용 효율성

  → 비관계형(NoSQL) 데이터베이스 :

비교 항목 설명 특징
문서형 MongoDB Atlas, Amazon DocumentDB JSON/BSON 기반, 유연한 스키마
키-값형 Amazon DynamoDB, Redis 빠른 조회 성능, 단순한 구조
열 기반 Google Bigtable, Apache HBase 대규모 분석 처리에 적합
그래프형 Amazon Neptune, Neo4j Aura 관계 분석에 최적화

 

  클라우드 서비스 제공자 DB 제품 비교 :

클라우드 관계형 NoSQL 데이터웨어하우스
AWS RDS, Aurora DynamoDB, DocumentDB RedShift
GCP Cloud SQL, Spanner Firestore, Bigtable BigQuery
Azure Azure SQL DB Cosmos DB Synapse Analytics

 

○ 클라우드 스토리지

  → 특징 : 확장성, 고가용성, 내구성, 접근성, 비용 효율성, 보안

  → 유형 : 객체 (파일 단위 저장), 블록 (하드 디스크 처럼 작동,VM용), 파일 (파일 공유용 NAS 형태), 콜드 (빈도 낮은 장기보관용)

  → 클라우드 스토리지 비교 :

클라우드 객체 스토리지 파일 스토리지 블록 스토리지
AWS Amazon S3 Amazon EFS Amazon EBS
Azure Azure Blob Azure Files Azure Disk
GCP Cloud Storage Filestore Persistent Disk

 

① 객체 스토리지 

  : 데이터를 객체 단위(파일 + 메타데이터 + 고유 ID)로 저장, 무한한 확장성과 높은 내구성 제공 (일반적으로 정적 파일에 적합)

  → 사용 사례 : 웹사이트 이미지/비디오 저장, 빅데이터 분석용 로그 저장, 백업 및 아카이빙

② 파일 스토리지

  : 파일 시스템 형태로 디렉터리 구조를 가짐. 여러 서버가 동시에 마운트 가능 (NAS 형태에 적합)

  → 사용 사례 : 웹 서버 간 공유 파일, CMS(Content Management System) 저장소, 개발 환경에서 코드, 설정 파일 공유

 

 

 

③ 블록 스토리지

  : 디스크를 블록 단위로 분할해 저장, OS에서 로컬 디스크처럼 사용 가능 (고성능 요구 애플리케이션에 적합)

  → 사용 사례 : 운영 체제 디스크, 관계형 데이터베이스 저장소, 고성능 트랜젝션 처리용 앱

 

 

 


 

 

 

 

 

클라우드는 대체로 온프레미스와 기능은 동일한거 같은데

그걸 어떻게 네트워크를 통해 서비스를 하냐 ! 

그리고 어떤 서비스 종류가 있냐 ! 

를 중점적으로 배우는 느낌이 듭니다 ! 

 

아무래도 현업에서는 클라우드 컴퓨팅을 개발하는 것보다

그걸 어떤 조합으로 알맞게 이용하는지가 더 중요하기 때문인 듯합니다.

남은 클라우드 내용도 열심히 정리해보겠습니다 ! 

 

오늘도 고생하셨습니다 ..!