Kubecon + CloudNativeCon 2018 North America, Seattle

Kubecon + CloudNativeCon 2018

행사 소개

필자는 12월 10일부터 13일까지 4일간, 시애틀의 워싱턴 컨벤션 센터(Washington State Convention Center)에서 열린 Kubecon + CloudNativeCon North America 2018 행사에 참석했습니다. Kubecon + CloudNativeCon은 Cloud Native Computing Foundation(이하 CNCF)에서 주관하며, Kubernetes 오픈소스 기술을 사용하는 사람들이 모여서 Kubernetes 프로젝트 및 관련 프로젝트의 현황을 공유하고 정보를 나누는 행사입니다.
지난 2015년 샌프란시스코에서 500여명의 참석자가 참관한 행사가, 올해는 8000명을 넘어섰을 정도로 큰 행사가 되었습니다. 그만큼 Kubernetes 의 위상이 높아졌다고 볼 수 있겠죠.

KubeCon + CloudNativeCon Attendance KubeCon + CloudNativeCon Attendance

※ Kubernetes 란?
Kubernetes 는 컨테이너화된 어플리케이션을 관리하고 스케일링, 배포를 자동화 해주는 오픈소스 시스템입니다. 영어로 간단하게 표현하면 Container Orchestration System 이죠. 컨테이너로는 대부분 Docker를 많이 사용하고 있으며, 좀 더 상세한 내용은 아래 링크를 확인하시길 바랍니다.
- 초보자를 위한 Kubernetes 소개
- What is Kubernetes?

KubeCon + CloudNativeCon North America 2018 현장 KubeCon + CloudNativeCon North America 2018 현장

컨퍼런스는 4일간 다음과 같은 일정으로 진행되었습니다. 12월 10일에는 Co-located events 가 열렸고, 공식적인 행사는 12월 11일의 Keynote 부터 시작되었습니다. 총 300여 개가 넘는 세션과 100개 가까이 되는 전시부스 등으로 구성되어, 역대 최대의 KubeCon 행사임을 느낄 수 있었습니다.

Conference Agenda Conference Agenda

CNCF Project in Keynote

Graduated Projects

CNCF Project는 Cloud Native 환경에서의 풀스택 오픈소스 컴포넌트들을 말하며, 다음과 같은 기준으로 프로젝트를 레벨링하고 있습니다. Innovator가 사용하는 단계를 Sandbox, Early Adopter가 사용하는 단계를 Incubating, 캐즘을 넘어서서 많은 사람들이 사용하게 되는 단계를 Graduated 로 구분하고 있습니다.

Project Services and Maturity Levels Project Services and Maturity Levels

지난 3월 Kubernetes를 시작으로 8월에는 Prometheus, 11월에 envoy까지 포함하여 올해는 3개의 오픈소스 프로젝트가 Graduated 프로젝트가 되었습니다.

