바로 가기

Apache Kafka란 무엇일까요?

URL 복사

2024년 글로벌 IT 트렌드는 어떻게 변화할까요?

기술 세계가 급속한 디지털 전환을 겪으면서, 기업이 핵심 영역에 대한 우선순위를 조정하는 동향이 변화하고 있습니다. 이 2024년 글로벌 IT 트렌드 리포트는 IT 업계는 물론 다양한 업계의 6대 예산 지원 우선순위와 발전을 막는 3대 문제점을 설명합니다.

Apache Kafka는 실시간으로 기록 스트림을 게시, 구독, 저장 및 처리할 수 있는 분산형 데이터 스트리밍 플랫폼입니다. 여러 소스에서 데이터 스트림을 처리하고 여러 사용자에게 전달하도록 설계되었습니다. 간단히 말해 A지점에서 B지점까지 이동하는 것뿐만 아니라 A지점에서 Z지점을 비롯해 필요한 모든 곳에서 대규모 데이터를 동시에 이동할 수 있습니다.

Apache Kafka는 전통적인 엔터프라이즈 메시징 시스템의 대안입니다. 하루에 1조 4천억 건의 메시지를 처리하기 위해 LinkedIn이 개발한 내부 시스템으로 시작했으나, 현재 이는 다양한 기업의 요구 사항을 지원하는 애플리케이션을 갖춘 오픈소스 데이터 스트리밍 솔루션이 되었습니다.

마이크로서비스는 개발 환경을 바꾸어 놓았습니다. 공유 데이터베이스 계층과 같은 종속성을 줄여 개발자들이 더욱 민첩하게 작업을 수행하도록 해줍니다. 그러나 개발자가 구축 중인 분산형 애플리케이션이 데이터를 공유하려면 특정한 유형의 통합이 필요합니다. 널리 사용되는 통합 옵션으로 동기식 방법이 있는데, 이는 서로 다른 사용자 간 데이터를 공유하는 데 애플리케이션 프로그래밍 인터페이스(API)를 활용합니다.

또 다른 통합 옵션으로는 중간 스토어에서 데이터를 복제하는 비동기식 방법이 있습니다. Apache Kafka는 바로 이런 맥락에 등장하는 솔루션으로, 다른 개발팀의 데이터를 스트리밍하여 데이터 스토어를 채우면 해당 데이터를 여러 팀과 이들의 애플리케이션 간에 공유할 수 있게 됩니다.

마이크로서비스 팀의 통합 요구 사항은 전통적인 워터폴(waterfall) 개발팀과는 다릅니다. 이들 팀은 다음과 같은 3가지 기반 기능을 필요로 합니다.

  1. 분산형 통합: 필요한 경우 지속적으로 배포할 수 있는 경량의 패턴 기반 통합으로, 중앙집중식 ESB 유형 배포의 제약을 받지 않습니다.
  2. API: 파트너, 고객 및 개발자로 이루어진 에코시스템을 구현하는 API 기반 서비스로, 신뢰성과 수익성을 갖춘 유용한 활용 방안을 제공합니다.
  3. 컨테이너: 클라우드 네이티브 방식의 커넥티드 애플리케이션을 개발, 관리 및 확장하는 플랫폼입니다. 컨테이너는 개별 배포 방식으로 DevOps 프로세스에 포함되면서, 즉시 사용 가능한 클러스터링에 의해 지원되는 린(lean) 아티팩트 개발을 사용할 수 있도록 함으로써 고가용성을 보장합니다.

Red Hat에서는 이러한 접근 방식을 "애자일 통합"이라 부릅니다. 애플리케이션 개발 프로세스의 일부로 통합을 수행하여 민첩하고 적응성을 갖춘 솔루션을 제공할 수 있습니다. 애플리케이션의 구체적인 요구 사항에 따라 동기식 또는 비동기식 통합을 애자일 통합의 일부로 자유롭게 사용할 수 있습니다. Apache Kafka는 비동기식 이벤트 기반 통합을 사용하여 동기식 통합과 API 사용을 확대하고 마이크로서비스 및 애자일 통합까지 지원할 수 있는 좋은 옵션입니다. 이런 식으로 Apache Kafka는 개발 프로세스 간소화, 혁신 추진, 시간 절약을 통해 새로운 기능과 애플리케이션 및 서비스 출시 기간을 단축하기 위한 이니셔티브의 중요한 부분이 될 수 있습니다.

Apache Kafka는 시스템 및/또는 애플리케이션 간 데이터를 공유하는 스트리밍 데이터 파이프라인에 구현되어 있으며, 해당 데이터를 사용하는 시스템 및 애플리케이션에도 구현되어 있습니다. Apache Kafka는 높은 처리량과 확장성이 반드시 필요한 다양한 활용 사례를 지원합니다. Apache Kafka는 특정 애플리케이션에서 데이터 공유를 위한 포인트 투 포인트(point-to-point) 통합의 필요성을 최소화하므로 대기 시간을 밀리초 단위로 줄일 수 있습니다. 그러면 사용자는 더 신속하게 데이터를 이용할 수 있으므로, IT 운영과 전자상거래와 같은 실시간 데이터 가용성이 필요한 활용 사례에 유용할 수 있습니다.

