공지
여러분들의 의견이 궁금합니다-주간SaaS 연락처

Control plane 과 Data plane 아키텍처

컨트롤 플레인 데이터 플레인 아키텍처 구조 장단점

2023.07.04 | 조회 5.95K |
0
|

🐧 : 안녕하세요, 최근 SaaS 서비스를 개발하시면서 SaaS 의 컨트롤 플레인과 데이터 플레인에 대해서 질문하시고, 이를 직접 개발하시는 분들이 늘어난 것을 느낍니다. 그와 동시에 컨트롤 플레인과 데이터 플레인에 대한 개념이 처음이어서 어려워 하시는 분들도 많은데요, 이번주와 다음주에는 B2B SaaS 를 설계 할 때 필수적인 컨트롤 플레인과 데이터 플레인에 대해서 다루어 보고자 합니다.

먼저 이번 주에는 다음 원문 을 통해 컨트롤 플레인과 데이터 플레인 의 일반적인 개념을 소개하고, 이어서 다음 주에는 SaaS 에서의 컨트롤 플레인과 데이터 플레인을 다뤄볼 예정입니다. 

원문에 포함된 다양한 참고 자료 링크를 꼭 한번씩 읽어 보시면 컨트롤 플레인과 데이터 플레인 아키텍처 설계 고려 사항에 대해 이해하실 수 있을 겁니다.


최근 직장에서 만난 한 아키텍트는 사용 중인 리소스에 따라 시스템을 고가용성 및 독립적으로 확장할 수 있도록 설계하는 아키텍처적 접근 방식에 대해 언급했습니다. 이 개념을 컨트롤 플레인과 데이터 플레인이라고 합니다.

고가용성을 최우선으로 고려해야 하는 트래픽이 많은 경우 컨트롤 플레인과 데이터 플레인 개념을 고려할 가치가 있습니다.

컨트롤 플레인과 데이터 플레인에 대한 정보를 검색하면 의심할 여지없이 네트워크 기술과 관련된 글 들을 다수 찾을 수 있습니다. 네트워킹이 이를 어떻게 적용하는지에 대한 많은 예시와 설명이 있습니다. 예를 들어, Cloud Flare의 다음 글은 컨트롤 플레인과 데이터 플레인의 차이점을 설명합니다. "컨트롤 플레인은 데이터가 전달되는 방식을 제어하는 네트워크의 일부이며, 데이터 플레인은 실제 전달 프로세스입니다."

컨트롤 플레인과 데이터 플레인은 네트워킹의 전문 용어지만, 우리는 AWS 내에서 모든 곳에서 이 용어를 사용합니다.

Becky Weiss & Mike Furr

AWS는 실제로 이 용어를 엔지니어링에 적용하고 네트워킹에 의해 설정된 원칙을 적용하여 시스템의 논리적 부분을 분리 했습니다. 분리의 주요 초점은 데이터 제어(컨트롤 플레인)와 데이터 검색(데이터 플레인)을 기반으로 기능을 분리하는 것입니다. 목표는 시스템의 일부가 다운되더라도 고객에게 계속 서비스를 제공할 수 있는 고가용성 시스템을 만드는 것입니다.

컨트롤 플레인과 데이터 플레인

컨트롤 플레인과 데이터 플레인은 로직을 서로 다른 영역으로 분할하는 방법을 설명하는 데 사용되는 네트워킹 용어입니다.

AWS는 이러한 용어를 사용하여 아키텍처를 분할하여 더 많은 처리량을 처리하는 아키텍처 영역에 따라 고가용성 및 목표 확장을 허용하는 방법을 설명했습니다.

컨트롤 플레인과 데이터 플레인의 AWS 용어에 초점을 맞추면 다음과 같습니다.

컨트롤 플레인 - 시스템 변경 사항을 처리합니다. 리소스 생성, 저장, 삭제, 업데이트와 같은 변경 사항을 처리합니다. 컨트롤 플레인은 변경 사항을 전파하는 작업도 처리합니다.

데이터 플레인 - 시스템의 런타임 활동을 처리합니다.

