[90DoDO] 시리즈는 MichaelCade의 90DaysOfDevOps 2022.ver를 바탕으로 공부한 내용을 담고 있습니다.
개인적인 견해는 초록색 초록색 글씨로 표시합니다.
day04. DevOps & Agile
Agile(애자일) 개발이란?
애자일이란, 제품 혹은 서비스를 작게 쪼개 빠르게 제공하는 방식으로,
작은 서비스 개발을 연속적이고 반복적으로 진행합니다.
최종적으로 유저에게 최적의 사용자 경험을 제공하기 위합입니다.
DevOps란?
앞에서 살펴본 것처럼, 자동화된 프로세스를 통해
애플리케이션의 오류를 수정하고 배포하는 방법입니다.
둘은 무슨 관계일까요?
짧은 반복을 이루는 애자일 방식으로 개발하기 위해선
DevOps의 자동화 프로세스가 이용되어야 합니다.
하지만 둘은 서로 다른 대상을 타겟으로 합니다.
애자일은 서비스 유저와 개발자 간 커뮤니케이션을 중점으로 하지만,
DevOps는 개발 과정에 참여하는 인원을 중점 대상으로 합니다.
즉, 애자일은 고객을 위한 외부 지향적 방법, DevOps는 일련의 내부 관행입니다.
따라서 피드백의 출처와 그 우선순위도 다릅니다.
또, 적용되는 프레임워크도 다릅니다.
애자일은 다양한 관리 프레임워크가 존재합니다.
* Scrum > Kanban > Lean > Extreme > Crystal > Dynamic > Feature-Driven
DevOps는 협업을 통한 개발에 중점을 두지만 구체적인 방법론을 제공합니다.
Terraform, Kubernetes 등 DevOps의 많은 기술들은 그저 권장 사항일 뿐입니다.
두 기술(방법)은 대상 영역도 다릅니다.
애자일은 요구 사항 개발, DevOps는 개발보다도 배포와 그 후의 단계에 더 집중합니다.
따라서 사용하는 Tool도 다릅니다.
애자일은 협업, 피드백 처리같은 커뮤니케이션에 집중한 툴을 사용합니다.
예로 JIRA, Slack, Trello 등이 존재합니다.
DevOps는 개발, 배포 및 통합을 위한
Jenkins, GitHub Actions, BitBucket과 같은 도구를 이용합니다.
애자일과 DevOps를 결합하면
- 애자일 방법론은 DevOps 팀의 효율적인 소통에 도움이 됩니다.
- 애자일 요구사항에 적합한 DevOps 기술 지출이 합리적이게 되고
- 서비스 품질이 향상하는 등
기술적/비기술적인 장점을 얻을 수 있습니다.
DevOps와 애자일 동시 도입
이 둘을 서비스 개발에 동시에 도입하기 위한 권장 순서입니다.
1. 개발 팀과 DevOps팀 통합
2. 빌드 및 운영팀을 만들어 개발과 운영 관련 문제를 전체 DevOps 팀에서 논의
3. 개발 팀과 운영 팀이 다른 팀의 workflow와 발생 가능한 문제에 대한 의견 교환 장려
4. 모든 개발 단계에 QA 도입
5. 올바른 도구 선택 후 가능한 모든 것 자동화
6. 가시적인 수치 결과물을 사용해 측정하고 제어.
'DevOps' 카테고리의 다른 글
[90DoDO] day07-12 Go 언어 기초 (2) | 2024.09.24 |
---|---|
[90DoDO] day05 계획 > 코드 작성 > 빌드 > 테스트 > 릴리즈 > 배포 > 운영 > 모니터링 > (0) | 2024.09.17 |
[90DoDO] day03 애플리케이션 중심의 데브옵스 수명 주기 (1) | 2024.09.17 |
[90DoDO] day01 개요 & day02 DevOps엔지니어의 책임 (0) | 2024.09.17 |