Development Log/Knowlege

클라우드 서비스(IaaS, PaaS, SaaS)

오겹살2인분주세요 2022. 8. 24. 18:32

클라우드 서비스가 발전하면서 서버를 구축하는 방식이 단순해지고 있습니다. 기존에는 on-premise 또는 IDC를 통해 물리적인 서버를 직접 관리했다면 이제는 브라우저에서 클릭 몇 번으로 구축할 수 있기때문입니다. 더이상 서버를 위한 자리를 마련하거나, 직접 부품을 장착하거나 필요한 소프트웨어를 설치할 필요가 없어졌습니다. 더불어, 합리적인 요금과 높은 안정성이 보장되기 때문에 많은 기업과 개인이 클라우드 서비스를 이용하고 있고, 추세가 이전되고 있습니다.

클라우드 서비스는 크게 IaaS, PaaS, SaaS 범주로 제공되며, IaaS -> PasS -> SaaS 순으로 더 많은 기능들을 제공하고 있습니다. 그리고 각각의 서비스는 '구매'가 아닌 '대여'로 서비스 되기 때문에 종량제 및 구독형 요금제로 제공되는 것이 특징입니다.

클라우드 서비스의 범주별 서비스(https://www.virtasant.com)

IaaS(Infrastructure as a Service )

IaaS (https://geekflare.com)

물리적 서버에 가까우며 서버의 인프라 즉, 서버의 구성에 있어서 가장 기본적인 요건들(서버 컴퓨터, 저장소, 네트워크, 방화벽)만 제공합니다. 이는 클라우드 컴퓨팅의 가장 기본 범주에 속하며, 개발자가 가장 많이 개입할 수 있는 만큼 가장 많은 책임을 가지는 서비스입니다. IaaS는 인프라 관련 전문 인력이 있거나, OS 또는 추가적인 소프트웨어에 대해 특정 버전을 사용해야할 경우 사용하는게 일반적이며, 관련된 서비스로는 AWS의 EC2, Azure의 VM, GCP의 Computer Engine 등이 있습니다.

PaaS(Platform as a Service)

PaaS (https://geekflare.com)

관리형 호스팅으로 IaaS + 개발 및 배포 환경이 추가된 서비스입니다. IaaS에 비해 관리 영역을 최소화하여 생산성을 높이는데 목적이 있으며 이는 기본적으로 개발자를 대상으로 합니다. 여기에는 개발 도구, Middleware,  Runtime, DBMS 등이 포함되어있습니다. 즉, 빌드, 테스트, 배포 등의 응용 프로그램의 라이프 사이클을 지원함으로써 개발자는 애플리케이션 개발에만 집중할 수 있습니다. 클라우드가 익숙하거나 전문 인프라 운영 인력이 없는 기업(스타트업)이 일반적으로 사용합니다. 관련된 서비스로는 AWS의 Beanstalk와 Lamda, Azure의 Wepapp, Functions, GCP의 App Engine 등이 있습니다.

SaaS(Software as a Service)

SaaS (https://geekflare.com)

IaaS + PaaS + Application의 형태로, 소프트웨어 서비스 자체를 제공합니다. 즉, 인터넷을 통해 클라우드에서 제공하는 앱을 사용할 수 있습니다. 상황에 따라 최소한의 투자로 최대의 효율을 얻을 수 있습니다. IT 개발 인력이 전무하거나, 개발 시간을 앞당겨 빠른 시장 진입이 필요한 경우 사용됩니다. 관련 서비스로는 Google의 Workspace, Microsoft의 MSOffice 365 등이 있습니다.

그럼 나에게 절적한 클라우드 서비스는?

on-premise와 클라우드 서비스 비교 (https://www.pentasecurity.com)

위의 이미지를 참고하면, 클라우드 서비스 제공자는 사용자의 목적에 따라 범주를 설정해두었으며 각 범주별로 고객이 제어할 수 있는 부분과 제어할 수 없는 부분이 명확하게 정해져있습니다. 따라서 이를 잘 판단해서 적절한 서비스를 이용하는 것이 효율적입니다. 먼저, 내 서비스가 예민한 데이터들을 다루기때문에 보안이 절대적으로 중요하고 이로 인해 퍼블릭 클라우드 서비스를 이용하기가 꺼려진다면 자체 on-Premises를 구축해야합니다.(금융권, 공공기관 등) 대신 서버의 하드웨어, 소프트웨어적인 모든 부분을 직접 관리해야합니다. 반면, 퍼블릭 클라우드 서비스를 신뢰하고, IDC가 너무 멀거나 글로벌 사업을 준비중라면 클라우드 서비스를 이용하는게 유리하며 인프라를 전문적으로 관리할 수 있고, 서버의 OS부터 세세한 부분까지 고려해야한다면 IaaS, 관련 전문 인력이나 지식이 부족하거나 인프라는 크게 신경안쓰고, 애플리케이션 개발에만 집중해서 빠르게 서비스를 런칭하고 싶다면 PaaS, 개발할 시간적인 여력이 없다면 SaaS를 사용하는것이 가장 합당하다고 생각합니다.

조금 더 합리적인 선택하기

이제 어떤 범주의 클라우드 서비스를 이용해야 하는지는 알겠으나, 인터넷에는 수 없이 많은 클라우드 서비스 및 제공 업체들이 있습니다. 즉, 너무 많은 서비스가 있어서 내가 어떤게 좋은지 또 어떤 서비스가 조금 더 합리적인 금액으로 지원되는지는 파악하기 어렵습니다. G2는 이런 어려움을 해결할 수 있는 좋은 플랫폼입니다. G2를 통해 소프트웨어에 대한 정보, 금액, 인기도, 평가 등을 제공하며 목적에 따른 카테고리로 분류되어있어 내가 원하는 기능에 대한 서비스를 쉽게 검색, 비교할 수 있습니다. 그리고 지금 내가 보고 있는 제품과 비슷한 서비스를 추천하여 제품간 성능과 실제 사용자들의 리뷰, 많이 사용되는 회사의 규모 등을 비교할 수 있는 데이터 또한 제공합니다. 

정보는 곧 경쟁력. 클라우드 서비스를 사용해야한다면 G2를 이용해보시는걸 조심히 권장해봅니다.

 

G2 메인 페이지 (https://www.g2.com)
G2에서 AWS ec2의 리뷰 (https://www.g2.com)
G2에서 AWS Ec2와 GCP의 Computer Engine 비교 (https://www.g2.com)