클라우드 컴퓨팅(클라우드)이란,
- 컴퓨터와 소프트웨어를 자신이 '소유'하는 것이 아니라, 네트워크를 통해 클라우드 사업자(CSP)의 컴퓨터와 소프트웨어를 서비스로서 '이용'하는 것이다.
- 기업이 클라우드를 이용할 경우, 모든 작업은 클라우드 사업자의 데이터 센터 안의 시스템에서 처리하게 된다.
클라우드 보급 배경
다양한 기술의 발전
- CPU의 처리 속도 고속화
- 가상화 기술과 분산 처리 기술의 발전
- 빨라지고 저렴해진 네트워크
- 거대해진 데이터 센터
당시 기업의 과제
- IT 투자 비용의 절감
- 유연한 서비스 설계와 이용, 구축 및 운용 부담
클라우드의 특징
- 주문형 셀프 서비스
- 사용자의 개별 관리화면을 통해 서비스를 이용할 수 있다.
- 광범위한 네트워크 접속
- 모바일 기기 등의 다양한 디바이스를 통해 서비스에 접속할 수 있다.
- 리소스 공유
- 사업자의 컴퓨팅 리소스를 여러 사용자가 공유하는 형태로 이용한다.
- 신속한 확장성
- 필요에 따라, Scale-up 혹은 Scale-down이 가능하다.
- 측정 가능한 서비스
- 이용한 만큼 요금이 부과되는 종량제 방식이다.
클라우드 제공 업체
글로벌 | 국내 |
AWS, Azure, GCP | Naver Cloud, KT Cloud |
글로벌 규모에서 다양한 서비스와 기능을 제공하며 세계적으로 트래픽 처리 및 확장성을 지원하여 선택 | 공공 같은 국내 법규 및 규정 준수로 인해, 국내 클라우드 제공업체를 선택 |
퍼블릭 클라우드(Public Cloud)
- 클라우드 사업자(CSP)가 물리적인 시스템을 구비하고, 기업은 자사의 IT자산을 보유하지 않더라도 클라우드 사업자로부터 컴퓨팅 리소스를 서비스로 제공받아 사용하는 형태이다.
프라이빗 클라우드(Private Cloud)
- 클라우드 관련 기술을 활용해 자사 전용 시스템을 구축하는 형태이다.
- 종류
- 온프레미스 프라이빗 클라우드
- 스스로 구입한 하드웨어에 클라우드 기반 소프트웨어 등을 사용해서 자사 전용 클라우드를 구축하고 운용하는 형태이다.
- 온프레미스 프라이빗 클라우드
클라우드 서비스 모델
클라우드 이용 모델과 클라우드 서비스 모델을 조합해서 설계한다.
서비스 제공 형태는 크게 세 가지로 구분된다.
IaaS (Infrastructure as a Service)
- Infra(CPU, Memory, Disk, Storage etc.) + 서버의 OS + Network(Router, Switch, 방화벽 etc.)
- 사용자는 하드웨어 자원을 보유하지 않고, 네트워크를 통해 서버와 스토리지, 네트워크 등의 하드웨어 자원을 서비스로 이용할 수 있다.
- ex. AWS EC2, S3
PaaS (Platform as a Service)
- 개발 환경에 필요한 sw(프레임워크나 데이터베이스, 미들웨어 etc.)가 미리 마련된 환경을 의미한다.
- PaaS로 제공되는 대표적인 도구와 서비스
개발 도구, 부속 서비스 API 서비스 인증,알림,분석 등의 부가 서비스 SDK 모바일용 소프트웨어 개발도구 개발 프레임워크 Spring, Node.js, Eclipse 등 핵심 기능 프로그래밍 언어 Java, Ruby, PHP 등 애플리케이션 서버 Apache, Tomcat, Jboss 등 데이터베이스 서비스 MySQL, Oracle DB 등 메시징 미들웨어 RabbitMQ, Amazon SQS 등 기타 보안, 테스트 환경 등
SaaS (Software as a Service)
- 네트워크를 통해 소프트웨어를 설치하면 바로 이용할 수 있다.
- 스마트폰, PC, 태블릿 등의 다양한 기기로 인터넷을 통해 접속할 수 있다.
- ex. MS Office365, 전자메일, 프로젝트 관리 도구, 온라인 회의 도구, 스트리밍 음악 및 비디오 서비스 등
PaaS/SaaS vs IaaS
- IaaS는 인프라가 반드시 가상화가 필요하지만, Paas와 SaaS는 인프라가 가상화이든 물리적이든 상관 없다.
- 고로 IaaS 위에 PaaS 위에 SaaS 개념으로 이해하면 안된다!