if kakao 개발자 컨퍼런스 2019 1일차 간단 후기

story Aug 31, 2019

작년에 이어 올해도 카카오 개발자 컨퍼런스에 참가자로 선정돼서 다녀왔다. 작년과 다르게 올해는 이틀로 진행되었으며, 그 덕분에 다양하고 많은 세션이 구성되었다. 나는 첫날만 신청했고 회사의 지원으로 코엑스로 출근해서 다녀왔다. 굿즈는 작년과 비슷했다. 첫날 세션의 시간표는 다음과 같으며 내가 참석한 세션은 bold로 체크했다.

세션

11:00

  • 카카오에서 컨테이너를 사용하는 방법
  • 오픈소스 데이터베이스, 흐르는 은행 데이터에 빨대를 꽂아보다.
  • 서비스 장애를 극복하는 게임플랫폼 구축하기 (Build a fault tolerant system)
  • 리액트: 그것마저 결정해주마
  • 서버 성능테스트 Tip - 사례를 통해 얻은 교훈들

12:00

  • 클라우드를 위해 변화하고 있는 카카오 데이터센터 네트워크
  • Telemetry on K8S
  • 초당옥수수의 취소를 막아라! : 수만 건의 주문을 1초내에 처리하는 기술
  • FE 개발자가 브라우저를 확장하기
  • 컨테이너 CI/CD를 하나의 Jenkins pipeline으로으로 관리하기

14:00

  • Massive Computing in Cloud and kakao
  • Microservice에서 쏟아지는 로그를 Perl5를 사용하여 로그수집기들로 잘 보내고 활용하기
  • Practical Microservices in gRPC Go feat. GraphQL, Kafka(서포터즈 기사 개발기)
  • 프론트엔드 기술로 동료들 삶의 질 높여주기 (카카오뱅크 Fun 프로젝트 개발기)
  • 카카오뱅크 모바일앱 DevOps

15:00

  • 카카오톡 적용 사례를 통해 살펴보는 카카오 클라우드의 Kubernetes as a Service
  • Airflow를 활용하여 아름다운 데이터 파이프라인 구성하기
  • 돈이 오고가는 금융프로젝트인 펌 뱅킹 서비스에서의 코틀린 적용 사례
  • 안드로이드 빌드: 설탕 없는 세계
  • 자동화된 클라우드를 위하여

16:00

  • 클라우드 환경에서의 Serverless Service
  • 개발광고 데이터 처리 시스템 소개
  • 광고서버 연대기
  • 다음웹툰의 UX (New tab : Top)
  • 카카오 애플리케이션 모니터링 NEO

(11:00) 리액트: 그것마저 결정해주마

리액트로 개발을 할 때 개발자가 고민하는 부분에 관해 설명하고 이야기를 나누는 시간이었다. 회사에서 리액트를 만질 일이 많아지다 보니 도움이 될 거 같아서 참석했다. 주로 아래의 내용으로 세션이 진행되었다.

고민1) 컴포넌트 코드를 일관성 있게 작성하고 싶어요.
고민2) 기존 클래스형 컴포넌트를 훅으로 변경해야 할까요?
고민3) 서버사이드 렌더링을 해야할까요?
고민4) 렌더 함수 안에서 새로운 객체를 생성해도 되나요?
고민5) 리덕스를 써야하나요?
고민6) 주위에서 타입스크립트 얘기가 많이 들리는데요, 정적 타입을 도입하는 게 좋을까요?

리액트를 처음 접했을 때 누구나 고민했을 만한 주제였고 편안하게 들을 수 있어서 좋았다. 특히 리액트 훅은 클래스 컴포넌트를 대체할만한 것으로 보였고, 회사에서 한 번 도입해보자는 이야기도 나왔다. 다만 조금 깊은 고민으로 세션이 구성이 되었으면 어땠을까하고 아쉬움이 남은 세션이었다.

(12:00) 초당옥수수의 취소를 막아라! : 수만 건의 주문을 1초내에 처리하는 기술

초당옥수수라는 존재를 알 수 있었던 재밌고 좋은 세션이었다.(초당옥수수는 말 그대로 엄청나게 단 옥수수라는 뜻이다.) 카카오 커머스에서 농작물 배송지연을 구매자에게 알림톡으로 알려주는 프로세스 개선 사례에 대한 이야기였다. 기존의 레거시 코드 및 처리 속도가 문제였으며, 배송지연 안내는 실시간이 아닌 배치 작업으로 한 시간마다 구매자에게 발송되는 시스템이었다. 이를 RabbitMQ를 이용한 비동기 워커로 구성했으며, 코드 리팩토링 및 확장이 용이한 분산 처리 시스템(액터모델)으로 개선했다. 또한 자동 재처리 및 실패 감지를 파악하고 모니터링 툴을 이용해 관리할 수 있게 구성했다. 지속해서 개선하고 많이 고민을 하고 있구나라는 느낌을 받은 세션이었다.

(14:00) Microservice에서 쏟아지는 로그를 Perl5를 사용하여 로그수집기들로 잘 보내고 활용하기

마이크로 서비스로 분산되면서 쏟아지는 로그를 효율적으로 저장하고 활용하는 이야기에 대한 세션이었다. fluentd 및 Perl을 이용한 로그 컬렉터 서버를 구성하고 있었다. 특히 Perl의 강력한 유니코드 지원, Autovivification 등을 활용한 다음 메일 로그를 효율적으로 저장하고 CPAN의 parallel fork manager를 활용해 피크 타임 처리를 하는 점이 인상 깊었다.

(15:00) 자동화된 클라우드를 위하여

카카오 프라이빗 클라우드 컴퓨팅 플랫폼 Krane에 대한 세션이었다. 사내 인프라를 구성하며 겪은 문제와 경험에 대한 이야기로 구성되었으며, 짧은 시간, 많은 내용에 카카오 인프라 개발자의 우여곡절을 알 수 있었다. 특히, 우리가 생각하는 자동화에 대한 이상과 현실 그 사이 간극에 대한 주제가 좋았다. 그리고 처음에는 카카오도 개발 및 배포 프로세스에 있어 많은 휴먼 리소스가 필요했고, 점차 자동화가 되어가는 것을 세션을 통해 알 수 있었던 구성이 좋았다.

(16:00) 카카오 애플리케이션 모니터링 NEO

카카오 사내에서 사용하는 APM 툴인 NEO에 대한 세션이었다. NEO의 기능 설명과 NEO에 사용하고 있는 분산 데이터베이스 카산드라 그리고 데이터를 효율적으로 어떻게 잘 보여줄지에 대한 고민이 담겨있는 내용이었다. 특히 데이터를 표출하는 데 있어 많은 시도를 했던 점이 흥미로웠고, 나도 대학원 때 논문이나 데이터를 도표로 만들면서 어떻게 잘 보여줄까에 대한 고민을 했던 기억이 어렴풋이 떠올라 좋았다.

정리

올해에도 카카오 개발자 컨퍼런스에 참석할 수 있어 좋았고, 정말 다양한 기술 스택과 방법을 통해 개발하고 있구나라고 느낄 기회였다. 나도 자극 받아서 더 열심히 할 수 있도록 해야겠다.

cherrypick

체리픽이라는 단어 본연의 뜻은 안 좋은 의미이지만 저는 트렌디하고 많은 기술을 공부하고 내 거로 만들자는 뜻을 가지고 사용하고 있습니다.