오늘은 새로 나온 서적인 '쉽게 배우는 AWS AI 서비스'란 책의 관한 글을 올립니다.
특별히 형식에 얽매이지 않고 생각나는 데로 떠올리는 내용을 적어 봅니다.
배경
아마존의 AWS는 2006년 S3 서비스로 클라우드 서비스를 시작해 17년 이상 압도적인 시장 점유율을 가진 벤더입니다.
초창기에는 IaaS 서비스 위주의 제품을 출시했으나 최근 3~4년간은 고객이 리소스 관리에 신경 쓸 필요 없는 서버리스 제품을 확장하였으며 특히 AI/ML 관련 제품을 가장 많이 출시하고 있습니다.
아마존닷컴 및 자사 서비스에 AI/ML 개발 및 운영으로 경쟁력을 갖춘 쓸모 있는 제품을 빠르게 출시할 수 있기 때문입니다. 또한 AWS의 많은 사용자를 통한 제품의 완성도를 높여가고 있습니다. 참고로 2019년 AWS re:MARS에서 Chuck More 부사장은 Alexa Shopping을 위해 구동되고 있는 디바이스, 모바일 앱, 웹사이트, 백엔드까지 모두 AI를 적용해 인사이트를 얻고 있다고 얘기했습니다.
이런 대규모 서비스와 조직에서 운영하는 노하우가 담긴 AWS 서비스가 경쟁력을 갖출 수밖에 없다고 생각하게 됩니다(그렇다고 해서 AWS 신봉자는 아닙니다...).
경험
직접 경험해 본 AWS AI 제품은 몇 년 전에 PoC 프로젝트로 Amazon Personalize를 통한 추천 상품 워크플로, 그리고 리테일 도메인의 고객 분류를 위한 Amazon Forecast(with SageMaker) 관련 프로젝트를 통해서였습니다.
당시에는 AWS AI 제품 사용법과 알고리즘 성능 및 비용에 대해 검토가 목적인 PoC였기 때문에 실제 운영되는 서비스에 통합을 시도해 보진 못했습니다.
통합을 위해서는 안정적인 데이터 파이프라인과 MLOps가 가능한 환경 구축 또한 필요했기 때문에 제한된 프로젝트 시간 내에 완성할 수 없었습니다. 또한 서비스 전체가 온프레미스에서 운영되었기 때문에 더 준비해야 할 것이 많았습니다.
그 때문에 전체 서비스에서 AI/ML 기능을 포함한 설계와 운영 시 고려해야 할 점을 고민하지 못한 것이 아주 아쉬웠습니다.
서평
제목만 보고 AWS의 AI 제품을 소개하고 코드와 간단한 핸즈온을 담은 책이려니 생각하고 기대하지는 않았습니다. AWS 제품들이 워낙 업데이트가 빠르고 신제품 출시가 잦기 때문에 해당 기술들을 확인해 보고자 읽기 시작했습니다.
첫 번째 장에서는 서버리스 기술을 소개하며 해당 기술이 최근에 주목받는 배경에 관해 설명합니다. 이는 최근에 클라우드 벤더들이 앞다퉈 제품을 출시하는 이유에 대해 알 수 있습니다. 또한 AI의 역사와 추세를 설명하고 AI 서비스의 활용 분야에 대해 소개합니다.
AI에 관심 있는 엔지니어뿐만 아니라 일반인들도 정리된 내용을 통해 흥미를 갖게 합니다.
두 번째 챕터 부터는 특정 주제(시나리오)를 선정해 해당 시스템을 구현하거나 기존 서비스와 통합하는 방법을 설명합니다.
처음 주제는 챕처 1에서 설명한 서버리스 개념과 AI 기술을 활용하는 '서버리스 이미지 인식 시스템'을 구현하는 방법을 설명합니다. 독립적으로 구동할 수 있는 예제를 설명하며 AWS 상의 관련 제품을 익숙해질 수 있도록 안내합니다. 첫 예제가 누구나 흥미롭고 익숙한 워크플로이며 결과를 눈으로 확인할 수 있어 지루하지 않게 합니다.
여기서 무엇보다 이 책에 감탄한 것은 하나의 주제에 대해서 접근하는 방식과 그 구성에 있습니다.
독자에게 주제 설명 시 기대하는 결과를 먼저 그림으로 보여 주며 설명합니다. 그리고 이를 구현하기 위한 AWS 아키텍처를 설명합니다. 해당 아키텍처는 단순히 제품을 나열한 것이 아닌 논리적인 구성과 사용자의 행동 또는 데이터 흐름을 함께 설명합니다.
즉, 시스템 아키텍처가 아닌 개념도와 결합한 그림으로, 그것만으로도 무엇을 어떻게 구현할지 한눈에 파악할 수 있습니다(물론 AWS 제품에 익숙하며 약간의 엔지니어 지식이 필요합니다.).
그리고 애플리케이션 관점에서 각 스택을 구분해 그림으로 설명합니다.
그리고 각 스택에 기능(컴포넌트)을 주제로 하나씩 설명해 갑니다. 이때 각 기능에 대한 흐름(플로)은 그림을 통해 설명합니다.
단순히 글과 필요한 코드로 설명하는 것이 아닌 독자가 이해하기 쉽게 그림을 보여주고 그 안에 사용된 기술과 내용을 풀이해 줍니다. 그림을 처음 볼 때 잘 이해가 안 되더라도 설명 과정에 그림을 옆에 두고 보거나, 설명을 다 보고 난 후 다시 그림을 보게 되면 확실히 머릿속에 내용이 들어오게 됩니다.
개인적으로 아키텍처 경험이 적지 않은데 해당 그림들은 다양한 엔지니어 경험과 고객 컨설팅 경험의 바탕으로 그려진 정말 좋은 그림이라고 생각합니다.
그 때문에 첫 장을 읽고 나서 저자의 이력을 다시 한번 살펴보게 되었습니다.
마무리
이 책은 전체적인 서비스를 설계해 본 경험이 없거나 AWS 제품에 익숙하지 않은 초보자는 어려울 수 있습니다. 하지만 AWS에서 서비스를 구축 및 운영해 본 경험이 있는 엔지니어라면 적극적으로 추천합니다.
물론, 머신러닝 알고리즘을 개발하고 운영하는 데이터 사이언티스트나 모델러에게도 AWS 상에서 리소스 관리 없이 서비스를 구현하는 과정을 이해하는 데 큰 도움이 됩니다. 하지만 지속적인 모델 개발을 위한 MLOps와 같은 필요 개념 및 구현은 이 책에 설명되어 있지 않기 때문에 해당 지식은 별도로 학습이 필요합니다.
또한 AI 서비스에 관심이 없는 엔지니어라고 하더라도 AWS 상에서 서버리스 서비스를 경험해 보고 싶은 엔지니어라면 적극적으로 추천합니다. 구현해야 하는 서비스를 구체화하는 방법과 접근법이 훌륭하다 보니 책의 흐름을 잘 익히면 좋겠다는 생각이 듭니다.
결론은 관련 주제를 처음 접하는 초보자에게는 조금 어려운 책이지만 도전해 보면 얻을 것이 많고, 또한 경험 있는 엔지니어고 해당 주제에 관심이 있다면 읽어 보실 것을 적극적으로 추천합니다.
“한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.”