Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.

KubeCon + CloudNativeCon North America 2019 참석기

지난 11월 19~21일까지 미국 샌디에고에서 열린 KubeCon + CloudNativeCon에 참석하고 왔다. 이는 GitHub Universe를 들렸다가 샌프란시스코에서 샌디에고로 넘어가서 참석했고 샌디에고는 처음 가보는 도시였는데 샌프란시스코가 관광지 같은 느낌이었으면 샌디에고는 훨씬 조용하고 편안해 보이는 도시라서 맘에 들었다. 안전하기도 했고...

KubeCon을 참여하게 된 계기를 설명하자면 매년 해외 콘퍼런스를 하나씩은 가려고 하고 있어서 올해는 어떤 콘퍼런스를 갈지 고민하던 중에 올해는 본격적으로 SRE로 일하면서 인프라를 더 깊게 보면서 커리어를 쌓을 생각이었고 이제 인프라를 하면서 Kubernetes를 빼고 얘기하기는 어려웠기 때문에 KubeCon을 가봐야겠다고 생각을 했다. 얼리버드 티켓을 산 건 여름 정도였던 것 같은데 당시에는 회사 업무를 하면서 Kubernetes를 올해 한창 공부하고 어느 정도 이해하고 있을 때 KubeCon을 한번 갔다 오면 딱 좋겠다고 생각했다. 하지만 계획처럼 되지 않아서 회사에서 인프라보다 다른 쪽에 시간을 대부분 쓰게 되었고 Kubernetes를 구경만 하고 있을 뿐이지 전혀 공부를 못한 채로 갔다 왔다. 아는 만큼 보인다고 Kuberentes를 잘 알지 못한 채로 KubeCon을 갔다 오게 된 것은 개인적으로 꽤 아쉬운 부분이다.

KubeCon + CloudNativeCon은 CNCF에서 주최하는 콘퍼런스로 Kubernetes를 포함해서 CNCF의 프로젝트에 관해 얘기하는 콘퍼런스다. 콘퍼런스는 총 3일간 열리고 콘퍼런스 전날은 수많은 워크숍이 열렸다.

샌디에고 컨벤션 센터

KubeCon은 샌디에고 컨벤션 센터에서 열렸는데 가보니 꽤 큰 장소였다. 다운타운에 숙소를 잡기는 했지만 컨벤션 센터에서는 거리가 좀 있는 편이었는데 동네가 안전한 것 같아서 대부분은 그냥 걸어 다녔다. 우버 타기도 좀 애매한 거리라서...

배지 픽업 장소

주말부터도 배지를 발급받을 수 있도록 지원했는데 난 컨벤션센터에 가서 받았지만, 안내에는 공항에서도 배지 픽업 장소가 있어서 컨벤션센터에 오지 않아도 바로 배지를 발급받을 수 있는 것으로 보였다. 안내 직원만 있고 직접 태블릿에 정보를 입력하고 배지를 출력해서 가져갈 수 있게 되어 있다.

KubeCon의 스폰서 목록

행사의 규모를 알 수 있을 만큼 엄청난 수의 스폰서 목록이 보였다. 이쯤 되면 인프라 쪽으로 뭔가 하려는데 여기에 안 끼면 안될 것 같은 분위기가 아닌가 싶다. 지난주 GitHub Universe를 참가하다가 회사에 급한 일이 있어서 계속 업무를 했는데 약간은 마무리가 되고 있어서 내 바람은 KubeCon 전까지만 해결되었으면 하는 게 바램이었다. 그래서 주말에는 카페를 이용하다가 배지 받은 다음부터는 컨벤션 센터의 인터넷이 괜찮길래 컨벤션 센터에서 콘퍼런스콜을 하고 업무를 했다.

KubeCon + CloudNativeCon은 발 빠르게 세션 영상을 모두 정리해서 올려서 세션이 궁금하면 YouTube에서 볼 수 있다.

Day 1

키노트 현장

행사가 클 거라고 예상은 했지만 실제로 참가해보니 예상보다도 훨씬 컸다. 나중에 보니 12,000명 정도 규모인 것 같던데 AWS re:invent 같은 콘퍼런스는 가본 적이 없어서 내가 참석해 본 콘퍼런스 중에서는 가장 큰 규모의 행사였다. 키노트 장소도 너무 커서 공연장에 온 것처럼 압도되는 분위기였다.