- Kubernetes (https://kubernets.io)
: 지난 3월 GitHub 기준 150만 개의 프로젝트 중, Kubernetes 프로젝트는 No.9 commit, No.2 authors/issues 를 기록하였고 Uber, New York Times, eBay 외 많은 회사들은 이미 Kubernetes를 운영환경에서 적용해 사용하고 있습니다.
- Prometheus (https://prometheus.io/)
: Prometheus 는 오픈소스 시스템 모니터링 및 알림 toolkit으로, 시계열 데이터를 저장하고 활용하는데 특화된 Database를 지원하고 있습니다. 2012년 공개된 이후 많은 회사에서 적용해 사용하고 있습니다.
- envoy (https://www.envoyproxy.io/)
: envoy는 Lyft 사에서 개발하였으며 Cloud Native 어플리케이션을 지원하기 위한 오픈소스 서비스 프록시입니다. 마이크로 서비스 아키텍처 환경에서는 서비스 간 연결이 복잡해지기 마련이고 그로 인해 많은 문제가 발생하게 됩니다. 그러나 서비스마다 envoy와 같은 프록시를 넣음으로써 서비스로 오가는 트래픽을 네트워크 단에서 통제하여 문제를 해결할 수 있습니다.

Graduated Projects Graduated Projects

Incubating Projects

현재 Incubating 단계에 있는 프로젝트는 fluentd, gRPC, Jaeger 등 많은 프로젝트가 있습니다. 최근에는 Kubernetes 패키지 매니저인 Helm 과 컨테이너 이미지 저장소인 Harbor 가 Incubating 프로젝트로 합류했습니다.

Incubating Projects Incubating Projects

참석 세션들

필자는 Cloud Engineer 가 아닌 Developer 이기 때문에 주로 개발자 관점에서 Cloud Native 한 개발을 어떻게 하는지 보여주는 세션과, 개인적으로 관심 있는 CI/CD 관련 세션들 위주로 참석했습니다. 그리고 이름만 들어도 알만한 많은 기업인들이 자신들의 경험을 공유해주었습니다.

Migrating Jenkins to Kubernetes Broke Our Brains, SAP

해당 세션에서는 SAP 에서 기존에 사용하던 Jenkins based build 시스템을, VM+Chef 환경에서 Kubernetes 기반으로 마이그레이션한 경험을 공유해주었습니다. kubeadm 을 사용하여 solid cluster를 구성하고 helm chart 와 shell script를 사용하여 jenkins 를 running 시켰는데, 각 단계를 진행할 때마다 부딪혔던 문제점들을 하나하나 어떻게 해결했는지, 재치 있는 농담과 함께 이야기 해주어서 참석자들 반응이 매우 좋았습니다.

Migrating Jenkins to Kubernetes Broke Our Brains, SAP Migrating Jenkins to Kubernetes Broke Our Brains, SAP

Monolith to Microservice: Pitchforks Not Included, GitLab

GitLab에서는 자신들의 Monolith 시스템을 어떻게 Kubernetes 기반의 Microservice 로 바꾸었는지에 대한 경험을 공유해주었습니다. 기존의 프로덕트 개발과 고객에게 제공하는 서비스를 유지하면서 어떻게 Microservice로 변경할 수 있었는지에 대한 내용이었는데, 레이스에 참가한 자동차가 pit에 들어가지 않고 고치는 것에 비유한 점이 재미있었습니다.

Monolith to Microservice: Pitchforks Not Included, GitLab Monolith to Microservice: Pitchforks Not Included, GitLab

Intro: Helm

Helm Intro 세션에서는 Helm 프로젝트의 Maintainerd 중 한 명이자, SDS의 미주연구소인 SDSRA의 Cloud Native Computing Team 소속의 Matt Farina 가 프리젠터로 나왔습니다. Kubernetes 패키지 매니저인 Helm 에 대한 기본적인 내용과 함께, 현재 Helm3까지 개발이 진행된 Helm의 역사와 미래 방향에 대해서 이야기를 들을 수 있었습니다.

Intro: Helm Intro: Helm

Hands on Labs

필자는 두 개의 Hand on Lab에도 참석했습니다.

Streamlining Your Kubernetes Application Development with Draft & Brigade, Microsoft

해당 Hand on Lab에서는 개발자가 Kubernetes를 몰라도, Draft 와 Brigade를 이용해 어떻게 자신의 어플리케이션을 클라우드 환경에서 실행되게 할 수 있는지 실습했습니다. ( https://github.com/deislabs/draft-brigade-workshop )

Streamlining Your Kubernetes Application Development with Draft & Brigade Streamlining Your Kubernetes Application Development with Draft & Brigade

Build Your Next App With Kubernetes + Istio, IBM

또 요즘 핫한 Istio에 대해, Istio 가 나오게 된 배경과 기능에 대한 설명을 들었습니다. 더불어 실제로 Istio를 활용해 간단한 어플리케이션을 실행하는 실습을 진행했습니다. ( https://istio101.gitbook.io/lab/workshop )

Build Your Next App With Kubernetes + Istio Build Your Next App With Kubernetes + Istio

참관 후기

IT 서비스를 제공하는 많은 회사들은 이미 자신들의 운영 환경에 Kubernetes를 적용했습니다. 또한 Google, AWS, IBM, SAP, Oracle 등 많은 기업들은 기존의 IT서비스를 제공하는 회사에게 자신들의 클라우드 환경으로 IT서비스를 이전하라는 손짓을 하고 있죠. 게다가 너도나도 하이브리드 스택을 내세우며, 기존에 다른 클라우드 환경에 있던 어플리케이션들을 손쉽게 자신들의 클라우드 환경으로 옮길 수 있음을 어필하고 있습니다.
이제 IT서비스를 제공하는 업체에게 Cloud Native Application 개발과 서비스 제공은 기본이 되었습니다. 본 행사를 통해 그 중심에 Kubernetes가 있음을 확실히 알 수 있었습니다.

필자는 개발자로서 어떻게 기존에 개발하던 방법을 Cloud Native 하게 바꿀 수 있을지, 그리고 또 실제 빌드/배포/운영 환경을 어떻게 Cloud Base 로 바꿀 수 있을지 많은 고민이 생겼습니다. 하지만 모르는 게 많다는 건, 백지 상태이기 때문에 어떤 그림이든 그릴 수 있다는 것 아닐까요?
앞으로 더 나아지는 필자, 또 여러분이 되길 바라면서 Kubecon+CloudNativeCon North America 2018 참관 후기를 마칩니다.

※ 모든 세션은 하기 링크에서 영상으로 확인하실 수 있습니다.
https://www.youtube.com/playlist?list=PLj6h78yzYM2PZf9eA7bhWnIh_mK1vyOfU



▶   해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 기고자에 저작권이 있습니다.
▶   해당 콘텐츠는 사전 동의없이 2차 가공 및 영리적인 이용을 금하고 있습니다.

이병무 책임
이병무 책임 클라우드 전문가
삼성SDS 개발실

이병무 책임은 금융, CRM, MIS 등 다양한 시스템을 개발해온 개발자로 최근에는 부서 내 Cloud 부문 기술리더 역할을 맡고 있습니다. 현재 시애틀 삼성SDS 미주연구소(SDSRA) Cloud Native Computing Team에서 Global Exchange Program 파견 근무 중입니다.

구독하기

인사이트 리포트 소식을 메일로 받아보세요