brunch

You can make anything
by writing

C.S.Lewis

by 백명석 Apr 22. 2017

Adrian Cockcroft와 함께한 1시간의 Q&A

어제 Adrian Cockcroft(AWS VP, Netflix Cloud Architect - https://www.linkedin.com/in/adriancockcroft/)가 우리 회사를 방문해서 1시간 동안 Q&A를 했다.


본인 소개, 왜 AWS로 이직했는지, AWS에서 본인의 역할은 무엇인지 등으로 대화가 시작되었다.


Netflix에 있을 때 외부인들을 대상으로 짧게 가끔씩 어떻게 Cloud로 전환했는지 등에 대해 소개하는 일을 하다가 그 일을 메인으로 하기로 결정을 하고 Battery Ventures라는 VC를 거쳐 현재 AWS로 이직을 했다고 하셨다. 

AWS에서는 50% 시간은 세계를 여행하여 AWS Summit에서 발표를 하시고, 오픈소스 커뮤니티 관계 관리(요즘 http://mxnet.io에 관심을 가지고 계시다고), 고객사들이 AWS를 잘 사용할 수 있도록 지원하는 일 등을 하신다고 하셨다.


Legacy를 어떻게 개선하나 ? 할일이 계속 발생하는데...(매출을 위해 계속 변경을 해야는데 ㅠㅠ)
MSA로 분리를 하는 순간에도 Legacy에 분리해야 할 새로운 코드가 지속적으로 추가되는데...
Netflix에서는 어떻게 했나 ?

라는 질문을 했다.


그 답은 아래와 같다.


- Legacy를 1,2년에 걸쳐서 cloud(MSA)로 이관

- 처음 1년은 front, 다음 1년은 backend

    - front: web application을 의미. monolithic web application을 MSA로 전환했다고

    - backend: DB를 의미. oracle을 dynamodb + cassandra로 이관했다고

- 일부 업무씩 freezing하면서 진행. netflix도 java + oracle monolithic으로 되어 있었다고 함.

    - freezing 동안에 PM(Product Manager, 요구사항을 내는 기획자 일 듯)은 다른 일을 시켰다고 함. 

    - 이게 우리 회사에서도 가능하다면 권장한다고 함

- 쉬운 것(채용 페이지 -> 가장 적게 사용되는 비디오 컨텐츠가 있는 페이즈 ... -> 로그인)부터 시작해서 점점 어려운 것들로 진행. "simplest(page, table) first"

- cookie 정보를 활용해서 redirect, routing을 해서 legacy와 new(cloud) 시스템으로 분기시켰다고

    - 처음엔 redirect하다가 후에 legacy, new 위에 proxy를 두었다고 함

    - proxy를 제안한다고. proxy를 두면 Fake API 서버를 먼저 제공해서 client와 API 서버를 동시에 개발할 수 있다고...


새로운 기능이 추가되어 가치를 제공하는 것도 아니었을텐데 어떻게 이런 마이그레이션을 추진, 진행할 수 있나 ?
(엄청난 지원이 아니면 불가할 것 같은데...)

라고 질문했고

DB 용량의 한계가 연말로 예상되어서 안 할 수 없는 생존의 문제였다.

라는 답변을 받았다. ㅠㅠ


그리고 이런 조언을 해 주셨다.

개발자들이여 transaction, join, update는 잊고
idempotent, event sourcing, CQRS, immutable 등에 익숙해져라

Cloud(AWS)를 통해 Monolithic Application을 MSA로 전환하는 것을 아래와 같이 요약해 주셨다.

전통적 구조
- 특화된 팀(서버, 프론트, DB, SE, NW 등)이 분화되어 티켓 기반으로 작업
- 한번에 모아서 한번에 반영

에서

Cell 조직화(작은)되어야 함
- 자체적으로 모든 일을 완결적으로 다른 부서에 영향을 주지 않고 할 수 있는 작은 Micro Service 팀
- DevOps 

적어도 60은 넘어 보이시는 분이 내가 최근에 공부해서 겨우 알고 있는 용어들을 술술 구사하시고, 매우 구체적인 질문에도 바로 바로 답을 주셨습니다.


Netflix에서 Monolithic -> Cloud(MSA)로 마이그레이션 한 사례를 구체적으로 알려줄 수 있을 것 같다는 생각이 들었고, 그런 교육이 있다면 꼭 참석하고 싶다는 생각이 들었다.


그리고 지금 우리가 취하고 있는 방법이 Adrian이 말씀해 주신 방법과 꽤 비슷하다고 생각했다. AWS, Dynamodb까지는 아직 아니지만 Legacy를 MSA로 마이그레이션하는 절차 등에 대해서는...


마지막으로 인증샷 ^^


작가의 이전글 다시 만들면 잘 만들 수 있다.
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari