🔷 본 시리즈는 쎄트렉아이 기업 프로젝트에 참여하여 학습하거나 실습한 내용들을 기록할 예정입니다.
⚡ DevOps 철학과 SRE
📌 DevOps
🔷 개발과 운영 사이의 간극을 하나의 철학으로 묶은 것
- 새로운 기능을 만들어서 제품에 적용하는데 집중하는 개발팀
- 만들어진 제품을 안정적으로 유지하려고 집중하는 운영팀
🔷 DevOps 철학은 개발과 운영의 사일로 현상을 해결하기 위한 방법론이자 하나의 조직문화에 대한 방향성이다.
💡 DevOps는 'Developers + Operators' 를 가리킨다.
📌 SRE (Site Reliability Engineering)
🔷 제품의 안정적인 운영을 담당함과 동시에 새로운 기능과 운영 개선을 위한 작업을 수행하는 "역할"을 의미한다.
- Metric & Monitoring: 모니터링 지표와 안정성 목표 관리, 장애 지표 분석 및 개선 포인트 도출 (모든 걸 데이터화 한다.)
- Capacity Planning: 용량 계획, 배포 계획 수립/비정상적인 용량 계획에도 유연한 대처 (적합한 리소스를 계획할 줄 안다.)
- Change Management: 변경 관리, 소프트웨어 배포 및 업데이트 영역에 대한 안정성 보장 (시스템 설정 변경 오류 이슈를 해결한다.)
- Emergency Responce: 장애 처리, MTTR(Mean time to recover)지표 기반 장애 시스템 정상화 속도 기반 지표 측정 (오류는 즉각 해결한다.)
- Culture: 문화, 허용 가능 장애 시간을 정의(SLI, SLO)하고, SRE 활동을 잘 하고 있는지를 평가/이런 철학을 구성원이 승인
- 데이터 기반한 합리적인 의사 결정
- 서로를 비난하지 않는 포스트 모텀문화
- 책임을 나눠가지는 문화
💡 DevOps를 제안한 구글에서 'class SRE implements DevOps (SRE 클래스는 DevOps를 구현한다)' 라고 언급했다.
📌 CI/CD
🔷 애플리케이션 개발 단계를 자동화하여 애플리케이션을 더욱 짧은 주기로 고객에게 제공하는 방법, 쉽게 말해서 빌드/테스트 자동화 과정
🔷 CI
🔷 CD
📌 쎄트렉아이 프로젝트 스케줄 (Intro DPIC)
🔷 DevOps 철학 이해, 개발부터 배포/운영까지 전 과정을 단계 별로 만들어 가는 것이 본 프로젝트 최종 목표.
→ 로컬 한 사이클 돌아보기 - 아, 이런 개발 프로세스를 통해 개발하는구나!
→ Application 고도화 - 이런 식으로 SW 자동화를 만들어내는구나!
→ 클라우드 배포 운영 - 시연을 좀 더 Production Level에서 해보자!
🔷 개인 노트북 인프라 중심으로 DevOps 체인 구축, 진행 상황에 따라 클라우드 활용한 종합 체인 구성 단계까지 진행 예정
- 1단계) CI/CD 체인 인프라 구성, 파이프라인 코드 작성 코드 베이스 중심 CI/CD 체인 흐름 생성
- 2단계) CI 체인 가시화 필요성 확인, 가시화 체인 지원 자동화 서비스 설계/개발
- 3단계) CI 체인 정적/동적 지표 시각화, 모니터링 체인 + 자동 알림 체계 기반 정적/동적 지표 인지 체계 구성
- 4단계) CD 체인 자동화 필요성 확인, 배포 자동화 도구 개발 편의성 지원 체계 생성
- 5단계) 타겟 앱 배포 서비스 지표 모니터링 기반 구성, 배포 서비스 운영 지표 모니터링 & SRE 활동 시도
- 6단계) DevOps 체계 시연 목적 시험 절차 작성, 모사 데이터 준비, 다채로운 케이스 시뮬레이션 시나리오 생성 & 시연
본격적인 프로젝트에 앞서 간단한 배경 지식에 대해 알아보았다.