목록전체 글 (56)
Chapter 8 - Release EngineeringSummary릴리즈 엔지니어의 역할릴리즈 엔지니어는 소프트웨어 엔지니어 및 사이트 SRE와 협력하여 소프트웨어의 빌드, 테스트, 패키징, 배포 등 릴리즈에 필요한 모든 단계를 정의한다. 이를 통해 개발 팀이 기능 개발에 집중할 수 있도록 지원하며, 일관되고 반복 가능한 릴리즈 프로세스를 보장한다.릴리즈 엔지니어링의 철학자기 주도 서비스 모델 : 릴리즈 프로세스는 자동화를 통해 엔지니어의 개입을 최소화하여 문제 발생하지 않는 이상 엔지니어가 개입할 필요가 없다빠른 릴리즈 주기밀폐된 빌드 : 빌드 프로세스의 결과물은 항상 동일해야 하기에 버전 관리를 통해 일관성을 유지한다원리와 절차의 강제 : 프로젝트 릴리즈 시 엄격한 관리 작업을 통해 문제가 발생했을..
Chapter 7 - The Evolution of Automation at Google📌Summary자동화의 필요성: 시스템 규모가 커지고 복잡해짐에 따라 수동 작업은 비효율적이며 휴먼 에러의 발생률이 높아진다. 자동화를 통해 일관성을 유지하고 운영의 신뢰성을 향상시킴자동화 사례: 클러스터 턴업 자동화를 통해 새로운 클러스터를 설정하는데 드는 시간을 줄이고 이를 통해 낮은 지연 시간을 가지는 클러스터를 구축할 수 있게 되었음. 클러스터 턴업 자동화가 더욱 발전하여 Borg가 되었고, 현재의 Kubernetes의 근간이 된 것 같다.실패 용인: 구글에서 진행한 자동화의 실패 사례를 설명해줌. 디스크삭제 프로세스 디버깅 중 스크립트가 운영 중이던 거의 모든 서버에 디스크삭제를 진행. 다행히(?) 소수의 ..
Chapter 5 - Eliminating Toil📌Summary삽질(Toil)의 정의프로덕션 서비스 운영과 직접적으로 연관이 존재수작업을 동반함자동화된 작업을 실행하기 위해 수작업으로 스크립트를 실행하는 것 또한 포함된다반복적임자동화가 가능함인간의 판단에 의해 실행되어야 한다면 삽질로 분류되지 않는다사후 대처가 필요함미리 처리할 수 있는 업무가 아니고 업무를 방해하며, 사후에 처리하게 되는 일이다지속적인 가치가 결여되어 있음특정 작업을 수행했음에도 서비스가 계속 같은 상태로 남아있는 경우서비스의 성장에 비례하여 증가함위의 조건들을 만족하는 업무들은 삽질이라고 정의한다.삽질이 줄어들면 좋은 이유삽질은 엔지니어의 시간을 소모하고, 자동화와 효율성을 저해하기에 삽질을 줄이거나 제거함으로써 엔지니어는 더 가..