• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    해결됨

Azure SQL DB

21.04.15 03:11 작성 조회수 174

0

저는 SaaS라고 생각을 했었는데 어째서 PaaS인지 구체적으로 설명을 해주실 수 있을까요?

답변 1

답변을 작성해보세요.

0

안녕하세요

질문 감사합니다.

Azure SQL DB가 PaaS로 구분되는 이유는 데이터베이스 구성에 있습니다.

일반적으로 Microservice의 Service Mash 영역을 보면 다음과 같이 3가지 영역으로 나뉘어집니다.

Control plane: Resources를 생성하고 수정하고 권한을 부여하는 리소스 제어하는 영역

Management plane: 리소스의 수명 주기, 구성, 성능 등 실제 Resource를 관리하는 영역

Data plane: 생성된 Resources의 데이터 관리와 요청 및 응답을 처리하는 영역

여기에서 Management plane이 있는 리소스와 없는 리소스를 크게 IaaS/PaaS와 SaaS로 나뉘어 집니다.

Azure SQL Database의 경우 Schema를 조작하고 데이터를 백업/복원하고, 특정 설정들을 변경하는 작업이 별도로 존재하고, SSMS(SQL Server Management Studio)를 이용하여 Azure SQL Database를 Azure에서 제공하는 옵션 이외에 설정이 가능하기 때문에 PaaS로 분류됩니다.

하지만, IaaS, PaaS, SaaS에 대한 정의가 사람마다 다른 경우가 있기에 명확한 기준을 제시하는 것 보다는 내가 정의한 IaaS, PaaS, SaaS에서 어떤 서비스를 어떻게 바라 볼 것이고, 그 서비스를 어떻게 이용할 것인가? 에 대해 고민하는 것이 좋다고 생각합니다.

문의사항이 있으시면 언제든 글 남겨주세요.

Hyobin Kim님의 프로필

Hyobin Kim

질문자

2021.04.16

이쪽으론 처음 공부하는 거라 용어들이 익숙하진 않지만 (특히, Micro service, Service Mash가 뭔지는 잘 모르겠네요) 써주신 내용을 기반으로 제가 이해한 바는, 

SaaS의 경우는 사용자가 소프트웨어 자체 또는 내부를 수정하는 건 불가능 하고, 그저 주어진 그대로 사용하기만 할 수 있는거라고 봐야하고

IaaS/Paas의 경우 소프트웨어의 범위에서만 보자면, 사용자가 소프트웨어의 내부를 수정해서 사용할 수 있는거라고 봐야겠군요

Azure SQL DB의 경우는 내부적으로 수정 해가며 사용이 가능하기에 PaaS라고 봐야겠군요

그럼, 여기서, 이걸 IaaS라고 볼 수 없는건 하드웨어적인 영역이 포함 되지 않기 때문인가요?

 

추가로, 이걸 이렇게 적용을 해도 되는가 모르겠는데, 마지막 문단을 보고 떠오른 생각입니다

상용 게임 엔진인, 언리얼 엔진의 경우는 기본사용은 무료입니다. 하지만 일정 비용을 지불한다면 소스코드에 접근이 가능하다고 합니다. 
전자의 경우는 SaaS로, 후자의 경우는 PaaS라고 봐도 될 까요?

안녕하세요

Azure SQL Database를 IaaS로 보지 않는 이유는 크게 세가지 입니다.

1. 운영체제에 대한 관리권한이 Microsoft Azure에게 있습니다. 따라서 사용자는 운영체제에 접근이 불가능합니다.

2. 운영체제를 비롯한 플랫폼의 관리자 계정을 사용자에게 배포해주지 않습니다. 그렇기에 사용자는 관리자 계정이 아닌 운영에 필요한 권한만 있는 계정을 할당받고 이를 사용하게 되어있습니다.

3. 1번과 2번의 내용을 포함하여 추가적으로 운영체제와 하드웨어를 모두 Microsoft Azure에서 관리를 하기 때문에 하드웨어의 장애가 사용자에게 전달되지 않습니다. 예를 들어 살명드리면, Azure SQL Database가 동작하는 특정 하드웨어의 장애가 발생하여 머신이 shutdown 되더라고, 다른 Azure SQL Database를 지원하는 하드웨어로 자동 Failover되어 사용자는 하드웨어의 장애가 있더라도 서비스에 영향을 받지 않습니다.

따라서 Azure SQL Database는 PaaS로 분류가 됩니다.

추가로 문의주신 부분에 대해서 답변 드립니다.

굳이 PaaS와 SaaS를 나눈다고 한다면, 말씀하신 대로 전자의 경우는 SaaS, 후자의 경우는 PaaS라고 볼 수 있습니다. 하지만, 일반적으로 봤을 때는 SaaS로 해석할 수 있으며, 이는 "구독형 모델"을 사용하는 서비스의 경우 "과금 시 기능을 추가로 더 지원한다"라는 개념으로 접근한다고 생각하시는 것이 좋습니다.

Cloud의 구분은 IaaS/PaaS/SaaS로 구분하지만, 엄밀히 따지고 든다면 이 3개의 카태고리 안에 들어가지 않는 서비스들이 많습니다. 따라서 어떤 서비스는 IaaS이고, 어떤 서비스는 SaaS이고를 정의한다기 보다 IaaS/PaaS/SaaS에 대한 개념을 확립하시고, 특정 서비스를 바라본다면 어느정도 수준의 관리 권한과 책임이 따라오는지를 가늠하실 수 있을 것입니다.

답변이 도움되셨길 바라며, 궁금한 점이 있으면 댓글 달아주세요~