회사가 아니라 재단 주도의 콘퍼런스였기 때문에 키노트에 맞춰서 새로운 걸 발표하거나 하지는 않고 Kubernetes나 커뮤니티의 성장 등에 대해서 공유하고 주요 프로젝트의 멤버들이 나와서 프로젝트를 소개하거나 하는 식으로 키노트가 진행되었다. 매일 아침과 저녁에 계속 키노트가 있었는데 대부분 비슷한 분위기였고 첫날은 CoreDNS, Vitess, Helm, Linkerd, Jaeger, Open Policy Agent 등이 나왔던 거로 기억한다.

키노트에 등장한 Helm 프로젝트

Vitess는 이때 처음 알게 된 프로젝트인데 MySQL을 수평 확장 가능하게 만든 클러스터링 시스템이다. 처음에는 이런 프로젝트가 있네 하고 생각했는데 Slack과 징동닷컴에서도 Vitess를 도입해서 잘 쓰고 있다고 해서 나만 처음 알았지 생각보다는 성숙한 프로젝트구나 싶었다. Helm은 일부러 맞추었는지 그 전주에 3.0을 릴리스했기 때문에 나와서도 3.0에 대해서 얘기했다. 3.0에서 드디어 Tiler가 없어졌다고 얘기하자 모두의 박수를 받았다.

사람이 너무 많다 보니 너무 정신없었고 부스도 많아서 둘러보는 데도 오래 걸렸다. 이틀째에 여기도 왔다고 하면서 발견한 부스도 꽤 많이 있었다. 보통 3개 트랙 정도가 있는 콘퍼런스만 다니다가 같은 시간에 20개도 넘는 세션 중에서 고르다 보니 선택 장애가 걸릴 지경이었다. 처음에는 관심 있는 기술 위주로 들어가 보다가 너무 기술 소개 세션 같은 건 나중에 문서를 보거나 혼자 해봐도 될 것 같아서 나중에는 특별히 관심 가는 SIG(special interest group)가 아니면 다른 회사의 경험이 정리된 세션을 주로 들었다.

세션이 많다 보니 장소도 아주 넓어서 쉬는 시간은 넉넉했지만, 그 큰 건물을 이쪽 끝에서 저쪽 끝으로 왔다 갔다 해야 해서 꽤 힘들었다. 둘째 날쯤 되어서야 세션에 표시된 장소를 보고 어디 있는 곳인지 알게 된 것 같다. 처음엔 지도를 보고도 어디로 가야 하는지 알 수 없었고 이를 예상했는지 곳곳에서 방향을 알려주는 스태프들이 있었다. 자신에게 물어보라는 팻말을 들고 있었다.

Airbnb Service Discovery: Past, Present, Future (Challenges of Change) - Chase Childers, Airbnb

Airbnb에서는 nervesynapse라는 프로젝트로 내부에서 구현한 서비스 디스커버리의 구조를 설명하고 Kubernetes로 옮겨 가기 위해서 변경해 간 과정을 설명했다. 각 단계에서의 문제들을 설명하면서 최종적으로는 Envoy까지 도입했고 인프라 구성을 Kubernetes 구성으로 변환할 수 있도록 kube-gen이라는 도구를 내부에서 만들어서 사용했다고 한다.

How to Backup and Restore Your Kubernetes Cluster - Annette Clewett & Dylan Murray, Red Hat

이 세션은 Kubernetes 클러스터를 통째로 백업했다가 복구하는 과정을 설명했다. Veloro 외에 Rook, Noobaa 등의 도구를 설명하면서 데모를 위해서 Kubernetes 클러스터에 Wordpress와 MySQL로 된 서비스를 띄우고 글을 작성한 뒤에 Persistent Volume까지 백업한 뒤에 서비스를 모두 제거하고 복구한 뒤에 완전히 복구되는 과정을 보여주었다.

Day 2