컨트롤 플레인과 데이터 플레인의 예를 들면, 사용자가 다단계 인증(MFA)을 설정하면 컨트롤 플레인이 TOTP 또는 백업 MFA 방법을 데이터베이스에 저장하는 등의 설정을 처리하는 것입니다. 이벤트 스타일 아키텍처를 사용하는 경우 컨트롤 플레인은 새 이벤트나 업데이트된 이벤트를 처리하여 데이터베이스에 전파합니다.

데이터 플레인은 데이터베이스에서 이 정보를 검색하는 작업을 처리합니다.

첨부 이미지

데이터 플레인과 컨트롤 플레인 분리의 장점

고가용성

대부분의 시스템은 고가용성이 필요합니다. 하지만 문제가 발생하면 시스템 성능 저하를 예상하고 계획한 방식으로 시스템을 구축해야 합니다.

"Amazon이 얻은 한 가지 교훈은 장애가 발생하기 전에 예상해야 한다는 것입니다." - Becky Weiss & Mike Furr

애플리케이션 로직을 컨트롤 플레인과 데이터 플레인으로 분리하면 가장 중요한 시스템을 가동하고 실행하는 데 주의를 집중할 수 있습니다. 여기서 가장 중요한 시스템은 데이터 플레인입니다.

컨트롤 플레인은 여전히 안정적이고 가능한 한 가용성을 유지해야 하지만, 서비스가 중단되더라도 데이터 플레인이 컨트롤 플레인이 되어 고객에게 계속 서비스를 제공할 수 있어야 합니다.

컨트롤 플레인은 데이터 플레인보다 움직이는 부분이 더 많은 경우가 많습니다. 컨트롤 플레인은 리소스의 생성, 저장, 삭제, 업데이트를 처리하기 때문입니다. 따라서 컨트롤 플레인은 데이터 플레인이 사용자의 데이터를 검색하는 곳에서 문제가 발생할 위험이 더 높습니다.

AWS는 이 개념을 사용하여 고가용성 시스템을 제공합니다. 종속성이 다운되면 새 리소스나 업데이트된 리소스를 얻지 못할 수 있지만, 시스템은 계속 가동되어 오래된 데이터로도 고객에게 서비스를 제공할 수 있습니다. 참조: https://aws.amazon.com/builders-library/static-stability-using-availability-zones/

스케일링

로직을 데이터 플레인과 컨트롤 플레인으로 분할하면 데이터 플레인이 컨트롤 플레인보다 더 많은 양의 요청을 수신하는 것을 볼 수 있습니다.

이를 바탕으로 이러한 서비스를 독립적으로 확장하여 어떤 엔드포인트와 요청을 기반으로 작업을 확장할 수 있도록 하는 것이 합리적입니다.

컨트롤 플레인 및 데이터 플레인의 단점

컨트롤 플레인과 데이터 플레인은 필요한 상황에서는 훌륭한 아키텍처 입니다.하지만, 저도 직접 경험해 보았지만 필요한 상황이 아니라면  솔루션이 더 복잡해지기 쉽습니다. 이로 인해 솔루션을 개발하기 전에 솔루션을 이해하는 데 걸리는 시간이 늘어날 수 있습니다.

디자인이나 코드가 실제로 일을 단순화하는 대신 더 복잡하게 만들면 과도하게 엔지니어링하는 것입니다.

맥스 카나트-알렉산더

시스템 아키텍처를 결정할 때는 탄탄한 계획을 세워야 합니다. 따라서 컨트롤 플레인과 데이터 플레인 아키텍처 설계 시 다음과 같은 사항이 포함되어야 합니다.

  • 기능적 요구 사항과 비기능적 요구 사항 모두에 대한 명확한 이해
  • 설계의 각 구성 요소가 수행할 작업 이해

Lucidchart의 게시물 "소프트웨어 아키텍처를 설계하는 방법: 주요 팁과 모범 사례"에서 이 부분에 대해 자세히 알아보세요"

요약

