반응형
Amazon EKS 아키텍처 구성하기 (심리스)
개발 & 운영을 하면서 겪는 문제
운영 배포가 실패했습니다.
- 내 컴퓨터에서는 되는데?
- Test / QA에서는 되는데?
- 왜 운영에서는 장애가 나지?
- 개발팀과 운영팀 내에서 책임과 회피가 발생한다
- “너가 코드 바꿈”
- “Devop가 배포 잘못한거 아님?”
- 점점 풀수없는 문제들이 심화됨
배포 작업자의 실수로 서버가 날라감 (Terraform destory)
- 통제불능이 되버림…
그렇다면 운영환경의 실수를 줄이기 위해서는 → GitOps
- Git Repository를 활용한 방법론
- Git Repository에서는 어떤 원하는상태의 근거로 사용한다
- Pull Request로 코드로 관리한다
- 의도한 상태 + 관찰된 상태 모두 자동화된 형태로 운영한다
- Git Repository를 활용해서 배포 / 관리를 진행한다
- Infrastructure as a Code
Terraform
- Cloud Formation
- CDK
왜 git 이어야 하는가?
- Git 자체는 기록이 모두 남기 때문에 모든 배포 과정이 graph로 그려진다.
- PR 자체를 사용하여 배포를 하기때문에 명확하다
- 배포 장애에 굉장히 신속하고 정확하게 대응이 가능한
GitOps 도구
- FluxCD
- EKS Anywhere
- MSA Operator
- EventTrigger + Polling
- Slack 외부 기타 시스템 Alert + Webhook
- ECR을 쳐다보게 할 수 있음..
- 개발자가 PR의 대한 자동화를 해줌
Progressive Delivery
- 지속적인 배포 → CI / CD의 속도를 기반으로 하는 배포 프로세스
- 정합성을 지속적으로 검사
Argo Rollouts
- 트래픽 형성기능 활용하여 업데이트 중에 트래픽을 점진적으로 제공
- 다양한 메트릭을 쿼리를 사용하여 + 롤백유도할수 있는 기능제공
- Kubernetes CRD를 통하여 A/B 테스트 가능
- 배포작업이 자동화 → Progressive Delivery
- 최고의 조합은
- Istio + Argo Rollouts
정리
- Giops
- Git을 활용하여 Operation Practice를 통칭
- Continouse Deployment를 형상화하는 운영방법론
Progressive Delivery
- Continouse Deployment 진화된 형태
- 기존 CD + Canary + BlueGreen 등 고급배포 방법론을 제공
Flagger
Argo Rollouts
반응형
'컨퍼런스 내용정리' 카테고리의 다른 글
강연정리) AWS에서 글로벌 인프라 관리하기 (0) | 2024.12.22 |
---|---|
강연정리) Lambda In Golang (토스) (0) | 2024.12.22 |
강연정리) EKS + Kinesis = CQRS (1) | 2024.12.22 |
강연정리) 대규모 마이그레이션 전략 (0) | 2024.12.22 |
강연정리) 글로벌 채팅 서비스 (카카오) (1) | 2024.12.22 |