둘째 날 키노트도 전날과 비슷한 분위기였다. CNCF에 프로젝트가 워낙 많으니까 돌아가면서 하나씩만 나와도 키노트가 꽉 찰 만 하다. 그 외에는 Kubernetes에서 개발할 때 사용할 수 있는 tilt나 skaffold, garden등의 도구나 Ephemeral Containers 등 Kubernetes에서 디버깅하고 하는 등의 환경에 대해서 소개를 했다.

SIG에 대해서 원래는 잘 몰랐는데 가보니 정말 다양한 SIG가 있었고 CNCF 프로젝트의 CI 대시보드인 cncf.ci가 어떤 역할을 하고 SIG가 어떻게 활동하는지에 대한 내용도 있었고 Kubernetes의 릴리스 팀에서 나와서도 발표를 했다. 릴리스 팀이 따로 있다는 게 흥미로웠는데 발표자는 1년 전에 릴리스 팀에 합류해서 릴리스팀 리더로 활동하다가 지금은 다시 리더에서 물러나서 릴리스를 돕고 있다고 했다. 릴리스팀은 개발은 안 하고 릴리스만 하는 건가도 궁금했지만 프로젝트의 규모가 크다 보니 오픈소스에서도 릴리스 팀을 따로 운영하면서 프로젝트를 관리한다는 점이 Kubernetes 프로젝트의 규모를 예상케 하는 부분이었다.

Leveling Up Your CD: Unlocking Progressive Delivery on Kubernetes - Daniel Thomson & Jesse Suen

Intuit의 발표

개인적으로 가장 흥미로운 세션이었는데 Argo CD를 만든 Intuit에서 프로그레시브 딜리버리에 관해서 설명했다. 카나리 배포와 비슷하다고 할 수 있는데 Kubernetes 클러스터에서 클러스터의 일부에만 일단 배포를 하고 결과를 분석해서 이상이 없으면 배포를 점점 늘려가고 오류 등의 매트릭이 늘어서 문제가 있다고 판단되면 자동으로 롤백을 시도한다. 데모에서도 배포되는 서비스를 파란색과 노란색으로 구분해서 배포되면서 서비스가 새 버전으로 바뀌어 가는 것을 보여주면서 문제가 있으면 자동으로 롤백이 되고 이상이 없으면 점점 많이 바뀌어서 전체 서비스가 새 버전으로 바뀌는 과정을 설명했다.

오후 키노트

오후 키노트에서는 OpenTelemetry로 서비스를 관측하는 라이브 데모를 보여주고 나서 커뮤니티에서 활동을 많이 하는 사람들에게 상을 주는 시간이 있었다. 선정 기준까지는 잘 모르겠지만 Top Commiter, ambassador, Chop Wood Carry Water(이건 의미를 모르겠다)를 뽑아서 무대 위에서 상을 주는 게 재미있었다.

All-Attendee Party 장소 입구

저녁에는 All-Attendee Party가 있었는데 장소가 Gaslamp Quarter라고 표시되어 있어서 어딘가 하고 구글맵에서 검색을 해봤더니 어떤 장소가 아니라 그냥 컨벤션센터 앞의 한 블록 전체가 Gaslamp Quarter였다. 가보니 위처럼 표시해 놓고 전체 블록을 막아놓고 중간중간 천막을 쳐놓고 음식을 먹으면서 음악 등을 즐길 수 있도록 해놓았는데 이날 비가 와서 길거리에서 제대로 즐기기가 어렵고 모두 천막 안에 들어가 있어야 해서 제대로 운영되진 않았다. 나도 간단히 저녁만 해결하고 숙소로 복귀했다.

Day 3

2주나 달려서 그런지 3일 차가 되니까 너무 힘들어서 버틸 수가 없었다. 그래서 셋째 날 키노트는 빠지고 천천히 컨벤션 센터로 갔다.

스폰서 부스 장소

사진으로 다 표현이 안 되는데 상당히 큰 공간에 부스들이 모여있었고 부스가 많아서 하나씩 돌아다녀도 꽤 많은 시간이 걸렸다. 세션 장소가 부스 공간을 중심으로 나누어져 있어서 세션을 들으면 부스 공간을 계속 왔다 갔다 해야 했기에 쉬는 시간 등에 틈틈이 구경하면서 다녔다.

CNCF 프로젝트 부스

