DZone.com의 RSS
팔로우
가동 시간 엔지니어링: 관찰 가능성, 테스트 및 견고한 백엔드 서비스를 향한 길
배경
단 한 번의 모바일 탭으로도 수많은 백엔드 이벤트가 발생할 수 있습니다. 마이크로서비스 API 호출, 큐를 통한 메시지/이벤트 전송, 데이터베이스 쓰기, 일시적인 장애에 대한 재시도 등이 모두 성공 또는 오류 토스트 메시지를 반환하기 전에 일어납니다. 사용자는 이러한 복잡성을 알지 못합니다. 자동 확장 정책, 캐시 적중률, 종속성 그래프 등에 대해 알지 못합니다. 사용자가 아는 것은 자신의 요청이 처리되었는지, 결제가 성공했는지, 혹은 음식 주문이 확인되었는지 여부뿐입니다.
그리고 문제가 발생했을 때, 시스템이 얼마나 우아하게 복구되는지는 바로 이 숨겨진 복잡성에 의해 결정됩니다. 그렇기 때문에 안정성은 더 이상 SRE 팀만의 일이어서는 안 됩니다. 이는 모든 백엔드 엔지니어의 일상적인 의사 결정에 내재되어야 하는 공유된 책임입니다. 시스템을 설계하는 방식부터 알림 작성, 코드 배포, 장애 처리 방식에 이르기까지, 안정성은 단순히 바라는 것으로 이루어지는 것이 아니라 엔지니어링되어야 합니다.