며칠 전 피터 보셀(Peter Vosshall)이라는 분이 아마존에서 21년간 근무를 마치고 은퇴하였습니다. 강산이 두 번 바뀌는 동안 아마존의 기술적 성장을 직접 주도해온 존경 받는 최고 엔지니어의 은퇴 소식에 많은 분들이 존경과 감사를 보냈습니다.
Some personal news: I’ve retired from Amazon after over 21 years. I turned in my badge and access tokens yesterday afternoon and am starting a new chapter devoted to all of the things I love but never had quite enough time for. pic.twitter.com/25yHNrNe9T
— Peter Vosshall (@PeterVosshall) February 15, 2020
Peter의 마지막 직함은 바로 Distinguished Engineer 입니다. 한국어로 적합한 직함이 존재하지 않지만, 장인(匠人) 혹은 기술 명장이라는 존경을 담은 칭호로서 다른 IT 기업에서는 펠로우(Fellow)라고 부르기도 하며, 임원 대우를 받기 때문에 개발자가 올라갈 수 있는 가장 높은 직급이라고 할 수 있습니다. Peter의 트윗을 보면 Distinguished Engineer가 하는 일을 살짝 엿볼 수 있습니다.
2004년 크리스마스 시즌에 Oracle RAC 확장 불가 문제를 해결한 초기 서비스 지향 아키텍처 설계, Dynamo라는 키-밸류 기반 NoSQL 구현을 통한 논문과 ACM 명예의 전당 수상. 2008년 아마존 최초 Distinguished Engineer가 되어 Amazon의 Principal Engineer Community를 이끈 것, 태블릿 용 클라우드 가속 브라우저(Silk)를 구축, 확장성을 위한 폭발 반경 축소 및 셀 기반 아키텍처 구현 업무 등을 할 수 있었습니다. 무엇 보다 지구상에서 가장 스마트하고 열정적인 고객 지향 엔지니어와 함께 일한 것을 매우 자랑스럽게 생각합니다.
위의 소감에서 알 수 있듯이 같이 개인적으로 회사에서 뛰어난 기술적 성취를 이룩했을 뿐 아니라 기업 내 개발자 수준을 높이는 데 공로를 세운 특별한 분들입니다. 일반적으로 글로벌 IT 회사 개발자 직급은 SDE(Software Development Engineer)라고 부르며, 3-4단계를 거쳐 Principal Engineer에 이를 수 있고, 그 중에서도 소수의 Distinguished Engineer/Fellow로 승진할 수 있습니다. 팀 매니저가 아니면서도 다른 개발자 및 매니저들에게 조언을 수행하는 혼자 자신의 업무를 주도하는 분들(Individual contributor)입니다. (매니저 트랙으로 가는 경우, SDM(Software Development Manager), Director, VP of Engineering 등의 경로로 이동합니다.)
글로벌 IT 업계에는 기술적 혜안을 가진 최고 기술 구루들이 있으며, 이 분들이 하는 트윗, 블로그 글, 발표만 보더라도 기술 세상이 어떻게 펼쳐질지 가늠하거나 새로운 기술적 통찰력을 얻을 수 있습니다. 그렇다면 아마존에는 과연 어떤 기술 구루들이 있을까요? 여기서 몇 분을 소개해 드리겠습니다.
■ 분산 컴퓨팅의 대가 – 버너 보겔스
아마존이라고 하면 개발자들이 바로 떠올리는 사람은 버너 보겔스(Werner Vogels) 아마존 최고 기술 임원(CTO)입니다. 네델란드 태생으로 코넬대 분산 컴퓨팅 연구를 하던 중, 2004년에 아마존에 입사했습니다. 앞에서 소개한 Peter Vosshall과 같이 초기 마이크로서비스 아키텍처라고 불리는 아마존 내부의 분산 서비스 지향 아키텍처를 구현했고, NoSQL의 효시라고 알려진 Dynamo라는 키-밸류 기반 데이터 베이스 논문을 발표하기도 했습니다.
2004년 시작된 아마존 웹 서비스를 직접 설계하였고, 현재 AWS의 클라우드 기술 리더쉽을 이끌고 있습니다. 2012년 방한했을 때, 제가 Daum 근무 시절 처음 뵙고 다음 내부 클라우드 기술 방향에 대한 조언을 얻기도 했습니다.
매년 개최하는 연례 AWS 개발자 행사인 AWS re:Invent에서 CEO인 앤디 제시에 이어 둘째날 기조 연설을 맡고 있을 뿐 아니 블로그를 통해 클라우드 기술 아키텍처에 대한 조언과 통찰력을 제공하고 있습니다. 보겔스 박사님이 최근 공을 들이는 분야는 바로 서버리스(Serverless) 분야입니다. 사실상 클라우드 컴퓨팅으로 가상 서버를 통해 물리적 인프라의 혁신을 만들었다면, 서버리스 컴퓨팅은 가상 서버 기반의 애플리케이션에 일대 변화를 몰고 올 수 있는 영역입니다.
2014년 발표된 AWS Lambda는 서버리스 컴퓨팅의 효시로서, 개발자들이 서버 관리 고민 없이 이벤트 기반의 애플리케이션을 쉽게 만들 수 있도록 도와 주며, 분산된 마이크로서비스 기반 아키텍처를 구성할 수 있도록 도움을 줍니다. 최근 앱 현대화라는 주제로 쓴 블로그를 통해서 미래 클라우드 아키텍처의 진화 방향을 가늠할 수 있습니다.
■ 클라우드 인프라 대가 – 제임스 해밀톤
제임스 해밀톤(James Hamilton)은 클라우드 기반의 대규모 서비스가 운용되는 전 세계 데이터 센터 설계 및 운영, 서버 하드웨어 설계 및 최적화, 스토리지 소프트웨어 및 하드웨어 시스템, 플래시 메모리, 서비스 설계 원칙, 전력 효율 및 전력 관리 등을 구현해 온 분입니다.
제임스는 IBM에서 DB2 데이터베이스 설계 및 Microsoft에서 Windows NT, Microsoft SQL Server 등 제품 아키텍트 역할을 수행했습니다. Windows Live, Exchange 서비스 서버 설계와 데이터 센터 설계에 참여하였습니다. AWS에서는 네트워킹 시스템 및 분산 소프트웨어 시스템을 통해 데이터 센터 전력 및 냉각 인프라에서 모든 구성 요소를 최적화하는 분이십니다. (그의 발표 이력 참고)
2012년 AWS re:Invent에서 가장 인기 있는 인프라 스포트라이트 세션을 진행하면서, AWS의 리전/가용 영역(AZ)을 기반한 데이터 센터 설계와 글로벌 네트워킹, 자체적인 칩셋과 랙 시스템 등에 대한 기반을 만들고 있습니다.
■ XML, JSON의 창시자 – 팀 버레이
개발자들이 가장 많이 쓰는 언어는 무엇일까요? 아마 JSON(JavaScript Object Notation)이라고 할 수 있을 것입니다. 그 전에는 HTML 같은 마크업 언어를 만들 수 있는 확장형 마크업 언어인 XML이라고 할 수 있죠. 이 두 가지를 모두 만든 창시자인 팀 버레이(Tim Bray)도 AWS에서 Distinguished Engineer로 일하고 있습니다. DEC, 선마이크로시스템즈와 구글을 거쳐 2014년에 AWS에 입사했습니다.
1996년부터 3년간 그가 주로 참여한 XML이라는 표준은 지금도 그 인기가 시들지 않고 있구요. 제가 20년전 97년 산타클라라에서 개최된 WWW 콘퍼런스에서 직접 참여했을 때 받아온 빨간 표지의 XML 0.9 스펙은 아직도 저의 보물 중 하나로 간직하고 있습니다. 그 이후에 W3C에서 표준 활동가로서 RSS를 대체하는 Atom 표준과 JSON 표준 저자로 이름을 올렸습니다.
AWS에 와서 그가 처음 한 작업은 바로 AWS Step Functions 서비스의 JSON 기반 규약을 제정하는 일이었습니다. AWS Step Functions은 앞서 말한 AWS Lambda 함수의 실행 순서나 구성을 통해 이벤트 기반 분산 애플리케이션 및 마이크로서비스 요소를 손쉽게 조정할 수 있습니다. AWS Lambda 함수 뿐만 아니라 Amazon EC2 및 Amazon ECS와 같은 가상 서버 및 콘테이너 기반 마이크로 서비스에서 활용 가능합니다.
이를 기반으로 이벤트 중심 아키텍처를 좀 더 쉽게 구현하고 운영 할 수 있도록 서비스와 도구에 집중하고 있습니다. 클라우드 서비스에서 발생하는 각종 이벤트를 핸들링하면서 좀 더 느슨한 분산 아키텍처를 구현하는 방법에 대해 찾고 있습니다. (AWS re:Invent 2019 발표 동영상 참고)
■ 넷플릭스 클라우드 아키텍터 – 아드리안 코크로프트
아드리안 코크로프트(Adrian Cockcroft)는 클라우드 아키텍트의 전설로 불리는 분입니다. 그는 1982년 소프트웨어 개발자로 시작해서 선마이크로시스템에서 자바의 아버지 제임스 고슬링과 거의 동시기에 16년간 수석 엔지니어로 일했습니다. 이베이를 거쳐 넷플릭스에서 온라인 동영상 서비스를 시작하던 무렵, 오늘날 마이크로서비스라 불리는 SOA 기반의 분산 클라우드 기반 아키텍처를 구성하였습니다.
넷플릭스가 성장함에 따라 클라우드 기반의 장애 요소를 최소화 할 수 있는 복원력 높은 방법론과 운영 도구들을 개발하였으며, 이를 NetflixOSS라는 이름으로 외부에 오픈 소스로 공개하고 전파하는 일에도 앞장섰습니다. AWS 입사 전에는 배터리 벤처스에서 넷플릭스처럼 성장하고자 하는 스타트업이 어떻게 클라우드 기반 애플리케이션을 효율적으로 만들 수 있는 지 조언하는 역할을 맡았고, 이 과정에서 클라우드와 콘테이너 기반 마이크로서비스 대한 왕성한 강연 활동을 하기도 했습니다.
AWS 클라우드 아키텍트 전략 담당 부사장으로 입사한 이후, 아마존과 오픈 소스 커뮤니티 협업을 위한 가교 역할을 시작했습니다. AWS 클라우드는 개발자들이 직접 다양한 오픈 소스 소프트웨어를 선택할 수 있을 뿐 아니라 관리형 서비스로도 제공을 하고 있습니다. 이에 더 나아가 아마존 개발자들의 외부 소스 공헌을 돕고, 클라우드 네이티브 기반 오픈 소스와 커뮤니티를 돕는 일에 관심을 기울이고 있습니다. (Opensoruce at Amazon 참고)
최근에는 클라우드 도입 및 디지털 전환을 하는 대기업이 늘어남에 따라, 어떻게 하면 클라우드 아키텍처를 통해 기업 비즈니스 혁신에 도움을 줄 수 있는지 고민하는 대기업 임원들에게 조언을 하는 역할을 주로 하고 있습니다. 스타트업처럼 빠르게 움직이면서 제품 개발을 하는 방법론에 대한 기술 뿐만 아니라 기업 문화적인 조언도 하고 계십니다. (AWS re:Invent 동영상 참고)
■ 자바의 아버지 – 제임스 고슬링
자바 언어를 만든 제임스 고슬링(James Gosling)을 모르는 개발자는 아마 없으실 겁니다. 1990년대 말 선마이크로시스템에서 자바 언어와 함께 다중 프로세서용 유닉스인 솔라리스와 컴파일러, 메일 시스템, 데이터 인식 시스템 등을 개발하였으며, 오라클과 합병 후에도 2010년까지 클라이언트 소프트웨어 그룹 CTO로 활동하였습니다. 구글을 거쳐 해양 정보 수집로봇을 개발하는 스타트업 리퀴드로보틱스 소프트웨어 아키텍트로 일하다, 2017년 5월 AWS에 Distinguished Engineer로 입사하였습니다.
제임스 고슬링이 AWS에서 하는 일은 사물 인터넷(IoT)를 어떻게 클라우드 기반으로 확장하는지에 대한 기술적 조언을 합니다. AWS IoT 시스템 배포에 대한 경험, 특히 자바 기반 임베디드 시스템 엔지니어링 경험 등을 통해 IoT 서비스팀과 함께 개발하고 있습니다. (AWS re:Invent 동영상 참고) 최근 엣지 컴퓨팅이 클라우드 기술의 화두가 됨에 따라 사물 인터넷 뿐만 아니라 클라우드와 연동하는 엣지 디바이스, 로보틱스 등 다양한 기술 변화가 일어나고 있는 중인데, 제임스 고슬링의 역할도 기대되고 있습니다.
주로 AWS에 근무하시는 분들을 위주로 소개해 드렸지만, 아마존에는 리테일, 알렉사, 로보틱스, 기계학습, 디바이스 분야 등 다양한 분야에서 많이 알려지지 않은 다수의 Distinguished Engineer 분들이 계십니다. 이 분들은 엔지니어 조직의 존경을 받으며, 다수의 Principal Engineer와 제품 팀 매니저들에게 조언을 해주며 기술 주도로 비즈니스를 성장시키는 아마존에서 없어서는 안될 분들 입니다.
올해로 저도 AWS 입사 5년 정도 되었는데, 그동안 아마존이 눈부시게 성장하고 있기에 도대체 아마존은 어떻게 개발하는지 궁금해 하시는 분이 많더군요. 그에 비해 외부에 알려진 것이 많지 않았습니다. 그래서, 올해에는 위와 같이 멋진 분들과 함께 일하는 아마존 개발자들이 어떤 개발 문화와 어떤 도구를 가지고, 고객 지향 서비스를 만들어 내는지 블로그를 통해 자주 알려드릴 계획입니다.
그 일환으로 오는 4월 16일에 개최되는 AWS Summit Seoul의 부속 행사인 Amazon Innovation Day에서는 소매 부문, 광고 및 검색, 인공 지능 등 해외 아마존 각 분야에서 일하는 한국인 엔지니어들을 통해 대규모 서비스 아키텍처와 민첩한 조직, 프로세스 등의 개발 문화 등의 모범 사례를 공유해 드릴 예정입니다. 참여하시길 원하시는 분은 지금 등록하시기 바랍니다.
글로벌 IT 기업의 개발 문화나 조직은 매우 다양하고 접근 방식도 조금씩 다릅니다. 아마존 처럼 소매와 B2B 등 모든 영역에서 고객 지향(Customer Obssessed) 제품 개발 방식은 다른 기업과 또 다른 독특한 점이 있는 것 같습니다. 여러분 회사가 고객 중심 모토를 가진 곳이라면, 아마존의 개발 문화와 방식을 벤치마킹해 보신다면 좋을 것 같습니다.
※ Disclaimer- 본 글은 개인적인 의견일 뿐 제가 재직했거나 하고 있는 기업의 공식 입장을 대변하거나 그 의견을 반영하는 것이 아닙니다. 사실 확인 및 개인 투자의 판단에 대해서는 독자 개인의 책임에 있으며, 상업적 활용 및 뉴스 매체의 인용 역시 금지함을 양해해 주시기 바랍니다. 본 채널은 광고를 비롯 어떠한 수익도 창출하지 않습니다. (The opinions expressed here are my own and do not necessarily represent those of current or past employers. Please note that you are solely responsible for your judgment on checking facts for your investments and prohibit your citations as commercial content or news sources. This channel does not monetize via any advertising.)