다른 공간에도 부스가 있었는데 이쪽에는 스폰서 부스 외에도 커뮤니티용 부스들이 많이 있었다. 특히 CNCF 프로젝트 부스에는 메인테이너나 프로젝트 멤버들이 있고 여기서 질문 등을 할 수 있도록 마련되어 있어서 평소에 궁금한 게 있다면(그리고 영어를 잘한다면) 아주 좋은 기회로 보인다.

CNCF SWAG 샵

CNCF SWAG 샵

한 공간에는 샵이 있어서 CNCF 프로젝트들의 티셔츠와 후드가 있었다. 꽤 많은 프로젝트의 후드와 티셔츠가 다 있어서 원하는 대로 구매할 수가 있었고 당연히 Kubernetes나 CNCF SWAG도 있었다. 나는 이런 SWAG을 좋아하기 때문에 어떤 걸 사야 할 지 한참을 고민한 뒤에 몇 벌을 구매해서 왔다. 양말이나 텀블러 같은 다른 굿즈들도 약간 있었는데 내 취향은 아니라서 따로 구매는 하지 않았다.

K3s Under the Hood: Building a Product-grade Lightweight Kubernetes Distro - Darren Shepherd

k3s에 관해 잘 모르고 들어갔는데 꽤 재밌었던 세션이다. Rancher의 공동 창업자이자 k3s를 만든 Darren Shepherd이 직접 k3s에 대해 설명했다. k3s는 다른 도구들과 달리 Kubernetes의 로컬 개발환경이 아니라 처음부터 프로덕션용으로 만들어졌고 올해 2월에 0.1.0을 릴리스 했는데 많은 사람이 관심을 두어서 11월 19일에 1.0 GA를 릴리스할 수 있었다면서 k3s가 k8s와 어떻게 다르고 k3s에서 HA를 구성하는 방법 등을 설명했다. 다른 장소에 비해서 작은 곳에서 진행된 세션이었는데 관심이 가서 k3s도 좀 사용해 봐야겠다는 생각이 들었다.

예상보다 너무 큰 규모라서 정신이 없었지만 구경하는 재미도 쏠쏠했다. 이번 여행에서는 회사 업무가 좀 바빠서 정신이 없었던 관계로 2주 일정이 다 끝나니 체력이 고갈될 지경이었지만 영어에 대한 자극도 다시금 받으면서 즐거운 경험이었다. 보통은 이렇게 미국 오면 일정을 다 끝내고 숙소에 올 때쯤 서울에서 출근하기 시작하기 때문에 숙소 와서 슬랙으로 얘기하면서 쉬다가 자면 됐는데 지금은 미국에도 사무실이 있다 보니까 낮에도 누가 날 찾고 밤에도 누가 날 찾아서 더 정신이 없었던 것 같기는 하다.



컨퍼런스 참석 후기는 stdout.fm의 GitHub Universe 2019, Kubecon 2019 참석기 w/ outsider, anarcher, subicura 팟캐스트에서도 들을 수 있습니다.

2019/12/10 06:04 2019/12/10 06:04

GitHub Universe 2019 참석기

지난 11월 13~14일 샌프란시스코에서 열린 GitHub Universe 2019에 참석을 하고 왔다. GitHub Universe는 GitHub에서 주최하는 기술 콘퍼런스로 2015년부터 열렸고 어쩌다 보니 작년에도 참가해서 올해로 3번째 참석이다. GitHub Universe가 메인 행사고 위성 행사로 GitHub Satellite를 다른 도시에서 연중에 개최하고 있다.

GitHub Universe 입구

장소는 작년과 같은 Palace of Fine Arts에서 열려서 편안하게 갔다 올 수 있었다. 작년에도 갔다 와서 원래 올해도 Universe에 참가할 생각은 없었으나 운 좋게 티켓 할인 쿠폰도 받았고 계획하고 있던 미국 방문 일정과 시기도 겹쳐서 겸사겸사 참여하고 왔다.

첫째 날 Keynote

