[BOOK] 자바 마이크로서비스를 활용한 SRE – 조너선 슈나이더 지음 / 정병열 옮김
![[BOOK] SRE with Java Microservices](https://yujaewook.files.wordpress.com/2022/03/2022-03-31-22.31.05.jpg?w=300&h=300)
부제: “기업에서 신뢰할 수 있는 마이크로서비스를 위한 패턴”
어떤 기술이던 장점과 단점을 가지고 있다. 애플리케이션을 개발할 때 장점과 단점을 고려하여 최적의 기술을 선택하여 적용한다.
애플리케이션의 요구사항에 따라 모놀리식(monolithic)으로 개발하는 것이 유리할 수도 있고, 마이크로서비스(microservice)가 적합할 수도 있다.
마이크로서비스는 개발과 배포에 편리한 장점이 있는 만큼 장애 대응과 운영에 어려움이 존재한다.
마이크로서비스 관리의 어려움은 2020년 12월 구글의 서비스 장애를 통해 경험했다.
아마 SRE(Site Reliability Engineering, 사이트 신뢰성 공학)라는 용어가 알려지기 시작한 것도 그 때가 아니었을까?
이 책은 구글의 SRE를 소개하는 책들과는 다르게 플랫폼 엔지니어링을 기반으로 하는 넷플릭스의 SRE를 소개한다.
시스템의 구조는 필연적으로 그 시스템을 설계하는 조직의 커뮤니케이션 구조를 닮는다. – 콘웨이의 법칙
구글과 넷플릭스의 조직구조와 문화가 다른 만큼 SRE 적용 방법도 다르다.
현재 자신의 조직 상황에 맞는 SRE가 무엇일지 판단해보고 책을 선택하는 것도 방법이다.
(넷플릭스와 유사하다면 이 책, 구글과 비슷하다면 이 책에 소개된 구글에 대한 책을 선택)
우리가 제공하는 것은 관문이 아니라 가드레일이다. – 다이앤 마시, 넷플릭스
넷플릭스의 조직과 문화를 고려한 플랫폼 엔지니어링 기반의 SRE를 간단히 소개하고, 이 책에서 다루는 주요 키워드를 짚어준다.
그리고 아래 소개된 주제로 도구를 소개하고, 활용 방법에 대해서 설명한다.
- 서비스 가용성을 측정하고 모니터링한다.
- 디버그 가능성 신호를 추가하고 장애 기간에 대한 정보를 파악한다.
- 소프트웨어 전달 파이프라인을 개선하고 장애 확산을 방지한다.
- 배포 자산의 상태를 소스 코드 수준까지 관찰할 수 있는 기능을 구축한다.
- 트래픽 관리 기능을 통해 서비스 가용성을 원하는 수준까지 향상시킨다.
MSA로 구성된 서비스를 효율적으로 관리하기 위한 방법들이 적절한 수준으로 소개되어 있다.
“마이크로서비스를 어떻게 구현하지?”에 대한 책을 읽어본 경험이 있다면 이 책을 통해 “마이크로서비스는 어떻게 운영하지?”에 대한 궁금증을 풀 수 있을 것 같다.
그리고 그래프, 대시보드, 소스코드를 다양한 색상으로 인쇄한 것이 정말 마음에 든다.
“한빛미디어 [나는 리뷰어다] 활동을 위해서 책을 제공받아 작성된 서평입니다.”
BOOK Comment 1-2-3
1. 마이크로서비스를 운영하면서 갑갑한 경우가 많아서 선택.
2. 어떤 측정과 모니터링 도구를 쓰는지 궁금하다면 선택.
3. 넷플릭스 방식이 현재 서비스에 적용하기 좋겠다는 결론.
BOOK Underline 1-2-3
1. 분산된 시스템을 관리하려면 새로운 관행, 도구, 엔지니어링 문화가 필요하다.
2. 모니터링을 시작하면 소프트웨어의 민낯을 보게 된다.
3. 테스트 커퍼리지 100%와 진화된 모니터링 시스템 중 양자택일을 강요한다면 필자는 주저 없이 후자를 선택할 것이다.