클라우드 컴퓨팅의 정의
Cloud Service
- 컴퓨터 사용 방식의 근간을 바꾼 새로운 패러다임
- 기술 문서에서 네트워크나 인터넷을 구름 모양의 도형으로 표현하던 것에서 유래
- Gartner 사 선정 10대 IT 트렌드 중 하나로 미래 유망 기술
IT 관련 기능들이 네트워크 상에서 서비스 형태로 제공되는 컴퓨팅 사용 스타일
Cloud Computing
- 서버, 저장장치, 데이터베이스, 네트워크 및 이메일, 보안, 백업, 복구 등의 기능 컴퓨터의 다양한 기능
- 직접 IT 자원을 구축하는 전통적인 방법인 On-premise 반대되는 개념
1. 언제 어디서나
2. 필요한 만큼의 IT 리소스를
3. 필요한 시간만큼
4. 인터넷을 통해 즉시 활용하고,
5. 사용한 만큼 비용을 지불하는 방식
클라우드 컴퓨팅이란?
2011년 미국국립표준기술 연구소(NIST)의 정의
클라우드 컴퓨팅은 언제 어디서든 간편하게, 요청에 의해서 최소한의 관리 노력과 최소한의 서비스 제공자와의 상호 작용에 의해 빨리 준비되고 배포되는 설정 가능한 IT 리소스에 네트워크 접근을 가능하게 하는 모델

On-premise vs. Cloud
On-premise System
- 온프레미스(On-premise): 전통 IT 기업에서 서비스를 자동화를 위해 인프라를 구축해 온 방식으로 아래 흐름에 따라 구축 및 운영됨
1. 서비스 제공을 위한 요구기능을 수집하고 시스템을 설계
2. 설계된 시스템에 필요한 리소스를 구매, 구매한 IT 리소스(하드웨어, 소프트웨어)를 통해 기업 내부에 데이터 센터를 구축
3. 고객의 서비스가 요청이 오면 기업 내의 데이터 센터를 통해 서비스의 응답을 제공하고 별도의 인력이 데이터 센터를 개발 및 운영
- 초기 구축에 거액의 투자 예산이 필요하며, 관리에도 많은 인력이 소요
- 초기 구축 이후 변경이 어렵기 때문에 요구되는 리소스의 필요량을 정확히 추정해야 하며, 용량의 확장 계획도 고려해야 함
클라우드 기반 시스템
- 온프레미스 시스템의 한계점인 구축 과정의 난이도와 확장의 한계를 극복하기 위한 방식
- 서비스에 필요한 IT 리소스를 보유하지 않고 필요할 때만 대여해서 사용하는 방식
1. 서비스 제공을 위한 요구 기능을 수집하고 시스템을 설계
2 설계된 시스템에 필요한 리소스를 CSP(Cloud Service Provider)에게 구매 및 구축
3. 고객의 서비스가 요청이 오면 CSP가 제공하는 데이터 센터 상의 서비스를 통해 응답을 제공하고 CSP에 의해 데이터 센터를 운영
- 구축된 데이터 센터와 관련된 관리, 운영 비용이 CSP의 부담으로 이동하여 인력 등의 부담이 감소
- 사용할 용도나 빈도에 따라 필요한 만큼만 IT 리소스를 유연하게 사용할 수 있으며 확장에 매우 용이
- 온프레미스와 클라우드는 상호 보완적인 관계
클라우드 컴퓨팅의 장단점
[장점]
1. 탄력성
- 클라우드 컴퓨팅은 초기 투자 비용 없이 누구나 대규모 IT 인프라를 확보할 수 있는 탄력성을 보장함
- CSP(클라우드 서비스 제공자)는 사용자의 온디맨드 또는 직접 구성을 통해 실시간 및 동적으로 IT 리소스를 할당
- 사용자는 클라우드 기반 IT 리소스를 확장하여 처리 요구량의 변동을 처리할 수 있음