이번 키노트는 현 GitHub의 CEO인 Nat Friedman이 진행했다. 작년 GitHub Universe는 Microsoft에 인수되기 전이었기 때문에(발표는 났지만 인수되기 전) Microsoft에 인수된 후 첫 콘퍼런스고 Nat Friedman의 키노트도 처음이다.(그동안 다른 행사에서는 여러 번 등장했지만...) 많은 사람이 걱정했던 것과 달리 1년이 지난 시점에서도 GitHub에서 Microsoft의 기운은 거의 느껴지지 않고 콘퍼런스에서도 별도로 운영되는 느낌이 강했다.

키노트의 Nat Friedman

이번 키노트에서는 GitHub ActionsGitHub Packages의 베타가 풀리고 아무나 사용할 수 있게 되었다. GitHub Actions는 작년 GitHub Universe에서 발표되었는데 HCL로 운영되다가 중간에 YAML로 바뀌고 CI 외에 CD 기능까지 추가되었다. GitHub Packages는 npm, Docker, Maven, RubyGems 등 패키지 레지스트리 기능인데 둘 다 기능은 다 공개되어있었고 이번에 베타를 떼고 누구나 이용할 수 있게 된 거라 큰 감흥은 없었다. 이번에 열린다는 것이 예고되기도 했고...

키노트에서 GitHub for Mobiles 발표

가장 인상적인 발표는 드디어 GitHub에서 직접 모바일 앱을 만들었다는 것이다. 그동안 서드 파티 앱은 많이 있었지만, 항상 기능이 불만이었는데 공식 앱이 내년에 출시될 예정이다. 발표하면서 바로 베타 신청을 받았는데 iOS는 Testflight로 베타를 사용할 수 있게 되었고 Android 앱은 아직은 써볼 방법은 없고 베타게 대기 리스트에 신청을 해두어야 한다. iOS 베타 신청하자마자 바로 초대 메일이 와서 모두에게 열어주나 했는데 나중에 신청한 사람은 아직 못 받았다고 하니 선착순으로 열어 준 것으로 보인다. 나중에 기회가 되면 앱 소개도 하겠지만 앱 퀄리티가 상당히 좋고 GitHub의 기능 대부분이 들어가 있다. 어떤 스택으로 만들었나 궁금해서 물어보니 GitHub 앱은 네이티브로 개발했다고 한다.

그 외에 노티피케이션 메뉴가 개선되어 알림이 구독 때문인지 멘션 때문인지 바로 볼 수 있고 알림 메뉴 안에서 바로 Pull Reqeust나 이슈의 내용도 열어볼 수 있다. 나는 사용할 수 있게 열려서 써보고 있는데 아직은 더 편한 듯도 하고 아닌 듯도 하고 그렇다. 코드 네비게이션도 개선되어 GitHub 사이트 내에서 코드의 정의 부분이나 참조하는 부분으로 바로 이동할 수 있게 되었고 코드 검색 등이 강화되었다.

아직 베타지만 예전에는 리뷰해야 할 Pull Reqeust 등을 확인하려고 Lambda 등으로 Slack에서 알림을 받곤 했는데 Scheduled Reminders라는 이름으로 추가되어 퍼블릭으로 열리기를 기대하고 있다.

GitHub Archive Program

아주 흥미로운 프로젝트는 GitHub Archive Program였다. 뭔가 대단한 것 같기도 하면서 어떤 의미가 있나 싶기도 했는데 요약하면 2020년 2월 2일 기준으로 GitHub의 모든 공개 저장소의 스냅샷을 저장해서 후세를 위해 보관하겠다는 프로그램이다. 북극 땅 밑 250m 아래 GitHub Arctic Code Vault 데이터 저장소에 보관하며 1,000년을 보관할 수 있는 콜드 스토리지에 저장될 예정이다. 개인적으로 이런 프로젝트는 어떻게 기획되어서 승인되는지도 궁금한 부분인데 세션 중 Archive Program에 대한 발표를 보면 업계의 유명한 학자 등이 나와서 1,000년을 위한 스토리지에 어떤 기술이 쓰였는지 공유하는 자리가 있었고 무슨 말인지 잘 이해할 수 없었지만, 저것만으로도 많은 사람의 협업이 필요하고 도전적인 접근이라는 느낌을 받았다.

첫째 날 세션

