Sky Archive

Cloud/Cloud Computing

[Cloud Computing] 클라우드 서비스(IaaS, PaaS, SaaS) 이해

Anchovy ʕ-᷅ᴥ-᷄ʔ 2021. 8. 6. 17:58

안녕하세요.🐱‍🐉

이번 글은 클라우드 서비스에서 대해 알아볼게요.

 

무엇을 서비스하냐에 따라 크게는 IaaS, PaaS, SaaS로 나누고

클라우드 인프라의 서비스 이름을 붙여 DaaS(Desktop as a Service), BaaS(Backend as a Service)로 말하기도 합니다.

 

클라우드 컴퓨팅은 인터넷으로 가상화된 IT 리소스를 서비스로 제공하는 것을 의미해요.

VMware이나 Virtualbox와 같은 가상화 솔루션은 하드웨어에서 기능을 분리하는 것이고

클라우드 컴퓨팅네트워크, 스토리지 인프라 자원, 서비스, 어플리케이션 등을 사용자에게 제공하는 접근 방식이에요.

 


1. Packaged software (On-premise 방식) : 직접 인프라와 플랫폼, 애플리케이션을 관리

장점
- 개발 자유도 높음.
- 고객의 데이터에 대한 보안 이슈 없음.

단점
- 규모를 알 수 없는 경우 Infra 변경 작업 발생 가능.
- Platform을 직접 개발(인력 투입, 긴 개발 기간)

2. IaaS(Infrastructure as a Service) : 인프라스트럭쳐 레벨(물리적 자원) 제공

서버, 스토리지, 네트워크를 가상화 환경으로 만들어 필요에 따라 인프라 자원을 사용할 수 있게 제공하는 서비스

ex. AWS EC2(Amazon Elastic Compute Cloud), S3

장점
- 규모를 알 수 없는 경우 유리.
    : 클라우드 서비스 제공자의 관리 부담 ↓
- 개발자과 인프라 관리자의 역할 분담 용이.

단점
- 사용 비용 발생.
- OS와 어플리케이션을 직접 관리. 
    : PaaS에 비해 환경 설치에 대한 번거로움이 존재하며 이에 따른 지연, 추가 비용 등이 발생

3. PaaS(Platform as a Service) : 소프트웨어 개발을 돕는 플랫폼 제공

개발 플랫폼으로 확장한 것으로, 운영체제에 미리 플랫폼들을 설치하여 서비스를 제공

ex. Heroku, Google App Engine, IBM Bluemix, OpenShift, SalesForce, Nginx, MariaDB, Django

장점
- 개발에 효율적임.
    : 이미 구현된 기능들을 조합하는 방식으로 빠른 구현이 가능하여 애자일 방식으로 진행하는 것에 적합함.
    : 인프라나 런타임에 무관하게 오직 어플리케이션과 로직 자체에 집중 가능.
- 개발자와 개발사에게 인프라나 OS, 플랫폼 관리에 대한 부담을 거의 대부분 경감시킴.
- 표준화된 환경으로 품질 확보에 유리함.
- 규모를 알 수 없는 경우 유리함.

단점
- 사용 비용이 높을 수 있음.
- Platform의 변경이 필요할 경우 제약이 있거나 불가능할 경우가 있음.
- 보안 이슈
    : 고객의 데이터를 외부에 저장할 수 없다면, 개발을 새로 해야 함.

4. SaaS(Software as a Service) : 유저가 사용하는 소프트웨어 제공

소프트웨어 중점으로 주로 웹을 통하여 클라이언트가 On-Demend 소프트웨어로 서비스

ex. Google Cloud, MS Office 365, Dropbox

장점
- 소프트웨어를 소비 형태로 사용하기 때문에 비용 부담을 덜 수 있음.
- 소프트웨어를 설치한 물리적 자원 불필요.
- 언제 어디서든 접근 가능. (on-demand)

단점
- 어려운 커스터마이징.

 

 

※ DaaS(Desktop as a Service)

클라우드 인프라를 이용해 컴퓨터나 서비스를 이용할 수 있도록 하는 서비스

 

※ BaaS(Backend as a Service)

모바일 환경에서 구현하기 복잡하고 힘든 서버 사이드 서비스를 API 서비스로 제공.  IOT, 스트리밍 서비스들