컨트롤 플레인과 데이터 플레인 아키텍처는 가용성이 높고 독립적으로 확장 가능한 서비스를 개발할 때 따라야 할 좋은 방법입니다. 하지만 이 아키텍처를 따르기 전에 반드시 조사하여 구축하려는 솔루션에 적합한 아키텍처 패턴인지 확인해야 합니다.

이 글에 대해 의견이 있으시거나 이전에 비슷한 스타일을 사용해 보신 적이 있으시다면 아래 댓글로 의견을 남겨 주시면 감사하겠습니다.

References

다가올 뉴스레터가 궁금하신가요?

지금 구독해서 새로운 레터를 받아보세요

✉️

이번 뉴스레터 어떠셨나요?

주간 SaaS 님에게 ☕️ 커피와 ✉️ 쪽지를 보내보세요!

댓글

의견을 남겨주세요

확인
의견이 있으신가요? 제일 먼저 댓글을 달아보세요 !

다른 뉴스레터

SaaS란 무엇인가

AI 시대에도 변하지않는 본질. 안녕하세요 주간SaaS 입니다. 'AI로 인해 SaaS는 끝났다'는 말이 나오는 요즘, 조금 늦은 이야기가 아닐까 저 역시 잠시 망설였습니다. 하지만 시대가 변해도 본질은 쉽게 변

2025.07.29·조회 2.15K

Wix 글로벌 플랫폼의: 대규모 엔지니어링 탄력성 이야기

탄력성 높은 플랫폼을 만들기위한 노력. 안녕하세요 주간SaaS 입니다. AI 코딩 에이전트의 발전으로 만드는것의 문턱이 낮아진것은 분명합니다. 하지만 코딩의 결과물이 서비스가 되고 시스템이 되려면 많은 고민과 노력이 필

2025.09.02·조회 1.58K

AI가 가져올 B2B SaaS 변화

글 제목-"B2B SaaS의 종말: 문앞의 AI 야만족들, 그리고 용병단의 탄생". 안녕하세요 주간SaaS 입니다. 기술적인 관점에서는 분명 AI는 B2B SaaS에게 많은 장점을 가져다 줄 것처럼 보이지만 비즈니스 관점에서는 이런 기술적인 효용성이 반대로 B2B

2025.03.04·조회 2.36K·댓글 4

SaaS 평균 총 마진 70%, 정말 그럴까요?

SaaS 매출총이익률에 대한 오해. 안녕하세요 주간SaaS 입니다. 오늘은 주간SaaS 구독자 분께서 기고해주신 글을 소개 합니다. 여러분들께서 배우고 경험하고 얻은 SaaS에 관련한 인사이트를 주간SaaS를 통해

2025.04.01·조회 2.82K

Vertical AI SaaS의 연계 통합 문제

Vertical AI가 갖는 연계 통합 문제 그리고 그에 대한 해결책. 안녕하세요. 주간SaaS 입니다. 오늘은 벤처캐피털 Euclid VC의 인사이트를 담은 글을 가져왔습니다. 특정 산업 분야를 깊게 파고드는 '수직형 AI(Vertical AI)'

2025.07.08·조회 1.68K

SaaS 비즈니스 성공을 위한 세 가지 전략

지속 가능한 SaaS 비즈니스를 위한 제언. 안녕하세요, 주간SaaS 입니다. 이번 주는 Seth 님의 기고문 두 번째 편을 소개합니다. 지난주 "SaaS 평균 총 마진 70%, 정말 그럴까요?"에 이어, 이번 기고문에서는

2025.04.08·조회 2.29K
© 2026 주간 SaaS

B2B SaaS 비즈니스 모델과 멀티 테넌트 아키텍처 설계에 관한 좋은 콘텐츠를 소개합니다.

메일리 로고

도움말 자주 묻는 질문 오류 및 기능 관련 제보

서비스 이용 문의admin@team.maily.so 채팅으로 문의하기

메일리 사업자 정보

메일리 (대표자: 이한결) | 사업자번호: 717-47-00705 | 서울특별시 송파구 위례광장로 199, 5층 501-8호

이용약관 | 개인정보처리방침 | 정기결제 이용약관 | 라이선스