본문 바로가기
IT_Engineer/DevOps_Cloud

[클라우드 컴퓨팅] 클라우드 컴퓨팅 개념

by 좋은데이피치 2020. 10. 26.
728x90

클라우드 컴퓨팅

클라우드 컴퓨팅


정의

- 클라우드 컴퓨팅은 서로 다른 물리적인 위치에 존재하는 컴퓨터들의 리소스를 가상화 기술로 통합해 제공하는 기술

개인용 컴퓨터나 기업의 서버에 개별적으로 저장해 두었던 프로그램이나 문서를 클라우드에 저장하고 웹 브라우저 등 필요한 어플리케이션을 구동해 원하는 작업을 수행할 수 있는 사용자 중심의 컴퓨터 환경

 - ex) 네이버 오피스, Google DOCs, Work Space, Acrobat 등

 

가상화와 클라우드 컴퓨팅의 차이

- 가상화는 기술, 클라우드는 방법론

 

가상화란?

- 우리가 쓰던 VMWare나 VirtualBOX와 같이 단일한 물리 하드웨어 시스템에서 여러 환경이나 자원을 생성할 수 있는 기술, 하이퍼바이저라고 불리는 소프트웨어가 하드웨어에 직접 연결되며 가상머신 구축 가능

- 이러한 가상 머신은 하이퍼바이저의 자원을 적절하게 배분 받은 후 사용

 

 

클라우드 컴퓨팅?

- 클라우드 컴퓨팅은 위에서 말했다시피 네트워크 전체에서 컴퓨팅, 네트워크, 스토리지 인프라 자원, 서비스, 플랫폼, 애플리케이션을 사용자에게 제공하는 접근 방식

- 가상화는 하드웨어에서 기능을 분리하는 기술

- 클라우드 컴퓨팅은 이러한 분할을 사용하는 솔루션보다 큰 개념인 방법론

 

IaaS / PaaS / SaaS

정리
- IT 인프라의 여러 필요한 구성 요소 중 예전에는 모두 사용자가 관리해야만 했지만, 이제는 일정 부분을 클라우드에서 내려받는 형태가 다수 도입

- 사용자 관리 및 클라우드 제공 범위에 따라 분류


  1. 전통적인 IT (Packaged Software)

- 정의

직접 인프라와 플랫폼, 어플리케이션까지 모두 구성하여 관리하는 모델

 

- 특징

물리적 장치, 하드웨어(CPU, RAM, Storage, Network device 등) 모두 직접 구매 OS, 네트워크 환경, 서버(트래픽, 프로지버닝 등) 직접 구매 및 관리, 매우 큰 시간과 비용


  1. IaaS (Infrastructure as a service)

- 정의

Infrastructure 레벨까지 제공하는 서비스, 사용자는 OS를 직접 올리고 그 상위 계층만 구성

 

- 특징

가상 호스팅(VM Hosting)과 비슷하나, 가상 호스팅은 직접 장비를 사고, 그 장비의 한에서 자원을 할당하고 구성

IaaS는 기업이 준비해놓은 환경에서 우리가 선택 가능한 점이 VM 호스팅과 차이

일반적으로 적은 OS가 지원 (아마존은 일부 Linux와 Windows Server 제공)

고객은 OS와 어플리케이션을 직접 관리, 관리 측면에서 개발자와 인프라 관리자의 역할을 분담 가능

 

- 장점 : 고객은 가상 서버 하위의 레벨에 대해서는 고려할 필요가 없음

- 단점 : 가상 서버 하위의 레벨에 대해서는 전혀 고객이 접근하거나 컨트롤 불가

            (가상 서버 하위의 레벨에 대해서 고려할 필요가 없는 사용자가 쓰기 적합)

 

- 사례 :AWS의 EC2

AWS의 EC2를 이용하면 물리적인 서버와 Network, Storage 등을 직접 구매하거나 준비하지 않아도 원하는 OS를 깔아 서버로 사용 가능

사용자가 원하는 OS를 고르고, 스펙을 선택하면, 모든 관리를 아마존에서 제공

OS를 제공한다는 느낌이지만, 선택권을 주고 OS의 종류나 다양한 자원들을 사용자가 선택하므로 대표적인 IasS로 불림


  1. PaaS(Platform as a service)

- 정의

개발자가 응용 프로그램을 작성할 수 있도록 플랫폼 및 환경을 제공하는 모델

 

- 정리

운영팀이 인프라를 모니터링할 필요가 없음

사용자는 OS, Server 하드웨어, Network 등등을 고려할 필요가 없음

사용자는 어플리케이션 자체에만 집중 가능,
즉 개발자는 빠르게 어플리케이션을 개발하고 서비스 화가 가능

 

- IaaS와 비교

아마존과 같은 서비스가 VM을 제공하는 IaaS라면, PaaS는 node.js, Java와 같은 런타임을 미리 깔아놓고, 거기에 소스코드를 넣어서 돌리는 구조

소스코드만 적어서 빌드 하는 것, 컴파일은 클라우드에서 하여 결과만 가져옴

 

- 장점

이미 설치된 미들웨어 위에 코드만 수행하므로, 관리가 매우 편리

가장 이상적인 어플리케이션 플랫폼 관점의 클라우드 모델로 불림

 

- 단점

PaaS는 기본적으로 어플리케이션과 플랫폼이 함께 제공

어플리케이션이 플랫폼에 종속되어 개발되기 때문에 다른 플랫폼으로의 이동이 어려울 수도 있음

 

- 사례 : Heroku, Google App Engine, IBM Bluemix, OpenShift, SalesForce 등


  1. SaaS(Software as a service)

- 정의

설치할 필요도 없이 클라우드를 통해 제공되는 SW

 

- 정리

모든 것을 기업(클라우드)에서 제공하므로, 사용자는 별도의 설치나 부담이 필요 없이 SW를 사용

소비 관점에서 제공되는 IT 방식의 서비스로 정리

구독의 방식으로 돈을 벌거나 트래픽 기반으로 이윤 창출

 

- 장점

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

http://it.donga.com/25782/

https://wodonggun.github.io/wodonggun.github.io/study/IaaS,-PaaS,-SaaS.html

https://wnsgml972.github.io/network/2018/08/14/network_cloud-computing/

728x90

최근댓글

최근글