Lowe’s가 Google SRE 관행으로 고객 수요를 충족하는 방법
Rahul Mohan Kola Kandy
Sr. Manager, Digital SRE, Lowe’s Companies, Inc.
Vivek Balivada
Director, Digital SRE & Ops, Lowe’s Companies, Inc.
* 본 아티클의 원문은 2021년 6월 8일 Google Cloud 블로그(영문)에 게재되었습니다.
편집자 주: 오늘은 Lowe’s SRE팀의 사례를 살펴보겠습니다. Google 사이트 안정성 엔지니어링(SRE) 프레임워크를 채택하고 Google Cloud와의 파트너십을 활용해서 지원 가능한 출시 수를 늘릴 수 있었던 비결을 공유합니다.
Lowe’s는 다년간에 걸쳐 기술 혁신을 단행하면서 괄목할 만한 발전을 이뤄냈습니다. 시스템을 현대화하고 고객 및 관계자를 위한 새로운 기능을 빌드하기 위해 Lowe’s는 니즈를 보다 빠르고 효율적으로 충족시킬 수 있도록 지원하는 Google SRE 프레임워크 및 Google Cloud를 활용하고 있습니다. 이러한 노력에 힘입어 2주에 한 번이었던 출시가 하루 20개 이상으로 증가하면서 월별 출시 횟수가 약 20배 뛰었습니다.
하지만 SRE 혁신이 하루 밤 사이에 이뤄진 것은 아닙니다. 혁신을 이루는 단계마다 난관에 부닥쳤습니다. 하지만 돌아보면 결과적으로 고객을 위해 많은 성과를 이뤘다는 점에서 보람을 느낍니다.
SRE 관행을 채택하기 전인 2018년에는 주도적이기보다 수동적으로 대응하면서 '모니터링에 급급한' 자세를 취했습니다. 반복 작업과 수동 작업이 지나치게 많아 상시 대기 구조 및 사고 관리 효율성이 낮았기 때문에 운영 부담이 컸습니다. 프로덕션 환경의 문제가 제품 로드맵에 반영되지 않아 수정 시 지연이 발생했습니다.
Lowe’s의 SRE 부트스트랩 수행
온프레미스에서 Google Cloud로 이전함에 따라 모놀리식 기반에서 마이크로서비스 기반의 아키텍처로 이동하기로 결정했습니다. 또한 새로운 아키텍처를 보다 효과적으로 관리하기 위해 SRE 여정을 시작했습니다.
그러다 코로나19 사태 발생과 더불어 고객들이 전면적인 주택 개조 니즈를 충족하기 위해 부쩍 온라인 주문 및 배달을 선택하면서 SRE 여정에 더욱 박차를 가해야 했습니다. 이를 위해 Lowe's는 변화하는 고객 니즈를 빠르게 충족시키고 신속하고 안정적으로 제품을 출시할 수 있도록 도와주는 네 가지 원칙을 따랐습니다.
- 자동화로 업무 부담 제거
기존 운영 방식에서 SRE 생태계로 이동하면서 발생한 가장 큰 기회는 업무 부담이 줄어든 것입니다. 덕분에 엔지니어가 경영 성과 및 고객이 원하는 결과물을 도출할 수 있는 활동에 시간을 투자할 수 있습니다. 여기서 업무 부담이란 반복적이며, 전략적이고, 지속적인 가치가 결여되어 있으나 자동화가 가능한 수작업을 의미합니다. 업무 부담을 덜기 위해 Lowe's는 직접 개입해야 하는 작업을 자동화하는 일에 집중했습니다. 예를 들어 알림이 발생했을 때 엔지니어가 최초의 연락 지점이 되지 않도록 했습니다. 엔지니어가 수행할 수 있는 분류 작업이나 해결 방법이 있다면 머신이 동일한 작업을 수행할 수 있도록 학습시킬 수 있습니다. Lowe's는 지도 및 비지도 학습 기술을 사용하여 업무 부담을 자동화했습니다. '업무 부담을 없애자'라는 장기적인 목표에 따라 SRE는 조직 전반에서 업무 부담을 식별하고 관리 가능한 수준으로 줄였습니다. - 로드맵을 통한 엔지니어 조율
Lowe's의 목표는 개발팀의 엔지니어링 속도를 극대화하면서도 제품 안정성을 유지하는 것입니다. 이를 위해 제품팀, SRE팀, 개발팀이 긴밀하게 협업하는 참여 모델을 정립하고자 했습니다. 이러한 협업을 가능케 한 비결은 SRE를 도메인 및 제품팀에 포함시킨 것입니다. 각 도메인에 제품 개발의 초기 단계에 관여하는 SRE가 배치되어 해당 도메인의 관계자들이 SRE 이니셔티브에 부합하게 업무를 수행할 수 있습니다. 이와 같이 SRE는 서비스 수명 주기의 모든 단계에 걸쳐 서비스의 안정성, 성능, 확장성, 출시 속도를 향상시킬 수 있습니다. - 원터치 출시 방식 채택
이전에는 프로덕션 경로에 여러 수동 단계 및 검증이 포함되어 기능 출시 속도를 둔화시켰습니다. 또한 한 번에 배포할 수 있도록 모든 출시를 하나로 묶었기 때문에 실패 위험이 커졌고 프로덕션에서 피드백 루프가 더 길어졌습니다. SRE 방식으로 이러한 문제를 해결하기 위해 SRE가 제품팀의 pull 요청을 검토하는 원터치 출시 프로세스를 만들었습니다. 승인을 받으면 승인된 변경사항을 프로덕션에 안전하게 배포하는 DevSecOps 파이프라인이 트리거됩니다. 이러한 프로세스는 빠른 피드백 루프가 가능한 안전하고, 안정적이고, 지속가능한 지속적 배포 파이프라인을 만들었습니다. 속도, 혁신, 안정성이 균형을 이루면서 연간 출시 횟수가 기하급수적으로 증가했습니다. 자동화된 여러 품질 확인 및 프로세스를 포함하여 양질의 코드를 제공하는 데 걸리는 시간이 30분 미만으로 단축되었고 이 모든 작업이 단 한 번의 클릭으로 가능해졌습니다. - 용량 계획 수용
서비스에 급격한 트래픽 증가를 처리할 수 있는 충분한 예비 용량을 갖추기 위해, SRE는 지속적 배포(CD) 파이프라인에서 용량 변경 권장사항을 수행하는 용량 계획의 중요성을 강조했습니다. SRE는 지속적인 성능 모니터링을 통해 서비스가 강력하고, 안정적이며, 사용 가능한지 확인합니다. 또한 예측된 볼륨을 넘어서 트래픽이 급증하는 경우 SRE가 필요에 따라 용량을 변경하고 성능 및 도메인팀을 위해 해당 변경사항을 기록합니다.
용량 계획은 블랙 프라이데이 및 사이버 먼데이(BFCM) 같은 성수기에 특히 중요합니다. Lowe's는 3개월 전에 미리 SRE 안정성 계획을 마련하고 도메인팀의 제품 로드맵에 반영합니다. 이렇게 하면 개발팀이 안정성을 위해 충분한 엔지니어링 시간을 할당할 수 있습니다. 성능 테스트를 통해 해당 환경이 부하 증가를 장기간 견딜 수 있으며 트래픽 급증을 처리할 수 있는지 확인합니다. 또한 전 세계적인 규모로 리전 장애 조치 테스트를 수행하여 서비스수준계약(SLA)의 자동 장애 조치 기간, SRE, 도메인 준비 상황을 확인합니다. 아울러 블랙 프라이데이 및 사이버 먼데이와 관련된 집중 테스트를 수행하여 고객 경험, 안정성 등을 검증합니다.
Google Cloud의 블랙 프라이데이 및 사이버 먼데이고객 맞춤형 서비스는 Lowe’s가 2019년 BFCM 및 2020년 BFCM에 성공적인 결과를 얻는 데 핵심적인 역할을 했습니다. 이 서비스에는 Google 고객 신뢰성 공학(CRE)팀의 현장 방문을 통한 Lowe’s 웹 아키텍처, 용량 계획, 이벤트 위험에 대한 운영 관행 검토 및 사고 대응 권장사항과 같은 주제에 대한 워크샵 등이 포함됐습니다.
향후 계획
언제나 개선의 여지는 있으며 Lowe’s는 SRE 관행을 지속적으로 개선해나갈 것입니다. 지금까지 효과가 좋았고 앞으로도 이어갈 SRE 관행으로는 로드쇼를 꼽을 수 있습니다. 로드쇼에서는 선임 SRE 책임자가 다른 SRE 및 애플리케이션 도메인팀에 최신 SRE 원칙 및 권장사항을 소개하고 상대방의 의견을 실시간으로 청취하는 자리입니다.
Google 도구 및 방법론은 SRE 관행을 재구성하고 고객 서비스를 개선하는 데 있어서 중요한 역할을 했습니다. Lowe's는 SRE 여정을 지속하면서 Google Cloud와 모멘텀 및 파트너십을 계속 발전시켜 나가기를 기대합니다.
Google Cloud에서 SRE 권장사항을 채택하는 방법에 대한 자세한 내용은 관련 문서를 확인해 보세요. Google SRE에 대해 자세히 알아보려면 Google Cloud 웹사이트를 참조하세요. Lowe's에서 SRE 관행 및 도구를 채택하기 위해 엔지니어링 인력을 교육시키고 SRE 원칙에 따라 MTTR을 향상시킨 방법이 궁금하다면 다음 블로그를 기다려 주세요.