안녕하세요. 성조입니다.
이번 포스팅은 IaaS, PasS, SaaS에 대해서 학습한 내용을 정리하는 포스팅 시간을 가져보려 합니다.
잘못된 지식 전달이 있다면 언제든지 댓글로 피드백 주시면 감사드리겠습니다.
IaaS(Infrastructure as a Service)이란?
IaaS는 인터넷을 통해 서버와 스토리지 등 데이터센터 자원을 빌려 쓸 수 있는 서비스를 일컬어서 얘기하며, 기본적으로 인프라 구성을 클라우드에서 제공하는 것을 말한다.
사용자는 IaaS 서비스를 활용하여 서버, 운영체제, 미들웨어, 애플리케이션, 리소스 등을 자유롭게 선택하고 관리하는 것으로 대표적인 예로 AWS(EC2), Microsoft Azure, Google Cloud(Compute Engine), Naver Cloud 등 다양한 기업에서 인프라를 제공한다. 넷플릭스, 크래프톤, 삼성전자 등 다양한 기업들이 AWS와 같은 IaaS 서비스를 활용하여 인프라 서버로 활용하고 있다.
장점
- 사용자는 인프라(Infrastructure)에 대해서 별도의 구성에 비교적 적은 비용(시간, 노력, 보안, etc...)으로 인프라 요소를 높은 수준으로 컨트롤 할 수 있다.
- 유연성이 높아서, 사용자에게 필요한 만큼의 리소스를 늘리거나 줄일 수 있다. (예를 들면 트래픽이 갑자기 몰리는 시간에는 늘렸다가 줄어드는 시간에는 리소스 자원을 조금만 할당하는 형식이다.) 일정 부분에 대한 트래픽을 효율적으로 핸들링하여 불필요한 비용을 줄일 수 있다.
- 직접 데이터 센터를 구축할 필요 없이 클라우드 환경에서 처리하면 된다는 장점이 존재한다. 이런 장점은 해외 서비스를 진행할 때 조금 더 유연하게 서비스할 수 있는 장점이 된다.
단점
- 흔하게 사용되는 AWS를 관리하는 경우 인프라 관리에 대한 환경 지식도 있어야 하며, 직접 관리해야 하는 경우가 생기긴한다.
- 보안과 미들웨어, 데이터베이스 등 구축한 데이터를 가지고 인프라 환경에 데입하는 과정이 조금은 복잡할 수 있다. 전체적인 인프라 지식이 폭넓게 있어야 재빠른 대처를 할 수 있게 된다. (하지만 이부분은 직접 데이터센터를 구축하는 것 보다는 IaaS 서비스를 활용하는 것으로 오히려 제어가 더 쉬워질 수 있는 부분이다.)
- DDos의 트래픽을 제어하는 IaaS 기업이 있긴 하지만 무효 트래픽 공격으로 평소보다 비싼 비용이 청구될 수 있는 단점이 있다. 최근에는 많이 개선되면서 특정 아이피 차단이나, 일정 트래픽에서 공격성향이 보이는 경우 제어하는 경우도 있다.
- IaaS 서비스가 자체 데이터 센터보다 무조건 비용이 적다고 판단할 수는 없다. 초반부에 자체 구축이 저렴할 수도 있다. (하지만 IaaS 서비스를 안써서 발생하는 보안까지 생각하면.. 상황에 맞는 클라우드 서비스를 도입하는 것이 좋을 것 같다.)
PasS(Platform as a Service)이란?
PasS는 애플리케이션 개발에 필요한 플랫폼과 환경을 클라우드에서 제공하는 것을 말한다. 개발자가 서비스에 맞는 소프트웨어를 개발할 때 필요한 API를 제공해서 조금 더 편하게 개발할 수 있도록 도와주는 것이다.
A 기능의 API를 만드는데 10일 걸리는데 당장 필요한 경우 API 기능을 PaaS에서 지원받아서 빠르게 적용할 수 있는 형식이다. 개발자가 원하는 서비스 로직을 만드는 개발에만 집중 할 수 있도록 비용 부담이 감소하는 서비스 방법이라 보면 되며, PaaS는 IaaS를 기반으로 한다.
레고 블록을 빌려서 조립하는 서비스 정도로 보면 될 것 같다.
활용 사례로 AWS Elastic Beanstalk, Heroku, Google App Engine 등이 존재한다.
장점
- 빠르게 개발할 수 있다. 제공받은 API를 통해서 조금 더 빠르게 서비스에 접목시켜서 확인할 수 있기 때문이다.
- IaaS보다 조금 더 인프라를 덜 신경쓰고 작업하는 편이므로, 더 많은 시간과 노력 비용을 개발에 집중하여 활용할 수 있다.
- 확장/축소가 쉬우며, 그렇기 때문에 개발된 것을 효율적으로 동작하기 좋다.
단점
- 개발이 제공되는 서비스 기업에 종속적이게 된다. 즉, 사용자가 플랫폼에 종속되는 단점이 있다.
- 커스커마이징의 제한이 없는 경우도 있지만 완벽하게 커스텀할 수 있도록 제공하지 않는 것도 많기 때문에 일부 기능이 불가능한 경우도 있다.
- 플랫폼에 종속된 상태로 서비스를 운영하면 향후에 PaaS 서비스가 필요없어질 때 생각보다 많은 비용과 노력이 들어갈 수 있다.
SaaS(Software as a Service)이란?
SaaS는 완전한 애플리케이션 서비스를 클라우드에서 제공해주는 서비스로 사용자가 별도의 설치가 필요없으며, IT 자원을 구매하거나 소유할 필요 없이 필요한 만큼 사용료를 주고 사용하는 서비스를 얘기한다.
자체적으로 기능을 가지고 있는 백오피스를 개발하는 것 보다는 만들지 않고, 협업을 위해서 필요한 툴들을 적절하게 활용하여 사용하면 원하는 비즈니스 모델에 있어서 더 포커싱해서 나아갈 수 있는 점이 매력적인 서비스이다. SaaS는 개발뿐 아니라 게임, 홍보, 마케팅, etc ... 다양한 곳에서 활용하여 사용되기 때문에 개발자가 아닌 일반 사용자들도 많이 알고 있는 서비스가 존재한다.
흔하게 일상에서 사용하고 있거나, 볼 수 있는 서비스로 슬랙(Slack), 디스코드(Discord), 노션(Notion), 줌(Zoom), 모두싸인(ModuSign)등이 있다.
장점
- 별도의 설치가 필요하지 않아서, 사용자는 로그인 또는 없이도 즉시 쉽게 애플리케이션을 활용 할 수 있다.
- 인터넷에 연결만 됐다면 디바이스를 통해서 액세스를 할 수 있어서 접근하기 좋다. 또한 데이터가 클라우드에 저장되어 있으면 사용자가 하드웨어에 분실 또는 파손이 발생해도 데이터가 무손실되는 장점이 존재한다. (단, 하드웨어 분실로 인하여 계정을 탈취당하고, 직접 삭제되는 경우는 안전하다고 보기 어렵다.)
- 개발된 것을 활용되기 때문에 자체적으로 들어가는 유지보수, 업그레이드, 보안, 기회 비용 등의 문제에 대한 걱정이 없다.
- 높은 사용자 접근성과 실제 서비스를 활용만하면 되기 때문에 직접 모든 것을 구축하지 않는 부분에서 저비용으로 이용할 수 있게 된다.
단점
- 제공되는 서비스를 활용하는 것이므로 사용자가 직접 애플리케이션을 관리할 수는 없다.
- 커스커마이징이 앞선 2개의 서비스보다 더 제한적이며, 기능이나 수정에 대해서 기업이 정한 규정대로 활용해야 하는 경우가 많다.
- 사용자 또는 제공업체의 서버가 죽거나, 인터넷이 끊기는 경우. 애플리케이션 사용이 어렵다.
각 서비스의 장단점
IaaS는 높은 컨트롤과 유연성을 제공하지만, 인프라에 대한 관리 지식이 필요하다.
PaaS는 빠른 애플리케이션 개발과 스케일을 쉽게 진행할 수 있지만 제한적인 커스터마이징과 플랫폼에 종속되는 점이 있다.
SaaS는 즉시 사용 가능하고, 유지보수와 보안 문제에 대한 걱정은 없지만 사용자의 컨트롤이 제한적이므로 소규모 비즈니스 팀이나 필요한 것에 따라서 case by case로 이상적일 수 있다.
오타나 궁금한 부분 또는 잘못된 지식 전달 부분이 있다면 언제든지 댓글 부탁드립니다.
다음 포스팅 때 뵙겠습니다! 감사드립니다.
- 참고 -
https://www.redhat.com/ko/topics/cloud-computing/iaas-vs-paas-vs-saas
https://www.oracle.com/kr/applications/what-is-saas/
'Study 📔' 카테고리의 다른 글
[Study] FOSS, permissive, reciprocal (with Postgre, MySQL 유/무료) (0) | 2023.05.21 |
---|---|
[Study] SEO(Search Engine Optimization, SEO)이란? with SERP (0) | 2023.04.28 |
[Study] React.js + TypeScript로 GitHub Blog 만들기 (0) | 2023.03.09 |
[Study] 라이브러리와 프레임워크 개념 정리 및 차이 (0) | 2023.01.07 |
[Study] 패스트캠퍼스 12월 비동기 처리 세미나 후기 (0) | 2022.12.31 |