Apache Kafka는 초당 수백만 개의 데이터 포인트를 처리할 수 있으므로 빅데이터 과제에 매우 적합합니다. 그러나 Kafka는 그러한 대용량 데이터를 처리하지 않는 기업의 경우에도 합리적인 선택이 될 수 있습니다. 사물인터넷( IoT) 및 소셜 미디어와 같은 여러 데이터 처리 활용 사례의 경우, 데이터는 기하급수적으로 늘어나고 있으며 현재 데이터 볼륨을 기반으로 구축하고 있는 애플리케이션에 빠르게 부담을 가중시킬 수 있습니다. 데이터 처리의 경우, 데이터 급증에 대비해 확장성을 고려해야 합니다.

 

IT 운영 팀

IT 운영의 핵심은 데이터와 관련되어 있습니다. IT 운영팀은 데이터에 빠르게 액세스해야 합니다. 이는 웹 사이트, 애플리케이션 및 시스템이 항상 가동되고 성능을 발휘하도록 하는 유일한 방법입니다. Apache Kafka는 모니터링, 알림 및 보고와 같은 다양한 소스의 데이터 수집, 로그 관리, 웹 사이트 활동 트래킹에 의존하는 IT 운영팀의 직무 수행에 매우 적합합니다.

IoT(사물 인터넷)

Gartner는 2020년까지 200억 대 이상의 기기가 IoT에 포함될 것이라고 전망합니다. IoT의 가치는 이처럼 다양한 센서가 생성하는 유용한 데이터에 있습니다. Apache Kafka는 IoT에서 생성될 것으로 예상되는 대규모 데이터를 처리할 수 있도록 확장성을 염두에 두고 설계되었습니다.

전자상거래

전자상거래 분야에서는 Apache Kafka를 활용해 더 많은 기회를 확보할 수 있습니다. 페이지 클릭, 좋아요, 검색, 주문, 장바구니 및 재고와 같은 데이터를 처리할 수 있기 때문입니다.

쿠버네티스는 Apache Kafka에 이상적인 플랫폼입니다. 개발자들이 Kafka 애플리케이션을 호스팅하려면 확장 가능한 플랫폼이 있어야 하는데, 쿠버네티스가 바로 그 답입니다.

Apache Kafka와 같이 쿠버네티스는 개발 프로세스를 더욱 민첩하게 만듭니다. Google의 클라우드 서비스 지원 기술인 쿠버네티스는 컨테이너화된 애플리케이션을 관리하기 위한 오픈소스 시스템이며, 컨테이너와 관련된 많은 수동 프로세스 작업 부분을 제거합니다. 쿠버네티스에서 Apache Kafka를 사용하면 Apache Kafka 배포, 구성, 관리 및 사용을 간소화할 수 있습니다.

Kafka와 쿠버네티스를 결합하면 Kafka의 이점을 모두 얻는 동시에 쿠버네티스의 확장성과 고가용성, 이식성 및 배포 편의성 장점도 활용할 수 있습니다.

쿠버네티스의 확장성은 Kafka를 자연스럽게 보완해줍니다. 쿠버네티스에서 간단한 명령만으로 리소스를 스케일 업/스케일 다운하거나, 필요한 경우 사용량에 따라 자동으로 확장/축소하여 컴퓨팅, 네트워킹 및 스토리지 인프라를 최대한으로 활용할 수 있습니다. 이러한 기능을 통해 Apache Kafka는 다른 애플리케이션과 제한된 리소스 풀을 공유할 수 있습니다. 쿠버네티스는 또한 인프라 제공업체 및 운영 체제 전반에서 Apache Kafka에 이식성을 제공합니다. 쿠버네티스를 활용하면 Apache Kafka 클러스터는 현장을 비롯한 퍼블릭, 프라이빗 또는 하이브리드 클라우드 전반에 걸쳐 다른 운영 체제를 사용할 수 있습니다.

무료로 Kafka 사용해 보기

스트리밍 기반 애플리케이션을 위한 완전 호스팅 및 관리형 Kafka 서비스인 Red Hat OpenShift Streams for Apache Kafka를 사용해 보세요.

추가 자료

문서

통합이란?

통합에 대해 알고 싶으신가요? 통합의 정의와 통합 방법, 오픈소스로 통합하는 것이 훨씬 효율적인 이유 등을 알아보세요.

문서

Apache Kafka란 무엇일까요?

Apache Kafka는 실시간으로 기록 스트림을 게시, 구독, 저장 및 처리할 수 있는 분산 데이터 스트리밍 플랫폼입니다.

문서

API란?

API는 애플리케이션 소프트웨어를 구축하고 통합하기 위한 정의 및 프로토콜 세트인 애플리케이션 프로그래밍 인터페이스(Application Programming Interface)를 뜻합니다.

통합에 대한 자세한 내용

제품

배포 및 애플리케이션 개발을 가속화합니다.

비즈니스를 혁신하고 끊임없이 변화하는 시장의 요구 사항을 충족하세요.

하이브리드 클라우드 경험을 간편화하고 클라우드 네이티브 애플리케이션 배포의 운영 비용과 복잡성을 줄입니다.

리소스

E-book

애자일 인프라의 생성과 기업의 적응력 향상

교육

무료 교육 과정

Red Hat 애자일 인테그레이션 기술 개요