1) 버전관리·협업 (1~10)
- Git: 코드 변경 이력 관리 도구
- Repository(Repo): 소스코드 저장소
- Commit: 변경 사항을 기록하는 단위
- Branch: 작업 분리용 가지
- Merge: 브랜치 변경 사항 합치기
- Rebase: 커밋을 다시 정리하며 이력 재배치
- Conflict: 병합 중 충돌(같은 줄 수정 등)
- PR/MR: 코드 리뷰 및 병합 요청(Pull/Merge Request)
- Tag: 특정 버전(릴리즈 지점) 표시
- Git Flow: 브랜치 운영 전략(예: main/dev/feature)
2) 빌드·패키징·릴리즈 (11~20)
- Build: 실행 가능한 결과물 생성 과정
- Artifact: 빌드 결과물(jar, 이미지, zip 등)
- Dependency: 프로젝트가 필요로 하는 외부 라이브러리
- Versioning: 버전 관리 규칙(예: 1.2.3)
- Semantic Versioning(SemVer): MAJOR.MINOR.PATCH 규칙
- Release: 사용자에게 제공되는 배포 버전
- Rollback: 문제 발생 시 이전 버전으로 되돌리기
- Hotfix: 긴급 수정 배포
- Patch: 소규모 수정(버그/보안 등)
- Changelog: 버전별 변경 기록
3) CI/CD (21~30)
- CI(Continuous Integration): 코드 통합/빌드/테스트 자동화
- CD(Continuous Delivery/Deployment): 배포 자동화(전달/배포)
- Pipeline: 자동화 작업 흐름(빌드→테스트→배포)
- Runner/Agent: 파이프라인 작업을 실행하는 실행기
- Stage/Job: 파이프라인 단계/실행 단위
- Build Cache: 빌드 속도를 높이는 캐시
- Artifact Registry: 빌드 결과물 저장소(이미지/패키지)
- Environment: dev/stage/prod 같은 배포 환경
- Approval/Gate: 운영 반영 전 승인 단계
- Blue-Green Deploy: 두 환경 전환으로 무중단 배포
4) 컨테이너·오케스트레이션 (31~40)
- Container: 실행 환경을 묶은 단위(가볍고 이식성 높음)
- Docker: 컨테이너 빌드/실행 도구
- Docker Image: 실행 템플릿(스냅샷)
- Dockerfile: 이미지 생성 레시피
- Container Registry: 이미지 저장소(Docker Hub 등)
- Kubernetes(K8s): 컨테이너 운영 자동화(배치/확장)
- Pod: K8s의 최소 배포 단위(컨테이너 묶음)
- Deployment: Pod를 선언적으로 배포/업데이트 관리
- Service: Pod에 안정적인 접근 주소 제공
- Ingress: 외부 트래픽을 서비스로 라우팅(HTTP 경로 기반)
5) 인프라·클라우드·운영 (41~50)
- IaC(Infrastructure as Code): 인프라를 코드로 관리(Terraform 등)
- Provisioning: 서버/자원 생성 및 초기 구성
- Configuration Management: 설정 자동화(Ansible 등)
- Observability: 로그/메트릭/트레이스를 통한 가시성
- Logging: 이벤트 기록(장애 분석의 핵심)
- Metrics: 수치 기반 지표(CPU, Memory, QPS 등)
- Tracing: 요청 흐름 추적(분산 환경에서 필수)
- Alerting: 이상 징후 알림(PagerDuty, Slack 등)
- SLA/SLO/SLI: 서비스 약속/목표/지표(신뢰성 관리)
- Incident Response: 장애 대응 프로세스(탐지→완화→복구→회고)
✅ DevOps에서 특히 자주 나오는 “핵심 세트” 5개
- CI/CD: 자동화의 중심
- Docker/K8s: 배포 단위와 운영 자동화
- IaC: 인프라를 코드로 재현 가능하게
- Observability: 장애를 “빨리 찾고, 빨리 고치기”
- SLO 기반 운영: 목표를 숫자로 관리
이 글이 도움이 되었나요?좋아요/추천은 다시 누르면 취소됩니다.