최근에 클라우드 기반 마이크로서비스 아키텍처에 대해 이야기하면 빠짐없이 등장하는 것이 바로 넷플릭스의 사례입니다. 넷플릭스는 모든 인프라를 클라우드에서 운용하고 있는데, 모든 실패에 대해 문제가 없도록 자체적인 장애 주입 실험을 하는 것으로 유명합니다.
이른바 오픈 소스 도구인 카오스 몽키(Chaos Monkey)라는 실제 운용 서버를 다운시켜, 일어나는 현상을 통해 문제를 파악합니다. 뿐만 아니라 AWS의 가용 영역(AZ)나 리전(Region) 단위 실험을 하는 것으로도 유명합니다.
“실 서버를 죽여서 장애를 일으킨다고?” 어떻게 생각하면 끔찍하고, 회사에서 짤릴만한(?) 이야기인데 실제로 그렇게 하면, 기존에 각종 QA나 테스트에서 알수 없는 문제를 알게된다는 장점이 있습니다. 장기적으로 장애 복원성도 높아지게 됩니다. 이를 소위 카오스 엔지니어링(Chaos Engineering)이라고 합니다. 즉, 각종 장애 조건을 견딜 수 있는 시스템의 신뢰성을 확보하기 위해 분산 시스템을 실험 하고 배우는 분야입니다.
최근에 클라우드 기반 운영에 대한 관심이 높아지고 있어, 새해를 맞아 이에 대한 커뮤니티를 시작하였습니다. 본 커뮤니티에서는 ‘카오스엔지니어링’에 대한 공부 및 최신 정보를 나눕니다. 첫 모임은 국내에서 카오스 엔지니어링에 관심 있는 분들이 모여서 함께 해외 영상을 시청하고, 토론하는 모임으로 시작했습니다.
함께 본 영상은 Mastering Chaos – A Netflix Guide to Microservices 로서 넷플릭스 아키텍트였던 Josh Evans가 마이크로 서비스 구조와 분산 시스템의 과제와 이점, 문화적, 아키텍처 및 운영 방법을 소개하는 매우 유명한 영상입니다.
영상만 봐서는 카오스 엔지니어링에 대해 잘 모르겠다는 분들이 있으셔서, 제가 예전에 준비했던 슬라이드로 한 30분 저도 그 유래와 동기 그리고 실전 도구 일부 등을 소개해 드렸습니다.
다음 달에는 카오스 엔지니어링에 대해 현업에서 느끼는 바를 장경철 (NC소프트), 이창욱 (포시어코리아) 두 분이 발제를 해주시기로 했습니다.
관심 있으신 분들은 페이스북 혹은 밋업 닷컴에 가입해 주시면 감사하겠습니다. 오늘 많은 분들이 오셔서 조금 놀랐는데요. 앞으로도 같이 배우고 공부하면 좋겠네요.
참고 – 두번째 모임 공지 (2018년 2월 21일)
※ 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.)