AWS 클라우드 서비스 이렇게 만들어져요!

15년 전 AWS는 Amazon S3와 EC2 같은 스토리지와 가상서버를 시작으로, 현재 200여개가 넘는 폭넓고도 깊이 있는 클라우드 플랫폼을 제공하고 있습니다. 주요 빌딩 블록인 컴퓨팅, 스토리지, 데이터베이스 부터 데이터 분석, 모바일, 미디어 서비스, 인공 지능 등 다양한 기능을 클라우드 서비스로 제공하고 있습니다. 우리가 애플리케이션을 만들 때 필요한 어떤 기능이라도 AWS에서 찾아서 레고 조립하듯이 사용할 수가 있습니다.

200개 서비스를 만드는 제품 개발 철학은?

가끔 200개 이상의 서비스가 좀 복잡하게 느껴질 때도 있습니다. 그런데, 이들 서비스의 95%는 AWS 고객의 피드백에 의해 만들어진 것입니다. 아마존의 CTO이신 버너 보겔스 박사님이 리인벤트 키노트에서 “이렇게 많아진건 여러분 잘못입니다.”라고 농담을 하시기도 했죠. 따라서, 모든 서비스를 다 알 필요도 없고, 여러분에게 딱 필요한 것만 알아서 배우시면 됩니다.

AWS의 많은 서비스는 어떤 철학으로 만들어지는지 말씀 드리면, 좀 더 이해가 쉬울 것 같습니다. 유명한 갈의 법칙(Gall’s law)이라고 있는데요. 바로 “잘 동작하는 복잡한 시스템은, 잘 동작하는 더 간단한 시스템에서 진화한다”라는 것입니다. 즉, 내가 만든 간단한 시스템이 잘 동작한다면, 좀 복잡해져도 잘 동작하는다는 의미입니다.

All complex systems that work, evolved from simpler systems that worked.

AWS에서는 잘 동작하는 간단한 시스템을 프리미티브(Primitives)라고 부릅니다. 요리로 따지만 재료와 같은 것이고, 취향에 따라 재료를 잘 섞으면 맛있는 비빔밥을 먹을 수 있는 것 처럼요. 마차나 자동차, 트럭, 레이싱카 모드 다른 기능을 하지만, 그 안에 들어 있는 부품은 비슷합니다. 예를 들어, 나사, 레버, 바퀴나 축 같은 건데요. AWS에서 SQS, S3, EC2 등이 그런 역할을 할 수 있습니다. 이러한 빌딩 블록을 통해 고객이 딱 원하는 맞춤화된 솔루션을 개발할 수 있습니다.

이런 프리미티브 재료들은 새로운 AWS 서비스를 만드는데 구성이 되기도 합니다. 가끔 AWS 서비스 명에 Amazon이 붙는 것과 AWS가 붙는 것의 차이가 뭔지 물어보시는데요. Amazon이 붙는 것은 독립적인 운영 블록, 즉 프리미티브 서비스이구요. AWS가 붙는 것은 프리미티브 서비스를 연결해서 만든 새로운 서비스거나, 연결, 관리 및 운영을 해주는 서비스라고 보시면 됩니다. 여기 있는 세가지 서비스 역시 다양한 AWS 서비스를 엮어서 만든 서비스입니다.

예를 들어, AWS Amplify는 프론트 엔드 웹 및 모바일 개발자가 AWS에서 풀스택 애플리케이션을 빠르고 쉽게 구축할 수 있도록 하는 서비스입니다. AWS 서비스에 대한 지식 없이도 몇 번의 클릭 만으로 React나 Vue,js, Flutter 기반 앱을 배포할 수 있죠. AWS Amplify를 통해 프론트엔드 개발자들이 손쉽게 API 구축, 서버 측 코드 작성 또는 데이터베이스 설정에 대한 공부를 하지 않더라도 필요 시 빠르게 간단한 모바일 혹은 웹앱을 배포할 수 있죠. AWS Amplify 역시 다양한 프리미티브 서비스들을 조합하여 만들었습니다.

AWS Lake Formation은 데이터 레이크 구축의 어려움을 해결하기 위한 여러 AWS 서비스를 통합한 것입니다. 여러 가지 프리미티브 서비스를 직접 설정하고 관리하는 일이 어렵다고 고객들이 이야기해 주셨거든요. 이를 통해 데이터 보안 및 거버넌스를 기반으로 데이터 자동 검색, 태깅 및 카달로그 구성이 손쉬워졌습니다.

이제 AWS가 어떻게 새로운 서비스를 만들고 있는지 근본 철학에 대해 이해하셨나요? 여러분들의 서비스도 마찬가지입니다. 여러분의 서비스의 여러 부분은 AWS의 서비스를 이용해서 레고 블록 조립하듯이 하면서, 또한 중요한 부분은 직접 구현할 수도 있을 것입니다. AWS 고객과 AWS 직원들이 공유하는 다양한 아키텍처 예제들은 AWS 아키텍처 센터에서 보실 수 있습니다.

다양한 아키텍처 샘플들을 활용하세요!

AWS 아키텍처 센터에서는 참조 아키텍처 다이어그램, 검증된 아키텍처 솔루션, Well-Architected 모범 사례, 패턴, 아이콘 등을 제공합니다. 이들 전문가 지침은 AWS 솔루션스 아키텍트, 전문 서비스 컨설턴트 및 파트너를 비롯하여 AWS의 클라우드 아키텍처 전문가들이 제공합니다.

예를 들어, Generative AI Application Builder on AWS라는 아키텍처 사례를 보면, 다양한 생성형 AI 사용 사례와 비즈니스 요구 사항을 지원하기 위해 두 가지 기능을 수행하는 개별 아키텍처를 배포하는 단일 AWS CloudFormation 템플릿 및 콘솔에서 원클릭 배포를 지원합니다. (아래는 어떤 서비스를 어떻게 활용했는지 볼 수 있는 아키텍처 구성도입니다.)

  1. 배포 대시보드 – 배포 대시보드는 관리자가 사용 사례를 보고, 관리하고, 생성할 수 있는 관리 콘솔 역할을 하는 웹 사용자 인터페이스(UI)입니다. 이 대시보드를 통해 고객은 다양한 LLM 및 데이터 구성을 사용하여 생성적 AI 애플리케이션을 신속하게 실험, 반복 및 배포할 수 있습니다.
  2. 텍스트 사용 사례 – 텍스트 사용 사례를 통해 사용자는 생성 AI를 사용하여 자연어 인터페이스를 경험할 수 있습니다. 이 사용 사례는 새로운 애플리케이션이나 기존 애플리케이션에 통합될 수 있으며 배포 대시보드를 통해 또는 제공된 URL을 통해 독립적으로 배포할 수 있습니다.

위와 같은 다양한 사례의 샘플 아키텍처를 직접 찾아서 자신만의 클라우드 아키텍처 실습을 해보시기 바랍니다.

더 자세히 보기

- ;

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.)