2. 신속성
- 기존 On-premise에서는 시스템 설계 후에도 하드웨어와 소프트웨어 구매 및 조달까지 긴 시간 소요
- 클라우드 컴퓨팅의 경우 CSP가 제공하는 하드웨어와 소프트웨어를 서비스 방식으로 사용하기 때문에 몇 분 내로 시스템 구축이 가능
3. 경제성
- CSP는 낮은 가격으로 대량의 물건을 구입하여 판매하는 도매업자와 유사
- 전문 운영자 및 대량의 네트워크 대역폭 확보 가능
- 확보한 대규모 부지에 데이터 센터를 구축하고 IT 리소스를 운영하기 때문에 운영 비용의 절감이 가능
- 직접 구매하여 구축하는 것보다 경제적으로 시스템 구축이 가능
- 서비스 제공 회사 내에서 각 부서나 사업소에서 각자 관리하던 소프트웨어와 데이터를 통합 관리하기 때문에 소프트웨어 업데이트 작업, 데이터 유지보수 효율성 증가 및 비용 절약 효과
- 다양한 CSP(AWS, Azure, GCP 등) 간의 시장경제에 의한 가격 경쟁으로 효율적인 플랜의 채택이 가능
4. 신뢰성
- 탄력성은 IT 리소스의 요구량 충족 효과 외에도 결핍량이 발생했을 때 나타날 수 있는 서비스 장애 등의 상황을 방지할 수 있음
- 서버의 장애 발생 시 직접 사내 인력이 서비스 모니터링, 백업, 이중화 등의 조치를 취해야 하는 온프레미스와 달리 CSP는 데이터 다중 저장 등 신뢰성을 높이기 위한 기능들을 제공
[단점]
1. 보안취약성 증가
- 일반적으로 CSP는 전문적인 인력이 보안을 책임지고, 각국 및 업계 보안 관련 규제를 준수하여 일반 기업의 온프레미스 환경보다 더 높은 보안 수준을 제공
- 그러나 기업의 민감한 데이터가 클라우드 상에 저장된다는 것은 데이터 보안의 책임이 CSP와 공유, 네트워크 상에서의 보안이 추가로 고려되어야 하기 때문에 보안취약성이 증가할 수 있음
- 이와 별개로 개인정보 보호와 관련된 규제와 법적 이슈 등이 존재
2. 높은 CSP 의존도
- 클라우드 컴퓨팅 분야에는 아직 제정된 산업표준 또는 국제표준이 없기 때문에 클라우드 서비스는 일반적으로 CSP가 제공하는 형태 그대로 사용이 요구됨
- 기업은 한 번 도입한 클라우드 서비스에 반 종속적 솔루션을 구축할 수 밖에 없으며, 기존 구축된 서비스를 다른 CSP 서비스로 옮기는 것의 난이도가 상승함
3. 과도한 비용지출
- 한 번 구축 시 유지되는 온프레미스와 달리 클라우드 서비스는 지속적인 지출이 발생하기 때문에, 기업 사용자가 5년 이상 장기간에 걸쳐 시스템을 사용하거나, 대규모 시스템을 구축하고 운용하는 경우 비용 역전 현상이 발생 가능
- 매우 다양한 서비스를 제공하는 만큼 비용이 과도하게 책정될 수 있어 비용 절감을 위한 최적화가 필수적
클라우드 컴퓨팅 관련 기술
가상화
- 클라우드 서비스를 가능하게 하는 핵심 기술로, 물리적 컴퓨터 환경 상에 가상 머신을 만드는 데 사용하는 기술
- 보유한 물리적인 컴퓨터 자원 상에 가상화 소프트웨어 계층을 쌓아 여러 명의 사용자에게 CPU, 메모리, 저장장치를 할당하여 사용할 수 있도록 함

가상화의 종류)
가상화는 크게 호스트 가상화, 하이퍼바이저 가상화, 컨테이너 가상화 방식으로 구분(자료에 따라 Type1,2로 구분하기도 함)

