[CS지식의 정석]클라우드 서비스 모델: IaaS, PaaS, SaaS 비교

박두팔이·2023년 8월 11일
0

CS컴퓨터과학

목록 보기
6/13
post-thumbnail

클라우드 서비스 모델: IaaS, PaaS, SaaS 비교

클라우드 컴퓨팅은 현대 기업이 IT 자원을 효율적으로 활용할 수 있는 방법을 제공한다. IaaS, PaaS, SaaS는 클라우드 서비스의 세 가지 기본 모델로, 각각의 특징과 장단점이 있다. 백엔드 개발자로서 이를 이해하는 것은 중요하다.


IaaS (Infrastructure as a Service, 빈 방)

정의

IaaS는 인프라형 클라우드 서비스이다. 클라우드는 단지 인프라만을 제공한다. 개발자가 직접 node.js, MongoDB, spring 등을 설치해야하는 대신 특정 서비스에 종속되지 않는다.

  • 아래의 그림은 네이버클라우드 플렛폼을 사용하여 리눅스명령어를 통해 프로그램을 설치하는 예시이다.
  • 다른 예시로는 AWS의 EC2, NCP등이 있다.

특징

  • 자원 제공: CPU, 메모리, 스토리지 등의 가상 자원 제공
  • 가용성: 높은 가용성 및 확장성

장단점

  • 장점: 유연성, 비용 효율성, 쉬운 확장
  • 단점: 관리 복잡성, 보안 고려 필요

백엔드 개발 고려사항

  • 자원 관리: 효율적인 자원 활용 및 비용 관리
  • 보안: 보안 정책 및 규정 준수

PaaS (Platform as a Service, 빌트인 방)

정의

PaaS는 개발 플랫폼과 관련된 서비스를 제공하는 모델이다. 그저 클릭을 통해 해당 서비스를 손쉽게 이용할 수 있다는 장점이 있고 CI/CD가 제공된다.

ex) heroku
https://elements.heroku.com/addons/rediscloud

  • heroku 사이트 화면

  • ⬇️ heroku 안에서 모니터링 되는 모습

특징

  • 개발 도구: 다양한 개발 도구와 라이브러리 제공
  • 자동화: 배포 및 관리 자동화

장단점

  • 장점: 개발 효율성, 관리의 편리성
  • 단점: 제한된 커스터마이징, 특정 플랫폼 종속성

백엔드 개발 고려사항

  • 통합성: 기존 시스템과의 통합
  • 플랫폼 선택: 비즈니스 요구에 맞는 플랫폼 선택

SaaS (Software as a Service)

정의

SaaS는 서비스형 클라우드 서비스이다. 완전한 서비스를 클라우드서비스로부터 제공받아 사용한다.

ex) 구글DOCS

특징

  • 접근성: 웹 브라우저를 통한 쉬운 접근
  • 구독 모델: 월별 또는 연별 구독 비용

장단점

  • 장점: 저렴한 비용, 쉬운 사용
  • 단점: 데이터 보안, 제한된 커스터마이징

백엔드 개발 고려사항

  • 데이터 관리: 데이터 보안 및 통합
  • 서비스 호환성: 다양한 디바이스 및 브라우저 호환성

PaaS VS IaaS 비교?

  • Iaas에서 사용하던 node.js나 spring등을 다른 서버로 이동하는 것이 편하다. 이것을 유연성과 이식성이 높다고 표현한다.
  • 반대로 Paas는 나뉘어진 컴포넌트(mySQL, MongoDB등)들을 마이그레이션하기 어렵다. 왜냐하면 플랫폼에 종속되어 있기 때문에 데이터를 옮기기 어렵다.

결론

IaaS, PaaS, SaaS는 각각 다른 장단점과 특징을 가지며, 백엔드 개발에서의 고려사항이 다르다. 선택은 기업의 비즈니스 요구, 개발 환경, 비용 등을 종합적으로 고려해야 한다.

추가 자료

profile
기억을 위한 기록 :>

0개의 댓글