★이책에서다루는내용★
■안정성과신뢰성:마이크로서비스의개발,배포,도입,미사용권고,종속성장애대응방법
■확장성과성능:마이크로서비스의효율성을더높일수있는기본적인요소이해
■내결함성과재난대비:마이크로서비스에관해실시간으로문제를유발하고대비책을세워가용성보증
■모니터링:모니터링,로깅,주요지표표시방법및경고알림과비상대기근무절차수립
■문서화와이해:마이크로서비스도입으로비롯된조직적인스프롤현상과기술적부채등의트레이드오프완화
★이책의대상독자★
모놀리스애플리케이션을분리하고"다음에무엇을하지?"라고궁금해하거나처음부터마이크로서비스를구축하고안정적이고,신뢰할수있고,확장성이있고,내결함성이있고,성능이좋은마이크로서비스를설계하고싶은소프트웨어엔지니어및사이트안정엔지니어를대상으로한다.
그러나이책에나와있는원칙이앞서언급한주요독자에게만유용한것은아니다.훌륭한모니터링부터성공적인애플리케이션확장에이르는많은원칙을적용함으로써모든조직에서규모나아키텍처에상관없이서비스및애플리케이션을개선할수있다.엔지니어,기술조직관리자,제품관리자,회사의고위급경영진은애플리케이션에대한기준결정,아키텍처결정에서비롯된조직구조의변경사항파악,기술조직에대해구조적이고운영적인방향을밝히고추진하기위해이책을유용하게활용할수있다.
독자가마이크로서비스의기본개념,마이크로서비스아키텍처,최신분산시스템의기본원칙에정통하다고가정한다.이러한개념을잘이해하고있는독자라면이책을최대한활용할수있을것이다.이러한주제에익숙하지않은독자를위해1장,‘마이크로서비스’에서마이크로서비스아키텍처,마이크로서비스생태계,마이크로서비스에수반되는조직적과제,모놀리식애플리케이션을여러마이크로서비스로분리하는것에관해간단한개관을다뤘다.
★이책의구성★
1장,‘마이크로서비스’에서는마이크로서비스를소개한다.마이크로서비스아키텍처의기초와모놀리스를여러마이크로서비스로분리하는것에관한일부세부사항을다루고마이크로서비스생태계의네개계층을소개하며마이크로서비스아키텍처도입으로비롯된조직적인문제와트레이드오프사항을나타낸절로결론을맺는다.
2장,‘생산준비갖추기’에서는마이크로서비스표준화과제를제시하고마이크로서비스가용성확보에따른여덟가지생산준비기준을소개한다.
3장,‘안정성과신뢰성’에서는마이크로서비스를안정적이고신뢰할수있게구축하기위한원칙에대해알아본다.개발사이클,배포파이프라인,종속성의취급,서비스라우팅및서비스디스커버리,안정적이고신뢰할수있게마이크로서비스를미사용권고하고폐기하는방법을다룬다.
4장,‘확장성과성능’에서는마이크로서비스의성장규모파악,자원의효율적인사용,자원파악,용량계획,종속성확장,트래픽관리,작업처리,확장가능한데이터저장소를비롯해확장가능하고성능좋은마이크로서비스를구축하기위한요구사항으로방향을좁힌다.
5장,‘내결함성및재난대비’에서는흔히발생하는재난및장애시나리오,장애탐지및대응전략,복원력테스트에대한상세내용,사고및가동중단대응방법을포함해모든재난에대비하는,내결함성이있는마이크로서비스를구축하기위한원칙을다룬다.
6장,‘모니터링’에서는마이크로서비스모니터링에대한핵심적인세부사항과표준화를통해마이크로서비스모니터링의복잡성을피하는방법에대해알아본다.또한로깅,유용한대시보드생성,경고알림의적절한처리를다룬다.
7장,‘문서화와이해’는적절한마이크로서비스의문서화와개발팀및조직전체에서구조적이고운영적인관점에서대한이해를높이는방법을다룬다.이에는기술조직전체에생산준비기준을이행하기위한실질적인전략도포함된다.
부록A,‘생산준비점검표’는7장,‘문서화와이해’의끝에서설명한점검표이며이책의곳곳에서언급한모든생산준비기준과해당요구사항을간략하게요약한것이다.부록B,‘마이크로서비스평가하기’는3장,‘안정성과신뢰성’부터7장,‘문서화와이해’까지각장의마지막절‘마이크로서비스평가하기’에서나온질문을모아놓은것이다.
★옮긴이의말★
외부의빠른변화와요구사항을수용하고이에부응하는서비스를재빠르게안정적으로사용자에게제공해야하는기업에게있어서마이크로서비스아키텍처도입은최근몇년간최고의선택으로여겨졌다.하지만조직의규모가클수록성공적으로마이크로서비스아키텍처를도입하고마이크로서비스생태계를구축해지속적으로원활하게운영하는일은그리호락호락하지만은않다.그렇기때문에마이크로서비스아키텍처를도입한대부분의기업은하루가멀다하게수많은마이크로서비스의변경사항을처리하고신뢰성있는배포와안정적인서비스운영유지를위해데브옵스와사이트안정엔지니어링의중요성이날로더해지고있는것이사실이다.
이책은저자수잔파울러가여러소규모스타트업회사와차량서비스플랫폼회사로유명한우버에서사이트안정엔지니어로경험하면서축적한마이크로서비스생태계구축및운영에필요한원칙과마이크로서비스의생산준비기준을다루고있다.이에앞서마이크로서비스아키텍처에대한기초적인개념을소개하고마이크로서비스아키텍처도입으로비롯되는조직적,운영적측면의문제를폭넓게두루다룬다.만약이책을아직접하지않았거나,관련경험과통찰력없이마이크로서비스아키텍처도입을시도한다면진행과정에서으레부딪히거나시행착오를충분히겪을만한것들이라할수있다.저자가수많은개발팀과좌충우돌협업하면서마이크로서비스가갖춰야하는기준을개발팀에이해시키고적용하는과정에서겪은경험으로부터나온조언은이책의곳곳에스며들어있다.마이크로서비스가안정성,신뢰성,확장성,내결함성,성능,모니터링,문서화,재난대비성을갖추기위해확인해야하는세세한요구사항과마이크로서비스점검목록은모든회사에공통으로적용할수있을만큼잘정리돼있다.
독자는이책을통해궁극적으로생산준비기준을충족한마이크로서비스아키텍처기반의서비스를출시하고운영하는것이다.고가용성시스템을구축하여이것을지속운용가능하고자동화할수있는표준화된절차를회사의조직에정착시킬수있는통찰력을얻을수있을것이라확신한다.마이크로서비스에생산준비기준을적용하고각각의기준을만족하기위해무엇을해야하는지를알며,서비스에문제를일으킬만한위험요소를사전에적절히제거하고향후발생가능한재난에능숙하게대비하기위해참고할수있을것이다.마이크로서비스생태계를처음접하는독자라할지라도마이크로서비스개발에관한개발절차,개발환경,전체적인흐름을파악하고,마이크로서비스아키텍처를도입해서무엇을해야하고마이크로서비스생태계를어떻게운영해야하는지방향을잡을수있을것이다.