GitHub Universe에서 내가 원래 기대하는 세션 수준은 GitHub 엔지니어링 블로그같은 내용이지만 그동안 참여 경험으로 보면 GitHub Universe의 세션은 내용이 훨씬 보편적인 내용이다. GitHub을 열심히 쓰고 있다면 너무 쉬운 내용의 세션이 많이 있고 키노트 내용을 미리 공개하지 않기 때문인지 세션 제목은 추상적이지만 막상 들어가면 키노트에서 발표했던 내용의 상세 내용을 다루는(이라고 쓰지만, 실제론 그냥 기능 소개 정도인) 세션이 상당수 있다. 그래서 사실 GitHub에서 직접 발표하는 세션은 조심스럽게 고르는 편인데 그러다 낚여서 "How highly productive teams communicate using GitHub"이라는 발표에 들어갔더니 GitHub for mobile의 기능을 보여주는 세션이었다. 그래도 Octoverse의 내용을 얘기하는 패널 토의는 오픈소스의 다양한 흐름을 볼 수 있어서 좋아한다.

Guillermo의 발표

제일 좋았던 세션은 Zeit의 CEO인 Guillermo RauchBuilding and deploying modern websites and apps이었다. Guillermo는 Socket.io 때부터 너무 좋아하던 개발자기도 하고 스토킹하듯이 그동안의 행보를 추적하면서 보고 있는데 역시나 발표도 좋았다. 지금 Zeit가 만드는 프로덕트들의 흐름을 이해할 수 있도록 서버리스를 중심으로 프론트엔드 개발이 어떻게 달라지고 있는지 흐름을 설명하면서 자신이 생각하는 인사이트와 그에 따라 만든 Zeit의 제품들을 소개하는 세션이었는데 프론트엔드를 좋아하는 나로서는 아주 재미있게 들었다.

예전에 몇 번 인사한 적이 있어서 발표 끝나고 인사를 할까 하다가 질문자들이 많아서 그냥 나왔다. Guillermo는 Socket.io를 만들던 LearnBoost 시절부터 원래 넘사벽이기는 했지만 그래도 전에는 트위터나 메일로 얘기도 나누고 했었는데 그때부터 수년이 지났지만 난 아직도 Guillermo랑 영어로 하고 싶은 얘기도 제대로 못 한다는 생각이 들면서 그동안 뭐 했나 싶어서 자괴감이 들기도 했다.

행사장

GitHub Universe 행사장

Palace of Fine Arts는 꽤 넓은 장소라서 쾌적하게 둘러볼 수 있었고 작년과는 좀 다른 분위기로 꾸며져 있었다. 전체적인 규모는 작년보다 작아진 느낌이었다. 작년에는 2층까지도 부스로 꽉 차 있었지만 이번에는 2층에는 전혀 부스가 없어서 참가자 수는 정확히 모르지만, 행사 규모는 좀 작아졌다는 느낌이 들었다. 그리고 행사에서도 작년까지는 Shop의 제품도 할인해 주고 많이 사면 사은품까지 주면서 퍼주는 느낌이 있었다면 올해는 Shop도 정가를 다 봤고 별다른 사은품도 없는 느낌이었다. 음식 퀄리티도 작년에 비해서는 약해진 느낌이었다.

왜 그럴까 생각했는데 아무래도 작년까지는 GitHub을 다양한 회사가 스폰서로 들어와서 운영했다면 이번에는 Microsoft가 있어서 스폰서 수도 적어진 것 같은 느낌인데 그 탓이지 않을까 싶다. Microsoft가 예산 책정을 어떻게 하는지는 잘 모르지만...

GitHub Universe 2층의 myOctocat 부스

재밌는 이벤트로는 작년부터 등장한 myOctocat을 2층에 마련해 두고 커스텀한 Octocat을 프린트 요청하면 30분 뒤에 제작된 스티커를 받을 수 있게 한 것이다. 줄 서서 기다리다가 스티커를 만들면 되는데 꽤 다양하게 커스텀 할 수 있어서 그냥 만들고 메일로만 받았던 작년에 비하면 스티커로 주니까 훨씬 좋았다.

myOctocat에서 커스텀 출력한 스티커

이렇게 직접 만든 옥토캣을 스티커로 만들 수 있다. 한 번에 2장만 찍어준다.

GitHub Shop

