KubeCon 장소 야외 공간에는 스폰서인 Amazon과 Google이 제공하는 휴식공간이 있습니다. 햇빛이 강한데도 그다지 덥지 않은 편이고, 음료도 무료로 제공되어서 잠깐씩 쉬는 것도 좋았던 것 같습니다.

google-lounge

< Google 휴게 공간의 대형 체스판 >


FaaS is Not Only the Serverless

이 세션은 일본 NTT Communiation에서 쿠버네티스 기반으로 영상통화 서비스를 개발하면서, 이를 확장 가능한 플랫폼으로 개발하여 공개하게된 것을 설명하는 세션이었습니다.

기존의 영상통화 서비스들 대부분은 기기간 실시간 스트리밍 정도의 기술을 요구하는 것이 대부분이었고, 약간의 부가적인 서비스가 있더라도 로컬 머신에서 충분히 처리가능한 정도였습니다. 그래서 대부분의 이런 서비스들은 WebRTC를 사용하여 중간에 서버의 개입없이 두 사용자 클라이언트를 연결된 경우가 대부분이었습니다. 하지만, 점차 기술이 발전하면서 AR, 실시간 번역 등 로컬 머신에서는 처리하기 힘든 부가적인 서비스가 요구하기 시작하였고, 이를 서비스하기 위해 클라우드 컴퓨팅이 꼭 필요했습니다.

그래서, NTT에서는 이를 처리하기 위해 쿠버네티스와 컨테이너를 클라우드 컴퓨팅에 도입했습니다. 먼저, 서비스에 접속하는 사용자 세션이 생성되면, 각각을 위한 컨테이너를 자동으로 생성하여 할당하는 방식으로 설계를 했습니다. 이를 통해, 자동으로 불필요한 리소스가 항상 할당되는 것을 방지할 수 있었습니다. 또한, 사용자의 세션을 지속적으로 모니터링해서 세션이 끊어질 때 자동으로 컨테이너를 제거하여 효율을 높였습니다. 마지막으로 이를 쉽게 구현가능한 플랫폼 형태로 공개를 하였습니다.

아직 초기단계의 플랫폼이지만 쉽게 리소스 유동적인 클라우드 서비스를 구현할 수 있을 것 같아서 큰 흥미가 있었습니다.

Media line factory: https://webrtc.ecl.ntt.com/m-pipe/en

바르셀로나 시내 탐방

셋째날 오후에는 조금 시간이 있어서 바르셀로나 시내를 구경하기도 했습니다. 5월이라 햇빛이 강한데도 별로 덥지 않아서 많이 걷기 좋은 날씨였던 것 같습니다.

먼저 갔던 것은 보케리아 시장입니다. 식재료를 비롯해서 다양한 먹을거리를 파는 시장이었는데요. 바르셀로나의 명물 츄러스나 다양한 해산물, 튀김, 쥬스 등을 보는 것만으로도 배불러졌던 것 같습니다. 이어서 바로 옆에 있는 카탈루냐 광장으로 향했는데요. 상당히 넓고 인상적인 조형물들이 많았습니다. 특히 비둘기가 상당히 많아서 비둘기를 밟지 않게 조심스럽게 걸어야하기도 했습니다.

google-lounge

< 보케리아 시장의 명물 츄러스 >


Chaos Debugging

Solo에서 개발한 마이크로 서비스에서의 디버깅 툴들에 대해 소개한 세션입니다.

마이크로 서비스 아키텍쳐의 유행으로 현대 대규모 서비스들은 대부분 해당 아키텍쳐를 따라 설계되고 운영되고 있습니다. 그런데 이런 아키텍쳐에서는 필연적으로 각각의 서비스들간 결합도가 증가할 수 밖에 없는데요. 그래서, 에러가 하나 발생해도 어떤 마이크로 서비스에서 어떤 문제로 발생했는지 파악하기 힘들며, 때로는 마이크로 서비스간의 유기적인 관계 그 자체 때문에 발생하는 경우도 있습니다. 그래서, Solo에서는 이를 해결하기 위해 Squash, Loop, GlooShot 라는 세가지 툴을 개발했다고 소개했습니다.

Squash는 쿠버네티스 상에서 각각의 pod에서 수행되는 작업마다 브레이킹 포인트를 따로 지정하여 디버깅이 가능하도록 돕습니다. 이를 활용해 이전에 하나의 프로세스만 디버깅 가능하던 툴로는 불가능한 마이크로 서비스 전체의 디버깅이 가능합니다. Loop는 현재 실행중인 쿠버네티스 pod의 리퀘스트 및 로그들을 외부에서 안정적으로 로깅하기위한 툴이며, GlooShot은 카오스 엔지니어링 상황에서의 에러를 발견하기 위한 탐색 툴입니다. 아직 정식 서비스하는 것은 아니지만 결합도가 다소 높은 상황에서 안정적으로 디버깅이 가능한 툴이라는 생각이 들었습니다.

마치며

휴학후에는 다른 공부를 하느라 바쁘기도 하였고, KubeCon 전에는 시간이 빠듯해서 공부를 많이 하지 못하고 갔다오게 되었습니다. 그래서 세션을 듣는 것이 상당히 버거워서 기회와 기간에 비해 많은 지식을 습득하지는 못했던 것 같습니다. 조금이라도 더 준비해서 갔다왔으면 더 많은 걸 배우지 않았을까 싶어상당히 아쉽습니다. 그래도 한편으로는 쿠버네티스에 대한 사람들의 관심과 트렌드에 대해서 어느정도나마 느껴볼 수 있었던 것 같습니다.

특히, 쿠버네티스를 이용해 개발한 자사의 서비스나 플랫폼을 오픈소스로 공개한 경우를 많이 볼 수 있었는데요. 기업들에서 어떤 목적으로 자사 서비스를 오픈소스로 공개하는지에 대해서 조금 의문이기도 했습니다. 오픈소스로 수익을 어떻게 낼까에 대한 고민을 하게된 것 같습니다.