- (Dev팀과 Ops팀) 각 팀의 목표는 어떻게 다른가요? 두 팀의 목표에서 상충되는 부분이 존재하나요?
- Dev팀의 목표 - 빠르고 새로운 기능을 제공하고 버그를 고치는 것 → 잦은 업데이트를 통해 제품에 변화를 가져와야 함.
- Ops팀의 목표 - 서비스의 안정성과 빠른 성능을 유지 → 서비스의 구성에 변경을 최소화하여 안정성을 확보해야 함.
- 두 팀의 목표가 상충되는 부분이 존재할 수 있다. Dev팀은 새로운 제품/기능 출시를 위해 빠르게 개발하고 배포하려 하지만, Ops팀은 안정적인 운영을 위해 변경사항을 검토하고 테스트한 후에 배포를 승인하려 할 것이다.
💡 해결책
- 단순히 어떤 툴로 해결할 수 있는 문제가 아니고 DevOps팀을 조직해서 해결할 수 있는 문제도 아님
- 프로세스 수립이 필요(CI/CD 파이프라인)
- 애자일하게 개발하는 문화가 필요
- DevOps를 실현 가능하게 하기 위해 기술이 필요한 부분과, 기술이 아닌 문화로 풀어야 할 부분은 각각 무엇인가요? CI/CD 파이프라인에 근거해 답해봅시다.
- CI/CD란 클라우드 서비스의 전달방식으로 지속적 배포와 지속적 전달의 의미를 가지고 있다. DevOps를 실현 가능하게 하기 위해서 CI/CD 파이프라인 구축, 인프라 자동화등의 기술이 필요하다. 두 팀의 목표가 상충하는 부분이 존재하므로 DevOps팀의 문화도 중요하다. 문화로 풀어야 할 부분은 팀원 간의 협력과 의사소통이 필요하고 서로의 역할과 책임을 공유하는 것이 중요하다. 함께 업무를 수행하고, 문제가 발생했을 때 서로가 서로의 업무를 이해하고 대처할 수 있어야 한다. 운영조직이 공동의 비즈니스 목표를 가지고 전체 개발 과정에서 원활한 협업을 하기 위하여 애자일이 강조하는 빠른 피드백과 상호작용이 필수적이라 할 수 있다.
💡 커뮤니케이션, 협업능력이 중요하다.
발표 때 보니 다른 분들은 자세하게 과제 질문에 대해 답 했던데 나는 아직 부족한 듯.. 과제 더 열심히 하자😅
프로비저닝
- 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해두고 필요에 따라 즉시 사용할 수 있는 상태로 준비시켜두는 것. 이를 통해 빠르고 안정적인 서비스를 제공할 수 있다.
DevOps 엔지니어가 서버관리자와 다른 점
- 인프라 구성을 클라우드 상에서 구성할 수 있음
- 인프라 구성을 코드로 작업할 수 있음
- 고도화된 자동화
- 많은 부분 개발 역량을 필요로 함
- CI/CD 파이프라인을 통해 서비스의 전달 관리
성능, 확장성, 가용성
- 성능이 좋다 : 처리량이 뛰어나다(시간 데이터로 말하면 좋음)
- 확장성이 좋다 : 많은 사용자들의 요청에 대응할 수있다
- 가용성이 좋다 : 전체 시간 대비, 사용 가능한 시간 비율이 높다