입구 옆에는 오프라인 GitHub Shop이 있었다. 이번 Universe에서 처음 나온 Talking Monas도 있었고 평소랑 달리 GitHub Universe용 후드와 티셔츠도 팔고 있었다. 그리고 이번 할로윈 기념으로 나온 티셔츠도 팔아서 잽싸게 사 왔다. Talking Monas는 내 취향은 아니라서 빼고...

엔터프라이즈 리셉션

올해부터는 GitHub Korea가 생겼기 때문에 지난 10월에 열린 GitHub과 기업내 오픈소스 문화에서의 인연으로 GitHub Korea 분들과 총판인 단군소프트의 배려로 엔터프라이즈 리셉션에 참여할 수 있었고 엔터프라이즈 고객만 초대하는 이 리셉션은 GitHub 본사에서 열렸다.

GitHub HQ

GitHub 본사는 5년 전에 방문에서 구경한 적이 있었는데 그 사이에는 밋업 등으로 1층만 방문하다가 오랜만에 사무실까지 들어가 봤다. 참석자를 대상으로 투어를 시켜줬는데 이번에는 내부 사진은 찍지 못하게 했다. 1층이 거의 달라지지 않아서 몰랐는데 올라가 보니 구조가 좀 달라져 있었다.

전에 사무 공간이 2층과 3층이 있었다면 2층은 거의 달라지지 않았다. 올라가자마자 GitHub Shop이 있는 것도 똑같았고 방문자 선물이라고 해서 스티커랑 티셔츠도 하나 받아왔다. 전에 있던 3층의 사무 공간은 사라졌고 옆 건물을 사서 확장했다고 하면서 2층 사무공간을 지나면 2.5층 같은 느낌으로 계단을 올라가서 옆 건물로 갈 수 있었고 거기에도 많은 회의 공간과 업무 공간이 있었다. 기존 건물과는 인테리어 분위기를 완전히 다르게 되어 있어서 깔끔한 사무실이었고 기존 사무실과 의도적으로 대비되는 인테리어를 의도했다고 한다. 휴게실 이름이 "REST API"인 것과 해먹에 사람이 앉으면 자동으로 외부에 사람이 쓰고 있다는 표시로 바뀌는 점이 재미있었다.

엔터프라이즈 리셈셥의 주류 메뉴

리셉션이라서 술도 주는데 술의 이름을 "Yaml lead you throught Actions!", "GHES 2.19", "GitHub Security Lab" 등으로 신제품과 연결한 것도 재미있었다. 대신 시끄러운 가운데 이름이 길어서 주문할 때는 힘들었다. 어쨌든 사무실 구경도 잘하고 맛있는 것도 많이 얻어먹고 왔다.

둘째 날 Keynote

키노트에서의 Security Lab 발표

둘째 날 키노트에서는 Security Lab이 가장 큰 발표였다. 관련해서 강화된 취약점 보고 및 알림 등의 기능들 설명하고 CVE를 직접 보고하고 수정할 수 있도록 오픈소스 프로젝트의 보안을 높이기 위해 큰 노력을 하는 것이 보였다. 그리고 지난 9월 GitHub이 인수한 LGTMCodeQL을 이용하면 코드에 쿼리를 날려서 취약점을 찾거나 하는데 이용할 수 있다. 쉽게 생각하면 Lint나 정적 분석 도구처럼 코드에서 위험한 부분을 찾아내는 쿼리 도구라고 생각하면 될 것 같고 CodeQL은 오픈소스와 연구, 교육 목적으로는 무료로 사용할 수 있다고 한다.

안타깝게도 둘째 날은 키노트를 듣고 나오자마자 회사 서비스에 이슈가 생겨서 해당 문제를 디버깅하느라고 다른 세션은 하나도 듣지 못하고 종일 작업을 했다. 머리를 너무 썼는데 문제가 안 풀려서 끝나고 나올 때는 머리가 너무 아팠다. ㅠ

그래도 행사 내내 GitHub Korea와 단군소프트 분들이 너무 신경을 많이 써주셔서 맛있는 것도 많이 먹고 편하게 있다가 돌아왔다. 궁금한 것들을 물어보고 얘기하기도 편했고...

샌프란시스코에서의 시간

