[Developer] 초보 개발자

IaaS, PaaS, SaaS란? Cloud Computing이란?

OnceBH 2022. 2. 5. 20:22
반응형

IaaS, PaaS, SaaS란? Cloud Computing이란?

 

안녕하세요.

오늘은 클라우드 컴퓨팅에 관해서 짧게 알아보려 합니다.

 

인터넷이 발전하고 보급이 빠르게 이루어지면서 IT는 급격한 변화를 겪게 되었습니다.

하루가 다르게 새로운 기술, 아키텍처, 구성 등등 변화하고 바뀌었습니다.

이러한 변화는 자연스럽게 보안, 생산성, 확장성, 성능 등의 빠르게 발전시켰습니다.

 

그러며 서서히 클라우드라는 개념이 드러나게 됩니다.

클라우드는 쉽게 생각하면 그다지 어려운 것은 아닙니다.

클라우드란 쉽게 말해 인터넷을 통해서 여러 서비스를 제공하는 것입니다. 이는 DB, 네트워킹, 서버 등등

많은 분야에 폭넓게 제공되고 있습니다.

오늘은 그 서비스를 제공하는 형식을 알아보려 합니다.

 

  1. IaaS란?
  2. PaaS란?
  3. SaaS란?
  4. 마치며

자 우리는 이제 하나의 상황을 가정한 뒤 시작하겠습니다.

저희는 현재 하나의 홈페이지를 개발, 배포하려 합니다.

이를 상기하시면 아무래도 아래의 정보를 이해하기 쉬울 것입니다.

 

1. IaaS란?

Infrastructure as a Service.

클라우딩 서비스를 제공하는 가장 기본적인 형식입니다.

이는 컴퓨팅의 아키텍처와 인프라를 제공합니다.

기본적으로 가상 머신을 통해 서버, 스토리지, 네트워크, 가상화 등을 제공받으며 더 많은 리소스를 제공받을 수 있습니다.

그 후 OS, 런타임, 애플리케이션을 직접 다루면 된다고 볼 수 있습니다.

이는 당연히 유연한 확장성을 제공하게 됩니다. 하지만 그만큼 보안의 문제를 신경 쓸 필요가 존재합니다.

이는 일반적인 유저가 사용하기보다는 개발자가 많이 사용하는 영역이라 할 수 있습니다.

 

즉 저희는 컴퓨터 한 대를 온라인으로 제공받은 것이며, 여기에 스스로 윈도즈 혹은 리눅스 같은 운영체제를 설치한 뒤

홈페이지를 배포할 수 있는 환경을 만들어줍니다. 그리고 마지막으로 홈페이지를 개발하고 배포하는 것입니다.

 

 

2. PaaS란?

Platform as a Service.

이는  인프라뿐만 아니라 사용자가 자신이 개발한 홈페이지를 구동할 수 있는 환경까지를 제공받는 것입니다.

즉 스토리지, 네트워크, 서버뿐만 아니라 운영체제와 런타임까지 제공받는 것입니다.

이러한 즉 우리는 사용자로서 홈페이지를 개발만 하면 된다는 뜻입니다.

그 뒤 홈페이지를 배포하는 것은 PaaS를 제공해주는 업체에서 알아서 해주는 것이죠.

이러한 대표적인 예로는 Heroku, Netlify와 같은 회사들이 있습니다.

이들은 사용자의 코드가 업로드되면 자동으로 그에 맞는 환경을 제공하고 사용자의 홈페이지를 배포해줍니다.

이들은 무료 배포를 제공하지만 고객의 사용량에 따라 유료로 리소스를 확장할 수 있습니다.

 

즉 저희는 컴퓨터에 운영체제, 런타임까지 모두 제공된 컴퓨터를 제공받은 것이며,

우리가 해야 하는 일은 단지 코드를 이러한 환경에 업로드하는 것입니다. 그 뒤 컴퓨터는 알아서 코드를 읽고 배포까지 마칠 것입니다.

 

 

3.SaaS란?

Software as a Service.

그럼 마지막으로 SaaS는 무엇일까요?

자 우리는 IaaS를 통해 직접 운영체제, 배포 환경, 홈페이지 코드를 작성하고 홈페이지를 배포하였거나