가상화 관련 핵심 용어
가상 머신(Virtual Machine)
- 가상화 기술을 통해 생성된 독립적인 운영 체제를 실행할 수 있는 가상 인스턴스
- 각각의 가상 머신은 고유의 운영체제와 애플리케이션을 실행할 수 있으며, 물리적인 컴퓨터처럼 동작
하이퍼바이저(Hypervisor)
- 가상화의 핵심 요소로, 물리적인 장비와 가상 머신 사이에서 자원을 관리하고 배분하는 소프트웨어
- 대표적인 예시로는 Vmware EXSi, Hyper-V, 그리고 오픈소스인 KVM 등이 있음
- 높은 보안성과 독립성을 보장함
컨테이너
- 가상 머신과는 달리 운영 체제 레벨에서 가상화를 구현하여 애플리케이션을 격리하여 더 가볍고 빠르게 애플리케이션을 실행할 수 있음
- 대표적인 컨테이너 엔진으로 Docker가 있으며, 컨테이너화 된 애플리케이션의 배포, 스케일링, 관리를 자동화하는 오픈소스 컨테이너 오케스트레이션 플랫폼인 쿠버네티스(Kubernetes, K8S)를 사용하여 관리
서버리스 컴퓨팅
- 서버리스(Sever+less) 컴퓨팅은 서버를 생성하거나 유지 관리하지 않고도 특정 코드를 실행할 수 있도록 하는 방식
- 일반적으로는 사용자의 요청을 받아서 이를 처리하고 결과를 제공할 때 서버가 사용되고, 요청이 없을 때에는 서버 리소스가 유휴 상태로 유지되며 여전히 사용료가 지불됨
- 서버리스 컴퓨팅의 핵심 개념은 애플리케이션이 특정 작업에 의해 트리거 될 때에만 실행되는 별도의 기능으로 분리된다는 점이다
번외) AI/ML 분야의 경우 특히 무거운 모델을 늘 리소스 위에 올려서 가지고 있는 것이 아니라 처리 요청이 들어왔을 때에만 리소스를 할당하여 결과를 제공하고 다시 이를 종료할 수 있어서 비용 절감에 있어서 필수적인 기능으로 떠오름(AWS Lambda)
- 서버리스 컴퓨팅 사용 예시
- 등록된 사용자가 항목을 생성하고 업데이트하고 보고 삭제할 수 있는 '할 일 목록' 웹 애플리케이션의 아키텍처 구조도
- AWS Lambda를 이용하여 요청이 들어올 때마다 각 함수를 동작한 후 종료되기 때문에 애플리케이션 서버가 별도로 존재하지 않는 서버리스 구조로 애플리케이션을 구축

서버리스 컴퓨팅의 장단점
장점)
- 서버 관리의 불필요
- 요청이 들어올 때만 사용하기 때문에 비용의 절감
- 서버리스 아키텍처는 확장이 더욱 용이
- 빠른 배포 및 업데이트가 가능
- 지연 시간이 줄어들 수 있음
단점
- 테스팅과 디버깅의 어려움
- 오래 실행되는 프로세스에 적합하지 않음
- Cold-start에 대한 고려가 필요
- 높은 특정 CSP 의존도
요약)
- 클라우드 컴퓨팅 정의
- 클라우트 컴퓨팅 역사(여기엔 없음)
- 온프레미스 vs. 클라우드
- 클라우드 컴퓨팅과 서버리스 컴퓨팅의 장단점 차이
Reference
- AWS 교과서(길벗 출판사)
- 명지대학교 클라우드시스템(김주영) 자체 제작 슬라이드(강의자료)
'Security > Cloud' 카테고리의 다른 글
| [AWS] Amazon CloudFront로 CDN 구성 (1) | 2024.11.25 |
|---|---|
| [AWS] Amazon VPC로 퍼블릭/프라이빗 서브넷 구성하기 (1) | 2024.11.24 |
| [AWS] AWS EC2 인스턴스 배포 및 접근(for mac) (1) | 2024.11.23 |
| 로드밸런싱(Load Balancing) (1) | 2024.11.20 |
| [Cloud] 클라우드 컴퓨팅 서비스 (4) | 2024.09.17 |