클라우드 컴퓨팅 |
정의
- 클라우드 컴퓨팅은 서로 다른 물리적인 위치에 존재하는 컴퓨터들의 리소스를 가상화 기술로 통합해 제공하는 기술
개인용 컴퓨터나 기업의 서버에 개별적으로 저장해 두었던 프로그램이나 문서를 클라우드에 저장하고 웹 브라우저 등 필요한 어플리케이션을 구동해 원하는 작업을 수행할 수 있는 사용자 중심의 컴퓨터 환경
- ex) 네이버 오피스, Google DOCs, Work Space, Acrobat 등
가상화와 클라우드 컴퓨팅의 차이
- 가상화는 기술, 클라우드는 방법론
가상화란?
- 우리가 쓰던 VMWare나 VirtualBOX와 같이 단일한 물리 하드웨어 시스템에서 여러 환경이나 자원을 생성할 수 있는 기술, 하이퍼바이저라고 불리는 소프트웨어가 하드웨어에 직접 연결되며 가상머신 구축 가능
- 이러한 가상 머신은 하이퍼바이저의 자원을 적절하게 배분 받은 후 사용
- 클라우드 컴퓨팅은 위에서 말했다시피 네트워크 전체에서 컴퓨팅, 네트워크, 스토리지 인프라 자원, 서비스, 플랫폼, 애플리케이션을 사용자에게 제공하는 접근 방식
- 클라우드 컴퓨팅은 이러한 분할을 사용하는 솔루션보다 큰 개념인 방법론
IaaS / PaaS / SaaS |
정리
- IT 인프라의 여러 필요한 구성 요소 중 예전에는 모두 사용자가 관리해야만 했지만, 이제는 일정 부분을 클라우드에서 내려받는 형태가 다수 도입
직접 인프라와 플랫폼, 어플리케이션까지 모두 구성하여 관리하는 모델
물리적 장치, 하드웨어(CPU, RAM, Storage, Network device 등) 모두 직접 구매 OS, 네트워크 환경, 서버(트래픽, 프로지버닝 등) 직접 구매 및 관리, 매우 큰 시간과 비용
Infrastructure 레벨까지 제공하는 서비스, 사용자는 OS를 직접 올리고 그 상위 계층만 구성
가상 호스팅(VM Hosting)과 비슷하나, 가상 호스팅은 직접 장비를 사고, 그 장비의 한에서 자원을 할당하고 구성
IaaS는 기업이 준비해놓은 환경에서 우리가 선택 가능한 점이 VM 호스팅과 차이
일반적으로 적은 OS가 지원 (아마존은 일부 Linux와 Windows Server 제공)
고객은 OS와 어플리케이션을 직접 관리, 관리 측면에서 개발자와 인프라 관리자의 역할을 분담 가능
- 장점 : 고객은 가상 서버 하위의 레벨에 대해서는 고려할 필요가 없음
- 단점 : 가상 서버 하위의 레벨에 대해서는 전혀 고객이 접근하거나 컨트롤 불가
(가상 서버 하위의 레벨에 대해서 고려할 필요가 없는 사용자가 쓰기 적합)
AWS의 EC2를 이용하면 물리적인 서버와 Network, Storage 등을 직접 구매하거나 준비하지 않아도 원하는 OS를 깔아 서버로 사용 가능
사용자가 원하는 OS를 고르고, 스펙을 선택하면, 모든 관리를 아마존에서 제공
OS를 제공한다는 느낌이지만, 선택권을 주고 OS의 종류나 다양한 자원들을 사용자가 선택하므로 대표적인 IasS로 불림
개발자가 응용 프로그램을 작성할 수 있도록 플랫폼 및 환경을 제공하는 모델
사용자는 OS, Server 하드웨어, Network 등등을 고려할 필요가 없음
사용자는 어플리케이션 자체에만 집중 가능,
즉 개발자는 빠르게 어플리케이션을 개발하고 서비스 화가 가능
아마존과 같은 서비스가 VM을 제공하는 IaaS라면, PaaS는 node.js, Java와 같은 런타임을 미리 깔아놓고, 거기에 소스코드를 넣어서 돌리는 구조
소스코드만 적어서 빌드 하는 것, 컴파일은 클라우드에서 하여 결과만 가져옴
이미 설치된 미들웨어 위에 코드만 수행하므로, 관리가 매우 편리
가장 이상적인 어플리케이션 플랫폼 관점의 클라우드 모델로 불림
PaaS는 기본적으로 어플리케이션과 플랫폼이 함께 제공
어플리케이션이 플랫폼에 종속되어 개발되기 때문에 다른 플랫폼으로의 이동이 어려울 수도 있음
- 사례 : Heroku, Google App Engine, IBM Bluemix, OpenShift, SalesForce 등
모든 것을 기업(클라우드)에서 제공하므로, 사용자는 별도의 설치나 부담이 필요 없이 SW를 사용
구독의 방식으로 돈을 벌거나 트래픽 기반으로 이윤 창출
Public Cloud에 있는 SW를 웹 브라우저로 불러와 언제 어디서나 사용 가능
사용자는 웹만 접속하면 되기 때문에 사용하기 매우 쉽고, 최신 SW 업데이트를 빠르게 제공받을 수 있음
- 사례 : 웹 메일, 구글 클라우드, 네이버 클라우드, MS오피스365, 드롭박스 등
" As a Service " , 즉 서비스로 제공하는 범위의 차이에 따라 IaaS < PaaS < SaaS 가 나뉘어 짐
https://www.cisp.or.kr/archives/12017
https://assist-software.net/blog/cloud-offering-comparison-between-iaas-paas-saas-baas
https://blogs.msdn.microsoft.com/eva/?p=1383
https://wodonggun.github.io/wodonggun.github.io/study/IaaS,-PaaS,-SaaS.html
https://wnsgml972.github.io/network/2018/08/14/network_cloud-computing/
'IT_Engineer > DevOps_Cloud' 카테고리의 다른 글
[VM] Virtual Machine (가상머신) 에 대하여 (0) | 2020.12.14 |
---|---|
[K8S] Kubernetes! 기초 용어 정리 (0) | 2020.12.09 |
[K8S] Windows WSL Minikube 및 Wordpress 설치 (1) | 2020.11.30 |
[Docker] Docker, Docker-ce 설치 (0) | 2020.11.02 |
[클라우드 컴퓨팅] Docker 싱글 서버 구축 (0) | 2020.10.27 |