혹은 PaaS를 통해서 우리의 코드만 작성하고 홈페이지를 배포하였습니다.

즉 우리는 지금까지 개발자의 시점으로 IaaS와 PaaS를 알아보았습니다.

이제는 우리의 홈페이지를 사용하는 고객, 사용자들의 시점으로 보아야 합니다.

사용자는 우리의 홈페이지를 방문합니다. 또한 서비스를 이용합니다.

하지만 여기서 SaaS의 특징이 있습니다.

 

1. 일단 저희가 제공하는 서비스를 사용하기 위해 따로 설치를 필요로 하지 않는다는 것입니다.

즉 브라우저를 통해서 모든 서비스를 고객이 사용할 수 있다는 뜻입니다.

 

2. 사용자는 인터넷 환경만 존재한다면 언제든지 저희 서비스를 이용할 수 있습니다.

 

3. 사용자가 저희 서비스에 만족하고 더 많고 퀄리티 높은 서비스를 제공받기 위해 결제를 하기도 합니다.

이는 부가적인 것입니다. 즉 On-Demand Service입니다.

 

4. 많은 사용자들이 한꺼번에 이용 가능합니다.

 

이러한 특징들은 먼저 운영체제 그리고 전자기기에 상관없이 사용 가능하다는 장점이 있습니다.

하지만 단점으로 인터넷이 반드시 필요하다는 것이며, 브라우저를 통해서만 사용가능하다는 점이 있습니다.

 

 

4. 마치며

자 오늘은 가볍게 IaaS, PaaS 그리고 SaaS를 알아보았습니다.

짧게 정리를 하겠습니다.

 

IaaS, PaaS는 개발자의 관점입니다.

즉 개발자가 원하는 서비스를 제공하기 위해 이러한 서비스를 이용하는 것입니다.

IaaS는 더 많은 리소스를 가상 머신을 통해 제공받으며 더 높은 유연성을 가집니다.

PaaS는 이보다 더 간결한 서비스입니다. 개발자는 자신의 코드만 환경에 제공해주면 알아서 배포까지 완료됩니다.

이는 더 쉽고 빠르고 저렴하게 원하는 서비스를 사용자들에게 제공할 수 있습니다.

하지만 PaaS를 제공하는 회사가 지원하지 않는 프로그래밍 언어로 개발하거나, 마이그레이션에 제한이 있을 수 있습니다.

마지막으로 SaaS는 개발자가 아닌 사용자의 시점으로 보아야 합니다.

즉 IaaS 혹은 PaaS를 통해 배포된 서비스를 고객이 사용하는 것을 의미합니다.(이러한 환경을 통하지 않고 모든 것을 직접 개발하고 배포된 서비스도 당연히 포함됩니다.)

즉 넷플릭스, 구글 메일 등과 같이 우리는 매일 이러한 서비스를 이용합니다.

또한 넷플릭스의 경우 On-Demand 즉 요구에 따라 사용자가 결제하고 서비스를 제공받기도 합니다.

이는 운영체제 혹은 사용자의 기기에 무관하게 사용 가능하며 인터넷과 브라우저만 있다면 언제든지 사용 가능합니다.

그 반대로 인터넷이 없거나 브라우저에 문제가 있다면 사용할 수 없다는 뜻이기도 합니다.

 

자 어떤가요?

그냥 이러한 의미들만 몰랐을 뿐 설명을 보신다면 아... 이게 그거구나? 할 정도로 이미 이러한 서비스들은

우리의 사회에 깊게 그리고 빠르게 제공되고 있습니다.

당연히 더 깊게 들어간다면 한없이 어려울 수 있지만, 지금은 초보 개발자로서 이러한 정보만 알고 있더라도 큰 힘이 됩니다.

오늘도 코딩하는 여러분을 응원하며 새해 복 많이 받으시기 바랍니다.

감사합니다.

 

완벽한 준비란 없다, 완벽한 준비란 영원히 시작하지 않는 것과 같다.

Es gibt keine perfekte Vorbereitung.

Perfekte Vorbereitung ist das Gleiche, wie nie anzufangen.

반응형