월간 지앤선

글 이정현

사진 이정현, 한국오라클, 오라클 클라우드 블로그



2018년 5월 19일(토) 12시 30분. 

제6회 Oracle Developer Meetup 카프카(Kafka) 제대로 이해하기에 참석했다. 오랜만에 세미나 참석이라, 왠지 모르게 더욱 설레이는 마음으로 한국오라클 사무실이 있는 삼성 아셈타워 15층으로 향했다. 아셈타워는 1층에서 신분증이나 명함을 맡기고 임시출입증을 발급 받아야 한다. 엘리베이터를 타고 15층에 내리니 바로 정면에 안내데스크가 뙇! 






사진 출처 : Oracle Korea 뉴스레터,  오라클 클라우드 블로그


카프카, 데이터 플랫폼의 최강자
첫 번째 세션은 <카프카, 데이터 플랫폼의 최강자 - 고승범 저/공용준 공저>(책만)의 저자 고승범 님이 강의를 맡았다. 이 세션에서는 카프카의 등장배경, 전반적인 기술 소개부터 실무경험을 바탕으로 한 운영 팁, 툴 소개 등을 두루두루 다뤘다. 고승범 님은 현재 카카오 시스템셀 인프라팀에서 근무하고 있다. 차분한 목소리로 조심스럽게 강의를 시작한 고승범님의 강의는 시간이 지날수록 더욱 집중할 수 있는 힘이 있었다. 물론 강의 중간에 한 번씩 문제를 내고 맞춘 사람에게 책과 다양한 상품을 주는 것이 큰 역할을 한 것도 무시하지 못하지만! 


책에 담겨있는 내용들을 이해하기 쉽게 강의로 들을 수 있어 좋았다. 특히 실제로 서비스를 운영하면서 경험한 것들을 설명할 때에는 강의에 참석한 사람들의 눈이 더욱 반짝 반짝 빛났다. 프로듀서-카프카-컨슈머-쥬키퍼 구조와 개념 설명과 더불어 LAG, Partition, Consumer 등 운영하면서 주의해야 할 부분과 Kafka Manager, Burrow 등의 툴을 소개했다. 엘라스틱서치가 죽어서 로그 체크가 힘들었던 적이 있어서 운영에 카프카 도입을 고려했다고 한다. 로그 관리를 할 때는 일명 ELK(ElasticSearch, Logstash, Kibana) 구조를 사용하는 경우가 많은데, 고승범 님은 카프카를 활용할 수 있다고 했다. 카프카의 컨슈머(Consumer) 역할로 로그스태시를 사용할 수 있고 심지어 카프카에서 발생한 로그를 카프카로 전송할만큼 안전 하다고 하니 공부를 조금 해봐야겠다.

고승범 님은 "LAG개념이 매우 중요하다.", "디스크 용량이 부족할 때는 retention.hours, retention.ms를 잘 조정하라." 등 노하우를 전했다. 그리고 카프카의 장점으로 데이터 처리량이 많고 실시간 프로세싱이 가능하다는 점, 시간 데이터 처리가 가능하고 유연성과 확장성이 좋다는 점을 꼽았다. 우버, 넷플릭스, 링크드인 등이 카프카를 사용하고 있고 안정적으로 운영하는데 도움이 된다고 강조하며 적극적으로 도입해 보기를 제안했다.

강의가 끝나고 약 25분 간 QA시간이 이어졌다. "카프카의 저장 방식은 무엇인지", "컨슈머가 데이터를 어떤 방식으로 가져가는지", "데이터를 필터링하는 방법이 있는지", "메모리 관리 등 퍼포먼스 개선 영역이 있는지" 등 매우 활발하게 질의응답이 오갔다. 참가자 중 상품을 받을 때에도 "책을 달라!"며 저자와 책에 대한 높은 관심을 보이는 사람도 있었다. 운영에 필요한 여러가지 이야기와 다루기 민감한 서비스 운영 경험까지 들을 수 있는 시간이니 다음에 또 고승범 저자의 강의가 열리는지 관심을 갖기를 바란다.


