일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- gil
- 네트워크
- 카카오프렌즈
- ppt
- 연말정산
- 포켓몬스터
- paas
- 꾸미기
- 인형
- 근로소득공제
- 파워포인트
- Excel
- 인형뽑기
- network
- threading
- 재테크
- 근로소득
- 취미
- cloud
- iaas
- PowerPoint
- 클라우드
- MultiThreading
- 금융
- 무민
- SaaS
- lan
- 세금
- 총급여세액
- Blog
- Today
- Total
쿠키의 저장소
IaaS, PaaS, SaaS - 클라우드 서비스 본문
우리가 일반적으로 클라우드 서비스라고 하면 떠올리는 것이 무엇일까요?
아마 우리나라에서 제일 유명한 클라우드 서비스라고 한다면 네이버의 N드라이브를 떠올리실겁니다.
조금 더 다양한 서비스를 이용해보신 분들은 드롭박스나 구글드라이브를 떠올리시는 분들도 계실거구요.
아무래도 가장 흔하게 접할 수 있는 스토리지 서비스들이 주로 떠오르게 됩니다.
이렇다보니 한 가지 약간의 오해가 생기기도 합니다.
"클라우드 서비스는 웹하드같은 스토리지 서비스를 말하는거야!"
클라우드에 대해서 잘 모르는 일반인의 경우에는 쉽게 접할 수 있는 클라우드 서비스가 스토리지 서비스이다보니
이렇게 생각하는 경우가 많습니다. 그러나 전공자에게 물어보면 간혹 이렇게 이야기하시는 분들도 계십니다.
"N드라이브는 클라우드라고 말할 수 없어!"
이것이 어떤 의미일까요? 클라우드란 대체 무엇이기에 이렇게 말하게 되는 것일까요?
이를 이해하려면 클라우드의 서비스 타입에 대해서 이해할 필요가 있습니다.
위의 그림이 클라우드 컴퓨팅의 서비스 타입 분류를 나타내는 그림입니다.
보시는 바와 같이 클라우드 서비스는 크게 세 종류로 분류할 수 있습니다.
순서대로 IaaS, PaaS, SaaS로 분류할 수 있겠습니다.
전통적으로 소프트웨어 개발자들은 프로그램 하나를 개발하기 위해서 모든 것을 혼자 다 해야만 했습니다.
여러 대의 서버를 구해서 운영체제를 스스로 일일히 설치해야했고 서버들의 네트워크를 구성해야 했으며
데이터베이스, 웹서버, WAS 등의 미들웨어, node.js나 Spring 등의개발 프레임워크를 설치하고 연동한 후에야
본격적으로 어플리케이션(=프로그램) 개발에 착수할 수 있었습니다.
문제는 이 모든 것을 혼자하기엔 너무 어렵다는 것입니다.
일반적으로 이 모든 것을 할 수 있는 사람들을 풀스택 개발자라고 불렀고, 존경의 대상이 되어왔죠.
(풀스택 개발자의 의미에 대해서는 논란이 있습니다. https://brunch.co.kr/@supims/17 참고해주세요.)
풀스택 개발자가 존경받을만큼 저 모든 것을 혼자 다 해낸다는 것은 어려운 것이며 행여나 혼자 다 할 줄 알더라도
매우 오래 걸리는 일이기 때문에 생산효율성 측면에서 비효율적입니다.
클라우드 서비스는 이러한 일들을 줄여줘서 개발 효율성을 높일 수 있도록 도와줍니다.
다시 말하면 클라우드 서비스의 제공자는 고객에게 이렇게 이야기한다는 것이죠.
"너희가 개발환경 구축부터 개발까지 모든 것을 다 하려면 너무 힘들지?
우리의 자동화 서비스로 너희의 일을 줄여줄게! 우리 서비스를 이용해!"
이런 측면에서 고객(일반적으로는 개발자)의 입장에서는 클라우드 서비스를 분류하는 기준이 이렇게 됩니다.
어느 레이어까지가 내가 직접 관리해야하는 영역인 것인가?
이제부터 각 서비스마다 어떠한 특징을 갖는지 자세히 살펴보도록 하겠습니다.
IaaS (=Infrastructure as a Service)
IaaS는 서버, 스토리지, 네트워크 등과 같은 하드웨어 인프라 자원만을 제공하는 서비스를 의미합니다.
주로 대형 IT 기업들에서 IaaS를 많이 이용하는데, IaaS를 쉽게 이야기하면 IT 기업에서 서비스를 제공하기 위해서
데이터 센터를 직접 구축하지 않고 클라우드를 이용해 가상의 데이터 센터를 빠르고 간단하게 구축하는 것입니다.
데이터 센터를 직접 구축하는 것은 하드웨어 장비 구입 비용도 만만치 않을 뿐더러 전기세, 서버 냉각 비용 등의
유지비도 만만치 않기 때문에 기업의 입장에서는 굉장히 부담스러운 일입니다. 또한 인프라 확장도 쉽지 않고
시간도 오래 걸리게 되기 때문에 IaaS 클라우드는 굉장히 매력적인 서비스로 다가오게 됩니다.
IaaS를 제공받아 사용하는 사용자는 OS를 직접 설치하고 원하는 플랫폼 및 프레임워크를 직접 설치하여 개발한
어플리케이션을 서비스할 수 있습니다.
그러나 여전히 개발자의 입장으로서는 어플리케이션 개발을 위해 해야할 작업이 많다는 아쉬움이 있습니다.
대표적으로 아마존의 Amazon Web Service가 가장 유명하고 외에도 Microsoft, Oracle, IBM 등의 기업에서도
IaaS를 제공하고 있습니다. 오픈소스로는 OpenStack이 가장 유명합니다.
PaaS (=Platform as a Service)
PaaS는 어플리케이션을 개발하고 서비스하기 위해서 필요한 운영체제, 개발 환경 플랫폼, 개발 언어 프레임워크 등을
자동화하여 설치 및 제공함으로써 개발자들이 어플리케이션을 개발하는 것에만 집중할 수 있도록하는 플랫폼을
제공하는 서비스입니다. 개발자들의 입장에서는 이미 운영체제, 데이터베이스, 웹서버, WAS, 언어 프레임워크 등
개발에 필요한 모든 것이 이미 설치되어있고 설정이 끝나있는 상태이기에 어플리케이션을 개발하기가 수월해지고
시간도 단축되는 등의 많은 이점이 있습니다.
그러나 반면에 이 점이 단점이 되기도 하는데, 한 번 제공받아 구축된 환경에서 개발 및 서비스하므로 특정 플랫폼에
종속되는 결과를 낳기도 합니다. 플랫폼 이식성이 굉장히 떨어진다는 것은 사전에 인지를 하고 있어야 합니다.
대표적으로 Google App Engine이나 Force.com이 PaaS로 제공되고 있습니다.
오픈소스로는 OpenShift나 Cloud Foundry가 유명합니다.
SaaS (=Software as a Service)
SaaS는 클라우드 환경에서 동작하는 어플리케이션을 서비스의 형태로 제공하는 것을 의미합니다. 사용자는 브라우저를
통해 별도의 프로그램을 설치하지 않아도 서비스를 제공받을 수 있으므로 편리합니다.
대표적인 예로 구글의 Gmail, 네이버의 N클라우드, 구글의 Google Drive, Dropbox 등이 SaaS에 해당하고 ERP나 CRM도 SaaS의 형태로 많이 제공되고 있습니다.
그렇다면 위에서 나왔던 이야기를 다시 한 번 가져와볼까요?
"N드라이브는 클라우드라고 말할 수 없어!"
우리는 분명이 네이버의 N클라우드는 SaaS라고 알아보았습니다. 그렇다면 이 이야기는 무슨 의미일까요? 결론부터
말씀드리자면 네이버의 N클라우드는 분명하게 SaaS 클라우드가 맞습니다.
위의 저 이야기는 N클라우드가 이름을 바꾸기 전, N드라이브로 제공되던 서비스의 초창기 시절의 이야기로 생각해볼 수
있을 것 같습니다. 당시의 N드라이브는 사실상 그 당시에 유행하고 있던 서비스인 웹하드 서비스와 그닥 다를게 없는
어찌보면 웹하드 서비스라고 볼 수 있는 정도의 서비스였습니다. 그래서 그 당시에는 N드라이브는 클라우드가 아니라는
이야기가 많이 나온 것도 어찌보면 틀린 이야기는 아니었을 수도 있을 것 같습니다.
(웹하드와 클라우드의 차이점을 아시면 이해하기 좋습니다. 이에 관한 이야기는 다음에 포스팅하도록 하겠습니다.)
그러나 이후에 N드라이브가 많은 발전을 이루면서 SaaS 클라우드로의 형태를 갖춰가기 시작했고 이제는 명확한 SaaS
클라우드 서비스입니다.
지금까지 클라우드 컴퓨팅의 서비스 유형과 기준, 각각의 의미에 대해서 알아보았습니다.
혹시나 잘못된 내용이 있다면 댓글로 달아주시면 검토 후 수정 및 반영하도록 하겠습니다.
P.S
본문 내용으로 넣기에는 TMI라 넣지 않았지만 혹시나 궁금해하실 분들이 계실 수도 있겠다 싶어 맨 아랫 부분에 넣습니다.
"데이터베이스는 IaaS인가요?"
아무도 궁금하지 않으실 수도 있지만...(사실 제가 궁금해서 찾아보았습니다.)
결론부터 말씀드리자면 데이터베이스는 IaaS이기도 하고 PaaS이기도 합니다.
데이터베이스를 어떤 목적으로 사용하느냐에 따라서 IaaS가 되기도 하고 PaaS가 되기도 한다네요!
관련 정보는 https://www.quora.com/Is-a-cloud-database-part-of-IaaS-or-PaaS 해당 주소의 글을 참고하시면 되겠습니다.
'Cloud' 카테고리의 다른 글
클라우드 컴퓨팅(Cloud Computing)이란? (0) | 2018.01.09 |
---|