참조 : 박병진 https://posquit0.com DevOps엔지니어의 역할
정의
- DevOps Engineer는 조직에 데브옵스 문화를 정착시키는데 도움을 주는 역할이다.
- 개발자가 개발 뿐만 아니라 운영에도 참여할 수 있는 환경을 만들어 준다.
사례)
개발자
- 테스트하고, 배포하고, 관측하고 싶어요.
데브옵스엔지니어
- 개발자는 비즈니스에 집중하세요. 데브옵스 엔지니어가 환경을 마련해 줄게요.
데브옵스 팀의 업무도메인
네트워크
- 가상 네트워크 및 물리 네트워크 구성
- 프록시 / VPN 서버 운영
- DNS 서버 운영
오케스트레이션 플랫폼 (Orchestration Platform)
- 쿠버네티스 / ECS / Nomad와 같은 오케스트레이션 시스템 구축 및 운영
- Airflow / Argo Workflows와 같은 워크플로우 엔진 구축 및 운영
관측 플랫폼 (Observability Platform)
- 로그 / 메트릭 / 업타임 / APM 정보를 관측할 수 있는 중앙화된 시스템 구축 및 운영
- 주요 이벤트에 대한 알림 시스템 구축
개발 및 배포 플랫폼 (Development & Deployment Platform)
- GitLab / GItHub 와 같은 버전관리 및 개발 협업 플랫폼 운영
- CI/CD 파이프라인 시스템 구축 및 운영
- QA 테스트 및 성능 테스트를 위한 환경 제공
- 패키지 저장소 운영 및 배포 산출물 관리
클라우드 플랫폼 (Cloud Platform)
- 개발자들이 활용할 수 있도록 클라우드 환경 운영 (자체 클라우드, 퍼블릭 클라우드 등)
보안 플랫폼 (Security Platform)
- LDAP / AD / SAML 등을 활용하여 통합된 임직원 계정계 운영
- 서버 및 데이터베이스 접근제어 시스템 구축 및 운영
- 네트워크 방화벽 정책 관리
서비스 운영 (Service Operations)
- 개발자들과 협업하여 서비스 공동 운영
데이테 플랫폼 (Data Platform)
- MySQL / DynamoDB / Redis 와 같은 데이터베이스 구축 및 운영
- RabbitMQ / Kafka / SQS등과 같은 메시징 서비스 구축 및 운영
- 데이터 웨어하우스 / BI대시보드 구축 및 운영