저자 사인회
쉬는 시간에 강의장 밖 휴게실에서 저자 사인회가 열렸다. 책을 구매하거나, 사인을 받기 위해 사람들이 줄을 섰다. 평소에 궁금했던 것을 질문하거나 자신을 소개하는 참가자들과 한 사람, 한 사람씩 오랜시간 눈을 맞추고 이야기 나누는 고승범 님의 모습이 인상깊었다.


관리형 Kafka 서비스 - Oracle Event Hub Service
두 번째 세션에는 한국오라클 빅데이터 & Data Analytics 팀 김태완 부장님이 오라클의 클라우드의 카프카 서비스를 소개했다. "두 가지가 있는데요." 라고 이야기 하는 타이밍에 찍은 사진인데, 사진찍는 것을 알고 V를 하고 있는 것 처럼 보인다.


라클에도 Event Hub Cloud Service라는 카프카 서비스가 있다. 이 시간에는 이 서비스에 대해 소개하고 실제로 서비스를 생성, 모니터링, 운영하는 방법을 데모로 알기쉽게 보여주었다. 어떤식으로 클러스터를 생성 하는지, 사양은 어떤 것들이 있는지, 실제로 Instance를 생성할 때는 어느정도의 시간이 소요 되는지 등 실제 개발과 운영에 필요한 이야기를 차근차근 설명했다. Source, Sink를 설정하는 것만으로 데이터를 가져와서 보내는 것까지 쉽게 할 수 있는 Kafka Connect와 비슷한 기능을 오라클에서도 Connector 탭을 통해 지원할 수 있다고 한다. 또한 패치 시스템의 장점에 대해 강조했다. 패치 할 내용이 있을 때 PreTest를 통해서 사용자가 별도로 변경한 셋팅이 있으면 해당 파일을 Backup 받으라던가 어떤 처리를 하라던가 등의 안내를 해준다거나, 패치를 진행하기 직전 상태를 백업을 해서 버전 관리를 해 패치 후에 문제가 있거나 패치 중 실패할 경우 백업해 둔 버전으로 롤백이 가능해 안전하게 서비스를 운영할 수 있도록 돕는다고 한다. 

오라클 내부에서 카프카를 활용 해 로그 관리를 하다 보니 실제로 이 서비스의 발전 속도가 제일 빠르고, 오라클 클라우드의 통합 핵심 컴포넌트로 매우 중요한 의미를 갖는다고 한다. 김태완 님은 "카프카는 서비스나 메시지 처리, 클라이언트 쪽 관리에 관심을 두기보다 데이터 중심으로, 데이터를 어떻게 관리하고 저장 할까에 포커스를 맞추고 있다."고 했다. 그리고 굉장히 재미있는 데이터 저장소인 것 같다며 호감을 표시했다. 

Oracle Developer Meetup에 참여한 사람들 중 원하는 사람은 오라클 클라우드 trial credit를 받을 수 있으니 관심 있는 사람은 Meetup 신청 페이지에 항상 관심을 갖기를 바란다. 다음 Meetup은 7월에 열릴 예정이라고 한다.


참석자 간 네트워킹 & 피자 파티
두 개의 세션이 모두 끝나고 나면 언제나 다과와 함께 참석자 간에 네트워킹 시간이 있다. 오늘은 피자닷! 그러나.. 피자를 보자마자 너무나 즐거운 마음으로 씹고 뜯고 맛보느라 사진을 찍지 못했다. 서로 인사를 나누고 강의 시간 내에 하지 못했던 질문을 하는 이 시간이 Meetup에서 가장 중요한 시간이 아닐까 싶다. 강의에 대한 간략한 설문조사를 하니 선물을 주었는데 집에 와서 열어보니 뭔가 동글동글 하고 분홍분홍 한 이 것은 무엇? 처음보는 물건에 검색 신공을 펼치니 바로 마사지 볼이었다! 오랜시간 앉아서 손가락만 움직이다 보니 정말 마사지가 많이 필요한데 이 볼이 도움이 될 듯하다. 


오라클 클라우드 사용자 그룹: https://www.facebook.com/groups/koreaoraclecloud/ 

Oracle Developer Meetup 신청 : https://www.meetup.com/OracleDeveloperKR/?_locale=ko-KR