본문 바로가기
기타

클라우드 컴퓨팅 서비스란?

by 나이아카 2022. 4. 13.

 클라우드 서비스. 뭔가 많이 들어본 단어입니다. 사실 어느정도 이해하고 사용하고 있는 개념이기도 한 게, 제가 이미 많이 사용하고 있는 여러 기술들이 이미 클라우드 서비스의 개념 안에 들어가고 있습니다. Microsoft Office 365, G-Mail, Google Docs(이하 Saas), Google Cloud Platform(이하 Paas), AWS EC2(Iaas) 등을 사용하고 있네요. 하지만 정작 각 부분에 대해서 무엇이냐고 물어보면 그냥 대충 대답하는 수준에 그치는 것 같아서 명확하게 공부해보려고 주제를 꺼내 봅니다.


 먼저 클라우드 컴퓨팅의 정의는 서로 다른 물리적 위치에 존재하는 컴퓨팅 자원을 가상화 기술로 통합하여 제공하는 것입니다. 조금 풀어서 말하면 클라우드 서비스를 제공하기 위해 서비스를 제공하는 업체의 물리적 기기(서버와 같은)에 인터넷을 통해 내 컴퓨터가 연결되어 제공하는 서비스를 온라인 상에서 사용할 수 있게 되는 것을 의미합니다.(그리고 아마존에서는 클라우드 컴퓨팅은 IT 리소스를 인터넷을 통해 온디맨드로 제공하고 사용한 만큼만 비용을 지불하는 것을 말합니다. 라고 소개하고 있습니다.

 실제로 서버를 제공하기 위해서는 서버를 실행시킬 컴퓨터가 필요한데, 이 서버를 실행시킬 컴퓨터를 따로 구매하지 않고 클라우드 서비스를 이용하면 내 컴퓨터 내에서 실제 지구 어딘가에 존재하는 컴퓨터의 리소스를 사용할 수 있도록 가상의 컴퓨터를 제공하는 개념으로 볼 수 있습니다. 클라우드 서비스의 종류를 AWS에서는 세 가지(IaaS, PaaS, SaaS)로 분류하고 있습니다.

출처: HostWay

IaaS(Infrastructure as a Service)

 먼저 아이아스라 불리는 IaaS입니다. 영어 그대로 인프라를 서비스로 제공하는 클라우드 서비스입니다. 서버를 운영하기 위해서는(혹은 그에 준하는 다른 무언가를 위해서) 먼저 서버를 위한 컴퓨터와 그 서버의 여러가지 설정들을 위한 프레임워크 같은 여러가지 환경설정이 필요합니다.

 하지만 이러한 환경 설정을 하기 위한 인프라(컴퓨터)를 구축하는 것은 큰 돈이 드는 작업입니다. 하나의 서비스를 제공하기 위한 서버에는 기본적으로 어느정도의 사양이 받쳐줘야 함은 물론이고, 그 서비스가 점점 성장해가면 갈 수록 서버를 구축하기 위한 가격은 기하급수적으로 늘어갑니다. 이러한 인프라를 AWS와 같은 IaaS는 가상 환경을 기반으로 그러한 인프라를 추가적인 하드웨어의 구매 없이 사용할 수 있도록 도와줍니다. 보통 IaaS는 물리적 서버, 가상 머신, 스토리지, 네트워킹, 방화벽 등을 제공합니다.

 IaaS를 이용하는 경우 이 서비스를 제공하는 업체에서 사용한 리소스를 측정해 금액을 측정하는 것처럼 각 업체 별로 여러가지 제도를 통해 서버를 위한 물리적인 인프라(데이터 센터 등)를 구매하는 것 보다 훨씬 저렴하게 서버를 구축할 수 있게 도와줍니다. 또한, 보안적인 부분이나 기타 유지보수적 측면에 대해서도 기본적으로 제공해주는 시스템이 있기 때문에 요즈음에는 서버를 구축하는데 있어 IaaS는 거의 필수적으로 여겨지고 있습니다.

 이러한 IaaS에는 AWS EC2, MS Azure Virtual Machine, Google Cloud Platform Compute Engine등이 있습니다.

PaaS(Platform as a Service)

 그 다음은 파스라 불리는 PaaS입니다. 플랫폼을 서비스로 제공하는 클라우드 서비스로, IaaS 형태의 가상화된 클라우드 위에 사용자가 원하는 서비스를 개발할 수 있도록 개발 환경(Platform)을 미리 구축해, 이를 서비스 형태로 제공하는 것을 의미합니다.

 이러한 PaaS는 세 가지 경로로 제공되는데, 이를 각각 public, private, hybrid 클라우드라고 합니다. 퍼블릭 클라우드 PaaS의 경우 클라우드 제공업체가 서버, 스토리지 시스템, 네트워크, 운영 체제, 데이터베이스 등 애플리케이션을 호스팅하는 데 필요한 모든 주요 IT 구성 요소를 제공하며, 고객(개발자)은 그 위에서 소프트웨어 개발을 위한 작업만 신경쓰게 됩니다.

프라이빗 클라우드에서 PaaS는 고객 방화벽 내, 일반적으로 구내 데이터 센터에 소프트웨어 또는 어플라이언스 형태로 제공되는데, 이는 고객의 망 내부에 서버를 설치하기 때문에 퍼블릭과 프라이빗 중 어떤 것이 자신에게 더 효율적인지 판단해 선택할 수 있습니다. 하이브리드 클라우드 PaaS는 위 두 가지 유형의 클라우드 서비스를 혼합해 제공하는 서비스입니다.

 이러한 PaaS에는 Red Hat OpenShift나 세일즈포스닷컴의 Heroku가 있습니다.

SaaS(Software as a Service)

 마지막으로 설명할 것은 사스라 불리는 SaaS인데요. 현재 회사에서 제공하는 어떠한 소프트웨어를 사용하기 위해서는 프로그램을 컴퓨터에 설치하기 위해 금액을 지불하거나, 설치하고 난 이후 정품 인증을 위해 키 값을 지불하는 형태로 많이 사용하고 있습니다. 그러나 SaaS는 설치라는 과정이 생략된 소프트웨어 서비스 입니다.

 파스와 아이아스와는 달리 SaaS는 컴퓨터로 업무를 다뤄본 사람이라면 어느정도 이해하기가 쉬울 것입니다. 이 SaaS의 예로 google docs, MS Office 와 같은 서비스가 있기 때문인데요. 기존의 excel 파일을 보기 위해서는 excel 파일을 실행시킬 수 있는 MS Excel을 구매해서 컴퓨터에 설치해야만 볼 수 있었습니다. 하지만 이와 같은 프로그램이 SaaS화 되면서 MS Excel을 직접 컴퓨터에 설치하지 않고 온라인 상에서 MS Office를 통해 read and write 할 수 있게 되었습니다. 실제로 네트워크 연결만 되어 있다면, excel 파일의 수정을 위한 프로그램이 설치되어 있지 않아도 프로그램을 설치한 것과 동일하게 사용할 수 있게 되는 것이죠.

 이와 같이 기존에 사용하던 프로그램을 네트워크 상으로 옮겨 설치하지 않고 바로 이용할 수 있게 해 주는 것이 SaaS입니다. 프로그램의 정품 인증 대신, 사용하는 기간동안 구독료를 내는 것이 이 SaaS의 주된 특징입니다.

 이러한 SaaS에는 위에서 설명한 MS Office, Google Docs, Slack, DropBox, Google Drive 등이 있습니다.


 제 나름대로 이해한 것들을 적어보았는데, 완벽하지는 않은 것이 확실히 느껴집니다. 추후 시간이 날 때 하나씩 보완해나가야 하는 게시글이 될 것 같아서 더 재밌어질 것 같습니다. 이 글을 쓸 때에는 redHat의 글을 제일 많이 참고 했습니다.

https://www.redhat.com/ko/topics/cloud

 

클라우드 컴퓨팅 이해

클라우드 컴퓨팅에 대해 자세히 알고 싶으신가요? 클라우드 기술, 클라우드 배포 방식 및 보안 고려 사항에 대해 살펴보세요.

www.redhat.com

 

'기타' 카테고리의 다른 글

가볍게 보는 아키텍처 vs 디자인 패턴  (0) 2024.07.11
프로퍼티, 그리고 위임  (0) 2022.10.26
함수와 메소드(멤버 함수)  (0) 2022.05.04
해시 함수?(feat.computer science)  (0) 2021.06.17
JSON과 GSON  (0) 2021.01.26

댓글