이번에 샌프란시스코를 갈 때는 휴가와 원격을 섞어서 갔기 때문에 콘퍼런스가 아닌 날은 원격근무를 했다. 원래 샌프란시스코를 가면 작업하던 코워킹카페가 있는데 아침에 일어가서 카페에 가니 문을 닫은 것을 알게 되었다. 장사가 잘 안 되어서 인지 폐업을 한 것 같았다. 카페에 가면 맥북 놔두고 화장실 가기도 쉽지 않고 작업할 때 신경 쓰일 일도 많고 해서 급하게 검색을 하다 보니 Covo라는 코워킹 스페이스를 찾을 수 있었다.

코워킹 스페이스 Covo

Covo가 위치도 가까웠지만 다른 코워킹스페이스와 달리 시간 단위로 결재해서 이용할 수 있어서 좋았다. 들어가면서 카드를 긁고 들어가고 나올 때 긁으면 알아서 시간이 계산되고 시간당 $4이다. 가격이 아주 싸진 않지만, 인터넷도 빠르고 공간이 좋아서 맘 편하게 이용할 수 있어서 원격할 때는 계속 여기에 있었다. 음료는 무료는 아니지만, 옆에 카페가 있어서 식사나 커피를 바로 사서 먹을 수 있었다. 담에 또 샌프란시스코에 갔을 때 없어지지 않기를 바라고 있다.

Uber HQ 사무실

마지막 날에는 올봄 Facebook F8 해커톤에서 만난 인연으로 샌프란시스코 다운타운에 있는 Uber 본사를 방문할 수 있었다. 한 건물에 Uber뿐 아니라 Uber Eats, Jump의 사무실이 다 있어서 한 바퀴 둘러보고 맥주 얻어먹으면서 샌프란시스코 동향도 듣고 왔다. 오피스 투어를 좋아하는데 최근엔 계속 혼자만 다니느라 잘 못 가다가 오랜만에 구경하러 가서 한국어로 얘기할 수 있으니까 너무 좋았다. 올해 들은 얘기가 있어서 내년에 또 놀러 가서 다른 얘기도 들어봐야겠다.

여유 있는 날은 밋업도 계속 찾아서 다녔는데 WASM에 대한 밋업인 We don't need no servers or compilers는 그냥 괜찮은 정도였다. WebAssembly는 항상 관심은 가지만 아직 현실에서 딱 어떻게 쓰겠다 하는 게 없어서 계속 관심 정도만 가지게 되는 것 같다. Uber 엔지니어링 그룹에서 운영하는 Building Infinite Lists, a Doc Site that Writes Itself and The Road to Parcel 2는 아주 재미있었는데 다른 Uber 사무실에서 열렸는데 3가지 발표가 모두 재미있었다.

Twitter에서 나와서는 트위터 타임라인의 무한 스크롤을 왜 직접 구현했고 구현하면서 어떤 문제가 있었는지를 소개했고 Uber에서는 컴포넌트 디자인 시스템이 보통 너무 많은 요소와 조건들 때문에 사용자들이 제대로 사용법을 파악하기가 어렵기 때문에 더 좋은 문서를 만들기 위해 Uber의 디자인 시스템인 Base에서 적용한 방법을 설명했다. 컴포넌트의 모든 Prop과 기능을 문서로 나열하기보다는 직접 조합하고 코드를 수정해서 원하는 버튼을 테스트해 보고 복사해서 사용할 수 있도록 만들었는데 고민이 많이 녹아있는 거로 보였고 지금 Base 웹사이트에 적용되어 있다. 마지막으로 Parcel을 만든 Adobe의 Devon Govett이 직접 나와서 현재 만들고 있는 Parcel 2를 왜 만들게 되었고 어떤 기능이 있는지 설명해 주었는데 온라인에서 보던 Devon을 직접 보고 프로젝트 설명을 들을 수 있어서 좋았다. 샌프란시스코 밋업은 이렇게 프로젝트 창시자의 발표를 직접 들을 수 있다는 점이 큰 매력인 것 같다.


컨퍼런스 참석 후기는 stdout.fm의 GitHub Universe 2019, Kubecon 2019 참석기 w/ outsider, anarcher, subicura 팟캐스트에서도 들을 수 있습니다.

2019/12/10 03:22 2019/12/10 03:22