brunch

You can make anything
by writing

C.S.Lewis

by delight Mar 19. 2021

15살 아마존 S3는 어떻게 클라우드 혁명을 촉발시켰나

학습 차원에서 틈틈이 해외 전문가들이 블로그나 미디어 그리고 책에서 쓴 글을 정리하고 있습니다. 이번 포스팅도 그중 하나고요. 거칠고 오역된 부분이 있을 수 있습니다. 제대로 번역되지 않은 부분은 확인 주시면 반영토록 하겠습니다. 이번 글은 아마존 S3 출시 15주년을 맞아 프로토콜에 올라온 글을 정리한 것입니다. 의미를 명확하게 이해하기 힘든 일부 문장은 번역에서 제외했습니다.

2005년말 아마존에서 일하는 한 친구가 그를 세상을 바꿀 수 있는 비밀 프로젝트를 확인하도록 초대했을 때 돈 알바레즈는 새 비즈니스를 시작하기 위해 고군분투하는 또 다른 소프트웨어 창업가일 뿐이었다.


알바레즈가 세운 스타트업 필름메이커라이브는 창의적인 전문가들을 위한 온라인 협업 애플리케이션을 디자인하고 있었다. 스타트업들이 공동으로 겪는 한 문제에 직면했다. 스토리지다.


당시 기술 스타트업들은 겨우 닷컴 시대의 과잉에서 벗어나고 있었다. 값비싼 하드웨어를 사는 것은 스타트업에게는 위험한 도박이었다. 너무 적게 사면 사이트가 깨지고 많이 사면 회사가 파산한다. 혼돈의 스타트업 라이프에서 이것은 위험한 도박이었다.


그는 한 이커머스 회사에서 영화 협업에 대한 것을 배울 것이란데 회의적이었다. 그러나 친구의 제안을 받아들였다. 하지만 알바레즈는 프로토콜과의 인터뷰에서  "루디 발데즈는 내 마음을 쳤다"고 말했다. 발데즈는 당시 AWS 비즈니스 개발 총괄이었다.


당시 AWS는 소수 기본 서비스들만 제공했다. 지금은 무랄(Mural)에서 엔지니어링 디렉터를 맡고 있는 알바레즈에게, 아마존 최초이자 단언컨대 가장 근본적인 제품인 S3가 제공하는 클라우드 기반 오브젝트 스토리지 서비스의 맛을 볼 수 있도록 했다.


S3 또는 심플 스토리지 서비스(Simple Storage Service)는 15년전 데뷔했다. 클라우드가 엔터프라이즈 컴퓨팅 역사에서 가장 파괴적인 힘 중 하나가 되기 몇년 전이었다.


아마존은 2006년 3월 14일 S3를 발표했을 때 클라우드라는 용어조차 사용하지 않았다. 그러나 S3 스토리지 서비스 출시는 곧바로 알바레즈 같은 창업가들을 위해 매우 까다로운 일부 문제들을 해결했다. 그리고 모든 기업들이 정보 기술을 구매하는 것에 대해 생각했던 방식을 바꿀 것이었다.


핀터레스트, 에어비앤비, 스트라이프 같은 스타트업들이 이후 몇년간 AWS에 몰려들었다. 당시 DVD 우편 배송 업체인 넷플릭스 같은 오래된 기업들 또한 인터넷용으로 운영을 개편하기 위해 뛰어들었다.


"아마존은 무한한 디스크 공간을 믿을 수 없이 저렴하고 사용자가 필요로 하는 가격 포인트에 지불할 수 있도록 모든 스타트업들의 손에 넣어 주었다. S3 같은 것은 없었다"고 알바레즈는 말했다.


S3는 API가 매우 간단했다. 알바레즈는 "그냥 골라서 그걸로 뭔가 유용한 것을 개발했다. 공개되지도, 발표되지도 않은 제품을 사용해 하루 안에 말이다"고 말했다.


S3는 이제 AWS 머신에서 핵심적인 '톱니'다. AWS는 지난해 450억달러 매출을 일으켰다. AWS는 지난 15년간 다양한 방향으로 진화했지만 아직도 AWS 초창기 아마존 CTO였고 이 전략의 핵심에 있던 앨런 버메루인이 주도한 팀이 고안한 디자인 원칙을 유지하고 있다.


