Life/Book

아마존 웹 서비스로 시작하는 데브옵스(DevOps) - 1. 데브옵스란?

고로이 2020. 11. 13. 17:59
반응형

아마존 웹 서비스(AWS)로 시작하는 데브옵스 (AWS DevOps Discovery Book) 

AWS를 활용한 빠르고 효과적인 데브옵스 활용법 ( 25,000원 )

권영환  | 정보문화사 | 2020년 06월 30일리뷰 총점9.4 정보 더 보기/감추기 회원리뷰(15건) | 판매지수 2,244 판매지수란? 베스트 프로그래밍 언어 top100 6주

 

아마존 웹 서비스(AWS)로 시작하는 데브옵스 (AWS DevOps Discovery Book)

클라우드, AWS를 커리어로 삼고 싶다면?『아마존 웹 서비스(AWS)로 시작하는 데브옵스 (AWS DevOps Discovery Book)』는 아마존 웹 서비스(Amazon Web Services)를 이용하여 클라우드 인프라 관리 및 데브옵스(De

www.yes24.com

 


1.데브옵스란?

개발자와 운영자의 소통, 협업 및 통합을 강조하는 문화, 방법론, 프로세스, 도구 모두를 의미한다.

사진 출처 : https://www.mimul.com/blog/devops-noops/

* 애자일 방법론

less document-oriented, 문서를 통한 개발이 아닌 code-oriented 인 실질적인 코딩을 통한 방법론

계획을 주도해나갔던 과거의 방법론과는 다르게 앞을 예측하며 개발하지 않고 일정한 주기를 가지고 끊임없이 프로토타입을 만들어낸다. 이를 통해 필요한 요구사항을 즉각적으로 수정하여 커다란 소프트웨어를 개발해 나가는 방법이다.

 

애자일 방법론의 도입으로 개발팀에서는 많은 변화가 일어났다.

  • 빨라진 소프트웨어 배포
  • 소소하고 빈번해진 소프트웨어 빌드
  • 새로운 요구 조건에 대한 빠른 개발과 응대

 

이로 인해 개발팀과 운영팀 간의 충돌과 이슈가 발생하게 된다. 이에 대한 개선의 요구로 배포, 테스트, 빌드 등의 개발과 운영의 전반적인 주기 자동화가 일어났고 이를 데브옵스(DevOps) 라 하였다.

 

2. 데브옵스를 적용해야 하는 이유

  • 비즈니스 경쟁력 확보 : 제품 관리자, QA, 개발자, 운영자, 정보보안 담당자가 유기적인 협력을 통해 높은 안정성과 신뢰성을 가질 수 있다. 가용성과 보안성 높은 시스템의 구축으로 높은 수준의 MarketShare와 매출을 거둘 수 있다.
  • 고객 니즈의 효과적 대응 : 기업 내 교차가능팀(Cross-Functional Team)의 구성을 통해 고객에게 어떤 서비스가 필요하며 조직의 목표 달성을 위해 어떤 서비스와 시스템이 필요한지 보다 빠르게 파악하고 지원할 수 있다. 동시에 각 분야의 담당자는 팀의 마찰을 줄이면서 개발자의 생산성을 높이고, 자동화된 운영/배포 모니터링 도구를 이용하여 다른팀에 의존하지 않고도 업무할 수 있다.
  • 소규모 팀의 독립적 프로세스 : 조직 내 소규모의 팀이 코드를 신속하고 독립적으로 개발, 테스트, 배포할 수 있는 프로세스를 구축할 수 있으며 고객에게 빠르고 안전하며 신뢰할 수 있는 가치를 제공할 수 있다.

3. 데브옵스의 기대효과

  • 빠르고 정확하게 운영 환경에 코드를 배포할 수 있다. 일상적이고 예측가능하고 빈번하게 수시로 배포가 진행 가능하다.
  • 배포 프로세스 단계별로 빠른 피드백 루프를 생성할 수 있다. 변경사항들과 버전 관리를 위해 자동화된 툴을 활용 가능하며 빠른 피드백을 통해 신속하게 대응할 수 있다.
  • 자동화를 통해 보다 빠르고 효과적으로 업무 진행이 가능하다. 자동화된 테스트와 배포 툴을 활용하여 문제를 신속하게 확인할 수 있고, 이를 수정하여 배포 가능하다.
  • 원하는 기능과 고객의 요구사항을 독립적으로 전달하고 배포할 수 있다.
  • 신규 제품이나 긴으의 출시와 이에 대한 피드백을 보다 효과적으로 진행할 수 있다.

4. 데브옵스를 위한 필수 구성 요소

4-1. 데브옵스 컬쳐의 구성 요소

 

  • 배려와 존중의 환경 구성하기 : 문제를 해결하는데 집중하고 각자의 전문성을 신뢰하는 분위기
  • 자유로운 토론 환경 구성하기 : 문제로부터 숨지 않으며 개발자와 운영자 간 자유로운 토론과 대화를 장려하여 진행사항이나 향후 계획을 공유
  • 남 탓하지 않기 : 운영 중 문제 발생 시 개발팀과 운영팀 간 책임이 공유되어 서로 비난하지 않고 협력하여 문제를 해결할 수 있다.
  • 완료되었다고 해서 책임을 회피하지 않기 : 개발팀과 운영팀은 서로 개발과 운영에 참여하여 상호 업무에 대한 이해와 협력이 필요하다. 성공과 실패는 양쪽 모두에게 책임을 지는 인식의 공유가 필요.

 

4-2. 데브옵스를 위한 기술적 구성 요소

  • 코드 기반 인프라(Infrastructure as Code) 관리 (=프로그래밍형 인프라) : 코드 기반으로 시스템과 운영/배포 환경의 구축
  • 버전관리(Version Control) : 버전 제어 소프트웨어를 이용해 소스코드의 수정사항을 저장하고 추적한다. 코드 개발이 잘못되었을 때 이전 버전의 코드와 비교하여 오류를 수정할 수 있다.
  • One-Step 빌드와 배포 : 잦은 배포의 주기는 위험을 분산하고 사전에 파악할 수 있다. 이 때 빌드와 배포 도구의 자동화를 통해 빌드와 배포가 한번에, 지속적으로 수행 가능하도록 한다.
  • 장애 시 인프라의 빠른 배포 : 문제가 발생하면 기존 시스템을 재배포. image기반의 인프라를 활용하여 기존 인프라를 수정하지 않고 재배포한다.

 

5. 데브옵스와 클라우드

물리 하드웨어를 도입하는 것보다 클라우드 서버를 이용하게 되면서, 기존 서버구축에 이용되던 1달 이상의 시간이 짧게는 3시간 이내로 단축되었다. 프로젝트 초기에 보다 빠르게 개발 환경을 구성하고 진행할 수 있게 되었다.

나아가 개발자가 원한다면 운영팀은 빠르게 서버를 구축해 줄 수 있다.

나아가 클라우드로 이전하게 된다면 시스템의 확장성과 서비스 가용성을 통해 신규 서비스 출시의 속도를 증가시킨다. 또한 비용 모델을 이용하여 새로운 서비스의 개발과 신기술 적용을 위해 많은 비용을 투자하지 않아도 되어, 이후 마케팅 전략 수립에 도움이 된다.

 

 

 

반응형