DevOps란 무엇인가
“Development (개발) + Operations (운영)”
DevOps는 Development와 Operations의 합성어이며, 기존의 개발 업무와 관리 업무로 나누어진 두 역할 사이의 커뮤니케이션, 협업, 통합을 강조하는 개념입니다.
장점
- 속도
작업 속도가 빨라지므로, 고객을 위해 더 빠르게 혁신하고, 시장 변화에 더 잘 적응하고, 좀 더 효율적으로 비즈니스 성과를 창출할 수 있습니다.
- 신속한 제공
릴리스의 빈도와 속도를 개선하여 제품을 더 빠르게 혁신하고 향상할 수 있습니다. 새로운 기능의 릴리스와 버그 수정 속도가 빨라질수록 고객의 요구에 더 빠르게 대응하여 경쟁 우위를 강화할 수 있습니다. 지속적 통합과 지속적 전달은 빌드에서 배포까지 소프트웨어 릴리스 프로세스를 자동화하는 방식입니다.
- 안정성
최종 사용자에게 지속적으로 긍정적인 경험을 제공하는 한편 더욱 빠르게 안정적으로 제공할 수 있도록, 애플리케이션 업데이트와 인프라 변경의 품질을 보장합니다. 지속적 통합 및 지속적 전달과 같은 방식을 사용하여 각 변경 사항이 제대로 작동하며 안전한지 테스트합니다. 모니터링과 로깅 방식을 통해 실시간으로 성능에 대한 정보를 얻을 수 있습니다.
- 확장 가능
규모에 따라 인프라와 개발 프로세스를 운영 및 관리합니다. 자동화와 일관성이 지원되므로 위험을 줄이면서 복잡한 시스템 또는 변화하는 시스템을 효율적으로 관리할 수 있습니다. 예를 들어 코드형 인프라를 사용하면 개발, 테스트 및 프로덕션 환경을 반복 가능하고 좀 더 효율적인 방식으로 관리할 수 있습니다.
- 협업 강화
주인 의식과 책임 같은 가치를 강조하는 데브옵스 문화 모델에서 좀 더 효과적인 팀을 구축합니다. 개발자와 운영 팀은 긴밀하게 협력하고, 많은 책임을 공유하며, 워크플로를 결합합니다. 이를 통해 비효율성을 줄이고 시간을 절약합니다(예: 개발자와 운영 팀 간에 인도 기간 단축, 실행되는 환경을 고려한 코드 작성 등).
- 보안
제어를 유지하고 규정을 준수하면서 신속하게 진행할 수 있습니다. 자동화된 규정 준수 정책, 세분화된 제어 및 구성 관리 기술을 사용함으로써, 보안을 그대로 유지하면서 데브옵스 모델을 도입할 수 있습니다. 예를 들어 코드형 인프라와 코드형 정책을 사용하면 규모에 따라 규정 준수를 정의하고 추적할 수 있습니다.
//우선 왜 필요한지는 이해를 하겠는데 어떻게 구현을 할것인가..
구현을 위한 Tools
Bootstrapping - 서버 OS설정이나 가상 장비 구축을 자동화하기 위한 도구 ex) AWS-EC2, VAGRANT
CI/CD
continuous integration; CI 지속적인 통합, 지속적 통합, 연속적 통합
continuous delivery; CD 지속적인 딜리버리, 지속적 배포, 지속적 전달, 연속적 배포
//저번학기에 배운 객체지향설계 과목에서 개발 방법에 대해 배웠던 내용이 겹치는것 같지만 새로운 내용 배우는 느낌 //궁금할때 마다 조금씩 더 추가해서 이해를 목표
reference
http://www.itworld.co.kr/news/85130 / ITWorld 용어 풀이 | 데브옵스(DevOps)
https://aws.amazon.com/ko/devops/what-is-devops/ AWS-DevOps란 무엇인가