본 포스팅은 인프런 데브원영님의 [아파치 카프카 애플리케이션 프로그래밍]의 강의를 수강 후 정리하는 글입니다.
1. 카프카 클러스터를 운영하는 여러가지 방법
- 카프카 클러스터를 서버에 직접 설치하고 운영
- 각종 설정을 직접 컨트롤하여 세부적인 서버 설정을 통해 최고의 성능으로 최적의 클러스터 운영 가능
- 각종 보안 설정 선택
- 모니터링 도구 선택
- SaaS(Software-as-a-Service)형 카프카
- 시행착오를 줄이면서 카프카 클러스터를 빠르고 안전하게 운영
1-1. 운영 방법에 따른 서비스 형태들
SaaS란 클라우드 서비스 제공업체가 소프트웨어와 인프라를 관리하면서 플랫폼을 제공
1-2. 서비스 형태별 카프카 운영 방법
서비스 종류 | 카프카 운영 방법 |
온프레미스(on-premise) | - 물리장비(서버)를 구매, 네트워크 구성 - 물리장비 운영체제 설치 - 오픈 소스 카프카 또는 기업용 카프카(컨플루언트 플랫폼) 설치 |
IaaS | - AWS, GCP 같은 클라우드 서비스에 물리/가상 컴퓨팅 리소스 발급 - 컴퓨팅 리소스에 오픈소스 또는 기업용 카프카 설치 |
SaaS | - 컨플루언트 클라우드 또는 AWS MSK - 다양한 주변 생태계(ksqlDB, 모니터링 도구) 제공 |
오픈소스 카프카: Apache 2.0에 있는 자유롭게 쓸 수 있는 카프카
기업용 카프카는 기능 상 등등 튜닝이 되어있음
1-3. 오픈 소스 카프카를 직접 설치하여 운영하는 경우
카프카는 전송된 데이터를 모두 파일 시스템에 저장하고 대규모 데이터 통신이 일어나기 때문에 고성능의 하드웨어 필요
컨플루언트에서 추천하는 카프카 클러스터 운영시 브로커의 하드웨어
- 메모리: 32GB 머신에 힙 메모리 6GB로 설정, 나머지는 OS의 페이지 캐시 영역으로 활용
- CPU: 24core 머신 사용, SSL과 같은 보안 설정 사용할 경우 더 높은 사양 필요
- 디스크: RAID 10으로 설정된 디스크 사용
- 네트워크: 사용하는 데이터 통신량에 따라 다름
- 파일 시스템: XFS 또는 ext4
2. SaaS형 아파치 카프카 소개
2-1. 클라우드 서비스 - 컨플루언트
카프카에 대한 개념을 최초로 생각하고 아키텍처를 제안한 인물인 제이 크랩스와 그의 동료들이 설립한 회사
2-2. 클라우드 서비스 - 컨플루언트 클라우드, 컨플루언트 플랫폼
컨플루언트 클라우드 | 컨플루언트 플랫폼 |
- 클라우드 기반 카프카 클러스터 - 요구사항에 따라 자동으로 늘려주는 클러스터 리소스 제공 - GCP, AWS 등 클러스터 설치 위치 지정 가능 - 커넥터, ksqlDB, 스키마 레지스트리 제공 - 99.95% SLA - 엔터프라이즈 수준의 보안 수준 - 데이터 적재 제한 없음 |
- 온프레미스 기반 설치형 카프카 클러스터 - 서버를 내부에서 발급하여 직접 설치 - 단계별 스토리지 기능 제공 - GUI 기반 모니터링 시스템 제공 |
2-3. 클라우드 서비스 - AWS MSK
완전관리형의 고가용성 Apache Kafka 서비스
오픈소스 카프카 기반이기 때문에 아파치 카프카 버전을 직접 선택할 수 있음
AWS에서 운영하는 애플리케이션과 쉽게 연동할 수 있음
3. SaaS형 아파치 카프카 장점과 단점
3-1. SaaS로 카프카 클러스터를 운영할 경우 장점
- 인프라 관리의 효율화
- 모니터링 대시보드 제공
- 보안 설정
3-2. SaaS로 카프카 클러스터를 운영할 경우 단점
- 서비스 사용 비용
- 커스터마이징의 제한
- 클라우드의 종속성
3-3. 그럼에도 불구하고 SaaS형 카프카를 사용하는 것이 나은 경우는?
카프카 클러스터에 대한 운영 노하우가 부족한 상태에서 빠르게 클러스터 인프라를 구축하고 활용할 때는 SaaS형 카프카가 좋은 선택지가 될 수 있음
'Kafka' 카테고리의 다른 글
[Apache Kafka] 4. 아파치 카프카 CLI 활용(2) - 토픽, 프로듀서 (2) | 2024.10.10 |
---|---|
[Apache Kafka] 4. 아파치 카프카 CLI 활용(1) - 브로커, 주키퍼 생성 (3) | 2024.10.10 |
[Apache Kafka] 2. 카프카 기본 개념 설명(2) (3) | 2024.10.08 |
[Apache Kafka] 2. 카프카 기본 개념 설명(1) (1) | 2024.10.01 |
[Apache Kafka] 1. 아파치 카프카의 역사와 미래 (0) | 2024.09.30 |