"우리는 고객들이 그때 무엇을 하고 싶었는지 알았다"고 마이 란 톰슨 부코벡 AWS 스토리지 및 현재 S3 총괄은 말했다. 또 "그러나 우리는 우리 고객들이 믿을 수 없이 혁신적이고, 다양한 산업에서 하고 있는 것들이 매년 바뀌고 있기 때문에, 애플리케이션들이 진화할 것이라는 것도 알았다"고 덧붙였다.


유연성을 위한 개발

2014년 한 인터뷰에서 버메우렌은 공중에서 오른쪽으로 선을 그리면서 사람들이 컴퓨터에 대해 크고 빠른 것을 생각할 때 이것을 생각했다고 말했다. 그러나 스토리지 기술은 다르게 발전했다. 오랜 정체기에 이어 급격한 역량 증가가 이어졌다. 그는 "이것은 나의 테슬라를 운전하는 것과 나의 비행기를 날리는 것의 차이다"고 말했다.


S3는 현재 상태를 깬 가파른 변화들 중 하나다. 이것은 알바레즈 같은 개발자들을 위해 하늘이 준 선물이었다. 이들은 단지 비즈니스를 하기 위해 값비싼 스토리지 하드웨어를 사고 관리하는 것에 대해 걱정하지 않아도 됐다.


알바레즈는 "S3로 할수 있었던 것 처럼 원격으로 제공했던 접근과 같은 것은 없었다. 나는 "누군가가 캔디 스토어 열쇠를 준 것 같은 느낌을 받았다"고 말했다.


AWS가 제공하는 많은 것들처럼 S3도 아마존닷컴을 개발하고 확장한 경험에서 나왔다. 이것은 아마존에게 분산 컴퓨팅의 한계와 가능성에 대해 많은 어려운 교훈을 가르쳐줬다.


AWS는 2006년 3월 S3 관련 첫 보도자료에서 "S3 디자인을 위한 강제적인 기능은 단일 아마존 S3 분산 시스템은 내부 아마존 애플리케이션과 어떤 애플리케이션을 만드는 외부 개발자들 모두가 필요로 하는 것들을 지원해야 한다는 것이다. 이는 S3가 어떤 개발자도 그것을 어떤 데이터 스토리지 필요에 사용할 수 있을 만큼 유연하면서 아마존닷컴 웹사이트를 돌리는데 충분할 정도로 빠르고 신뢰할수 있는 것이 틀림 없다는 것을 의미한다"고 설명했다.


클라우드 초창기, 성능과 신뢰성은 커다란 우려였다. 데이터와 관련해 특히 그랬다. 데이터는 15년전에도 한 회사 무기고에서 가장 중요한 자산으로 여겨졌다.


톰슨 부코벡은 상호 의존적인 커다란 덩어리를 잘게 쪼개서, 독립적인 서비스로 만드는, 당시 새로웠던 소프트웨어 개발 방식인 마이크로서비스를 언급하며 "우리가 15년전 S3를 내놨을 때 S3는 8개 마이크로서비스를 가졌다. 그리고 지금은 300개가 넘는다"고 말했다.


마이크로서비스 중심으로 개발한 것은 AWS가 S3 장애 지점들을 탈중앙화하도록 했다. 분산 클라우드 서비스는, 종종 오류가 날 것이라는 것을 인정하는 디지인된 시스템을 만들면서 이들 장애가 전체 시스템은 다운시키지 않는 것이었다.


이것은 또한 AWS가 시스템에서 핵심적인 부분들은 건드리지 않고 S3 업그레이드를 층층히 쌓을 수 있도록 해줬다.  AWS S3는 이제 놀라운 99.999999999% 업타임을 제공한다. 직접 운영하는 방식의 스토리지 장비를 큰 폭으로 앞선다. 


S3는 웹사이트 운영자들이 당신이 한 페이지를 로딩했을 때 이미지나 비디오 같은 간단한 웹 요소들을 AWS에서 브라우저로 당겨올 수 있는 홀딩펜( holding pen)으로서 삶을 시작했다. 시간이 가면서 기업들이 점점 클라우드 스토리지에 편안해지면서, 이들은 모든 종류 데이터를 S3에 넣기 시작했다.


