카테고리:

4 분 소요

한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다.

 

코드 이외에 서비스 운영 과정에서 흔히 발생하는 문제들을 살펴볼 수 있도록 쉽게 구성된 책

주니어 백엔드 개발자가 반드시 알아야 할 실무 지식

필요한 선수 지식

  • 요구 학력 : 관련학과 대졸 이상(실무에 관련된 내용)
  • 예제 코드 : Java, SQL
  • 난이도 : ★☆☆☆☆

책의 구성 중 마음에 들었던 주제

2장 느려진 서비스, 어디부터 봐야 할까

느린 서비스를 해결하는 방법을 아래와 같이 3단계로 설명한다.

  • 먼저 ‘응답 시간’과 ‘처리량’ 두 지표로 상태를 계량화하고, App·DB·네트워크 계층을 분할-정복하며 병목을 찾아야 한다.
  • 캐싱, 커넥션 풀,·GC 튜닝 같은 응급 처치를 하되 반드시 전후 수치를 비교해 “한 번에 한 병목만” 제거해야 한다.
  • 이후 부하 테스트로 포화점을 측정해 대시보드에 상시 노출하고, 정기적인 Capacity Planning으로 장기 개선을 이어가야 한다.

4장 외부 연동이 문제일 때 살펴봐야 할 것들

외부 API나 마이크로서비스 호출은 서비스에 있어서 흔하게 벌어지는 일이다. 이 챕터에서는 서킷 브레이커, Rate Limiter, 커넥션 풀을 체계화해 장애 전파와 자원 고갈을 동시에 막아야 하고 다중 Region·벤더를 통한 Failover 설계까지 준비하면 “우리 서비스는 멀쩡하지만 외부 장애로 다운”되는 상황을 크게 줄일 수 있다고 설명한다.

8장 실무에서 꼭 필요한 보안 지식

보안은 기밀성, 무결성, 가용성 세 축을 동시에 만족시킬 때 완성된다. TLS 전송, AES-256 저장, KMS로 키를 관리하며, 인증(OAuth 2·OIDC)과 인가(RBAC)를 분리하고 HMAC 서명으로 데이터 변조를 탐지하는 방법을 설명하는 데이터 변조 파트와 Deny-All 기본 정책과 중앙화된 감사 로그를 필수로 두고 시큐어 코딩, MFA·개발자, PC 암호화 같은 네트워크 파트로 나누어 설명한다.

11장 자주 쓰는 서버 구조와 설계 패턴

실무에서 자주 쓰는 서버 구조를 어떤 상황에서 사용해야하는지 설명하는 챕터이다. MVC + 계층형은 단일 서비스에 단순·신속 배포를, DDD는 복잡 도메인에 명확한 업무 모델링을 가능하게 한다. 조직·트래픽 규모가 커지면 마이크로서비스, 실시간 연동이 많으면 이벤트 기반, 읽기 부하가 크면 CQRS로 확장해 ‘구조가 코드보다 먼저’라는 원칙을 지켜야 한다고 설명한다.

읽고 난 후

추천 지수 : ★★★★★

책 곳곳에 있는 Column, Memo, 알아두기와 같은 저자가 먼저 겪었던 경험들을 읽기 쉽게 해당 챕터에 관련된 실제 사례를 적어두었다. 내 상황이었으면 아찔했을 상황부터 아하!가 떠오르는 상황까지 다채롭게 수록되어 있다.

여러 회사를 거치며 겪었던 여러 종류의 서비스에대한 경험들이 이 책을 읽으면서 이걸 알았다면 더 쉽게 해결할 수 있었을 텐데 하는 생각이 들었다. 지금 이 서평을 작성하는 시점에서는 개발된지 20년이 넘은 서비스를 유지보수하고 있는데, 이 책의 내용을 체크리스트로 만들어 두고 장애 대응, 성능 점검, 보안 점검 때 꺼내 쓰면 좋을 것 같다.

태그: API, Deny-All, Failover, GC 튜닝, MVC, 개발자, 문제, 백엔드, 병목, 보안, 사례, 서버, 서비스, 실무, 주니어, 캐싱

업데이트: