지난 AWS Summit 2016 행사에서 빙글의 이상현님과 함께 “마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례“라는 주제 발표를 진행했습니다. 오늘 녹화 영상이 올라왔네요.
발표 자료는 아래에 있습니다.
본 발표에서는 마이크로서비스가 무엇이고 왜 이러한 개념이 나오게 되었는지 먼저 설명을 합니다. 규모가 커지는 서비스를 하나의 그릇에 기능을 담으면 신규 기능 개발 속도도 늘어나고, 운영 및 배포의 어려움도 겪게 되죠.
클라우드가 대두되면서 기존의 개발 및 운영/배포의 비용이 현저히 낮아지면서 서비스를 작게 쪼개 작은팀이 운영할 수 있을 정도로 생산성이 높아지구요. 아마존과 넷플릭스를 필두로 정말 다양한 사례들이 나왔습니다. 앞쪽에서는 마이크로서비스를 AWS 기반으로 구축할 때, 다양한 패턴 예를 들어 가상 서버로 구축한다던지, 컨테이너 혹은 서버리스로 구축할 수 있다는 부분을 설명합니다.
이상현님께서는 뉴스 기반 소셜 서비스인 빙글이 기존 OpsWorks 기반 EC2 인스턴스 환경에서 어떻게 서버리스 기반 마이크로서비스로 이전했는지 소개했습니다. 처음부터 한꺼번에 옮긴게 아니라 스팸 필터 같은 독립적으로 빼내는 게 더 효율적인 기능 부터 하나씩 옮겼다고 해요. 특히 스팸필터는 기능은 단순하고 빠른 업데이트가 필요한데, 메인 기능에 들어 있어서 비효율적입니다. 마지막으로 제가 마이크로서비스 구축의 7가지 모범 사례를 소개하였습니다.
- API 기반 서비스 인터페이스 및 하위 호환성 유지
- 각기 다른 폴리그랏 개발 및 운영 환경 보장
- 지속적인 마이크로서비스 모니터링 필수
- 개별 마이크로서비스별 보안 강화
- API 생태계 확산을 통한 비지니스 창출
- 기술 너머로 조직 자체의 변화 필요
- 자동화! 자동화! 모든것을 자동화하라
클라우드 기반 마이크로서비스 구축에 관심 있는 분들에게 도움이 되었으면 하네요!
※ 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.)