이것이 조금 혼란스럽기 시작한 때다.


당신이, 지난 몇년간 어떤 보안 사고 숫자들을 돌아보면 이들 중 많은 것들이 구멍난 버킷(leaky buckets) 탓으로 돌려진다. 버킷은 S3 스토리지의 핵심 단위를 의미한다.


이들 사고는 다른 클라우드 스토리지 제공 업체들에서도 일어난다. 그러나 AWS 점유율을 고려하면 이것은 많은 경우 AWS가 대처해야 하는 문제다.


AWS는 공유된 책임 모델(shared responsibility) 아래 보안을 운영한다. AWS는 어떤 사람이 물리적으로 AWS 서버에 접근하거나 네트워크에 침투하는 것을 막을 것이다. 그리로 고객들은 타당한 범위까지 그들 계정이 보호해야 한다. 다시 말해 당신은 누군가 당신이 잠그지 않은 차량 뒷좌석에서 당신의 랩톱을 훔친다면 렌터카 회사를 비난할 수 없다.


시간이 지나면서 클라우드 고객들은 고객들에 대한 민감한 데이터를 보호되지 않고 누구나 그것을 쉽게 찾을 수 있도록 열린 스토리지 버킷에 남겼다. 이것은 당신이 생각하는 것보다 쉽다. 이것은 어떻게 AWS가 그들 일부 핵심 제품들을 고객들 있는 곳, 특히 그들이 필요로 하는 모든 것을 프라이빗 내부 네트워크에서 접근하는데 익숙한 고객들에게 맞춰주기 위해 진화해야 했는지 보여주는 단지 한 사례다.


톰슨 부코벡은 "비즈니스 애플리케이션 세계에서 당신은 회사 밖, 기업내 사용자 그룹들 밖으로 접근할 필요가 없다"고 말했다. 그러나 AWS가 자사 고객들이 그들 스스로 돕는 것을 돕기 위해 보다 많이 해야 한다는 것은 분명했다. 이것은 지급 계정과 관련된 모든 스토리지 버킷을 잠글 수 있는 블록 퍼블릭 액세스(Block Public Access) 같은 툴들의 개발로 이어졌다.


알바레즈는 "이것은 또한 가장 빠르게 성장한 AWS 초창기, 외부인들 사이에서 유명했던 아마존의 피자 두판 팀은 강점과 약점이 모두 있다는 것이 분명했다"고 말했다. 이어 "이것은 모든 서비스가 경쟁 업체와 비교할 수 없는 속도로 전진할 수 있도록 했다. 그리고 초창기에는 일관성이 많이 부족했고 이해하고 관리하는 것이 어려웠다. 시간이 지나면서 이 경험은 향상됐다"고 덧붙였다.


추가적인 보안 도구들이 뒤따라 나왔다. 고객들은 공개 인터넷에서 비인가 접근들에 대한  그들 계정을 스캔할 수 있게 됐다. 한 회사에서 다양한 역할에 맞게 다양한 접근 레벨을 사람들에게 할당하는 것도 가능하다.

톰슨 부코벡은  "고객들이 마이그레이션 하면서 우리가 보는 것은 그들은 종종 수백개 버킷과 수많은 다양한 역할들을 갖고 있다는 것이다"고 말했다. 클라우드에 새로 들어오는 사람들이 이런 실수를 가장 많이 하는 듯 보인다.


톰슨 부코벡은 "고객들이 AWS 자원들에 대한 매개변수들을 안전하게 하는 것을 돕기 위해 무엇을 개발해야할지 생각할때,  우리는 어떻게 그들이 감사(audit)를 하고 싶고 그들 S3 스토리지 자원에 대한 접근을 통제하고 싶어하는지를 생각한다"고 말했다.


S3는 데뷔 후에 몇년동안 계속해서 진화했다. 또한 많이 저렴해졌다. AWS가 2012년 첫 메이저 개발자 컨퍼런스인 리인벤트를 열었을 때 주요 발표들 중 하나는 S3 스토리지 가격을 24~28% 인하한다는 것이었다. 그 시점까지 AWS가 했던 24번째 가격 인하였다.


