728x90
1.DevOps
개발(Development),운영(Operations)을 합친 용어
소프트웨어 개발과 IT 운영의 협업과 커뮤니케이션을 통해 소프트웨어 개발 프로세스를 자동화하고 최적화하는 방법론이다.
2.요소
2-1.지속적인 통합 (CI, Continuous Integration)
개발자가 변경한 코드가 정기적으로 중앙 저장소에 병합되도록 자동화하는 과정
- Jenkins: 오픈소스 CI/CD 도구
- GitHub Actions: GitHub과 통합된 CI/CD 워크플로우 자동화
- GitLab CI/CD: GitLab에서 제공하는 빌드 및 배포 자동화 도구
- CircleCI: 클라우드 기반의 빠르고 유연한 CI 도구
2-2.지속적인 배포 (CD, Continuous Delivery/Continuous Deployment)
CI를 통해 검증된 코드가 프로덕션 환경에 자동으로 배포되는 프로세스
- ArgoCD: GitOps 기반의 Kubernetes 배포 자동화
- Spinnaker: 멀티 클라우드 배포 도구
- Flux: Kubernetes 네이티브 GitOps 배포 도구
- AWS CodeDeploy: AWS 기반 배포 자동화 도구
2-3.모니터링과 로깅
애플리케이션과 인프라의 성능 및 문제를 실시간으로 감지하고 분석하는 과정
- Prometheus: 시계열 데이터 모니터링 및 알림
- Grafana: 데이터 시각화 대시보드
- ELK Stack (Elasticsearch, Logstash, Kibana): 로그 수집 및 분석
- Datadog: 클라우드 기반 모니터링 및 로깅
2-4.인프라 코드화 (Infrastructure as Code, IaC)
인프라 설정을 코드로 정의하여 버전 관리 및 자동화할 수 있도록 하는 접근 방식
- Terraform: 클라우드 인프라 프로비저닝 도구
- Ansible: 자동화된 구성 관리 도구
- Chef: 서버 설정 및 배포 자동화
- Pulumi: 프로그래밍 언어를 활용한 IaC
728x90
'Computer Science > 개발지식' 카테고리의 다른 글
[개발지식] BaaS(Backend as a Service) (0) | 2025.02.11 |
---|---|
[개발지식] 서드파티(Third Party)란? (0) | 2025.02.09 |
[개발지식] 네이티브 앱 (Native App) VS PWA(Progressive Web App) (0) | 2025.02.08 |