데브옵스란 단순히 툴 하나나 특정 서버 세팅을 뜻하지 않고, 개발(Development)과 운영(Operations)을 이어주는 방식 전체를 의미한다.
1, 기본 개념
- DevOps = Development(개발) + Operations(운영)
- 목표: 코드를 빠르게 개발하고, 안정적으로 배포하고, 운영 중 문제를 빠르게 수정할 수 있게 하는 환경을 만드는 것
- 즉, 단순한 개발 환경이 아니라 자동화·협업·지속적 배포가 가능한 문화 + 프로세스 + 도구 세트 전부를 포함
2. 데브옵스 환경의 구성 요소
① 코드 관리
- Git/GitHub, GitLab 등을 사용
- 협업용 브랜치 전략, 코드 리뷰, Pull Request 기반 개발
② 빌드 & 테스트 자동화
- Jenkins, GitHub Actions, GitLab CI/CD 같은 CI(Continuous Integration) 도구
- 코드가 push되면 자동으로 빌드 → 테스트 → 결과 확인
③ 배포 & 운영 자동화
- Docker, Kubernetes, AWS, Oracle Cloud 같은 CD(Continuous Deployment/Delivery) 환경
- 서버에 직접 접속하지 않고도 자동 배포
④ 모니터링 & 로깅
- Prometheus, Grafana, ELK Stack, CloudWatch 등
- 서버 상태, 에러 로그, 성능 모니터링
⑤ 협업 문화
- DevOps는 단순히 툴이 아니라, 개발자와 운영자가 서로 따로 일하지 않고 한 팀처럼 움직이는 방식까지 포함
3. 예시로 본 DevOps 환경
- 로컬 개발자: IntelliJ에서 코드 작성 → GitHub에 push
- CI/CD: GitHub Actions가 자동으로 빌드·테스트 → Docker 이미지 생성 → 클라우드 서버에 배포
- 운영: Nginx 리버스 프록시로 외부 트래픽 처리 → 로그는 ELK Stack에서 모니터링
- 팀 문화: 개발자·운영자 모두 이 파이프라인을 공유하면서 협업
정리하면, “데브옵스 환경” = 개발과 운영의 경계가 줄어들고, 자동화된 도구와 프로세스를 통해 지속적으로 배포·운영할 수 있는 시스템 전체라고 할 수 있다.
'Dev Log (개발 문제 & 해결 기록) > Tech Notes' 카테고리의 다른 글
[#3][백엔드 최적화]백엔드 최적화 개념과 성능 지표 정리 (1) | 2025.09.10 |
---|---|
[#1] Nginx 리버스 프록시(reverse proxy) (1) | 2025.09.03 |