이런 가격 인하가 가능한 것은 당시 AWS 스토리지 서비스 부사장이었던 앨리사 헬리가 2012년 리인벤트 기조연설에서 설명한 것처럼  AWS가 기반 S3 서비스를 그때그때 봐가며 업그레이드할 수 있기 때문이다.


S3는 당초, 200억개 오브젝트 스토리지를 보유하도록 디자인됐다. 그러나 이 숫자는 누구나 예상했던 것보다 빠르게 늘어났다. 첫해 9조 오브젝트를 돌파했다. AWS는 보다 많은 용량을 염두에 두고 오리지널 S3 고객들을 방해하지 않으면서 기반 스토리지 서비스를 업그레이드했다. 2012년 1조 오브젝트로 확장됐고 2020년에는 10조까지 확장됐다.


2021년까지, 이것은, 스토리지에서 1조 오브젝트로 확장됐고 2020년까지는, 100조로 확장됐다. "이것과 관련해 정말로 멋진 것은 고객들은 어떤 것도 할 필요가 없다는 것이다. 당신은 다음 업그레이드인 아마존 S3 버전2를 위해 밖으로 나갈 필요가 없다. 직접 마이그레이션을 할 필요가 없다. 당신은 모든 것들을 그냥 무료로 얻었다. 그것은 그냥 돌아갔다. 일들을 더욱 좋아졌다"고 현재 스퀘어 셀러 유닛을 책임지고 있는 부사장인 헨리는 말했다. 그는 2012년 리인벤트 행사에서 이것이 클라우드와 전통적인 IT가 했던 것의 차이들 중 하나라고 말했다.


간단한 업그레이드가 지난해 공개됐다. AWS가 S3에 걸쳐 스트롱 컨시스턴시(strong consistency)를 선보였을 때다. 컨시스턴시는 그것이 처음 나타날 때 당신 머리를 약간 당황하게 할 수 있는 데이터 스토리지 개념이다. 오리지널 S3 같은 오래된 스토리지 시스템은, 이벤추얼 컨시스턴시(eventual consistency)를 중심으로 디자인됐다.


이것은 한 스토리지 서비스는 항상 당신에게 새 데이터 조각들이 정해진 스토리지 버킷에 잘 안착했는지 바로 말해줄 수 없을 것이라는 의미한다. 그러나 머지 않아 따라잡을 수 있을 것이다. 이제 모던 애플리케이션들은 매우 빠르게 움직인다. 그러나 스토리지 서비스에 쿼리를 날리는 것은 예상되는 수준으로 실행하기 위해 현재 이용할 수 있는 데이터 리스트를 정확하게 알 필요가 있다.


지난 몇년간 AWS는 S3를 스트롱 컨시스턴시 중심으로 다시 개발했다. 다른 클라우드 서비스들도 제공하고 있지만 매우 적은 사용자 기반으로 내놓을 수 있었다. 톰슨 부코벡은 "이것은 매우 복잡한 엔지니어링 문제다. 그리고 이것은, 2020년 리인벤트에서 두드러지는 발표 중 하나였다"고 말했다.


그들이 새로운 10년으로 들어섬에 따라, 톰슨 부코벡의 팀은 S3 데이터 위에서 머신러닝을 쉽게 할 수 있는 것과 데이터 레이크 성능과 역량을 향상시킬 수 있는 방법을 찾고 있다. 데이터 레이크는 AWS 사용자들 사이에서 내부와 고객 데이터에 대한 정교한 분석을 가능케 한다.


사실, 모더나 코로나19 백신도, S3 데이터레이크 도움으로 개발됐다고 톰슨 부코벡은 말했다. 그는 "우리는 15 년이 넘는 사용 기간 동안 구축한 고유한 관점을 갖고 있다. 이를 통해 고객이 무엇을 하려고 하는지, 그리고 우리는 간단하고 비용 효율적이고, 간단하고, 내구성 있고, 신뢰할 수 있고, 높은 성능을 가진 스토리지를 유지하면서 S3를 어떻게 구축 할 수 있는지 파악할 수 있다"고 말했다.

작가의 이전글 올해 주목되는 8개 파괴적 블록체인 프로젝트
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari