본문 바로가기

Study Log/DevOps

[DevOps] 데브옵스의 개요 | DevOps란 무엇이고, 왜 필요할까?

728x90

# DevOps

"제품의 변경 사항을 품질의 보장하면서 프로덕션에 반영하는데 걸리는 시간을 단축하기 위한 실천 방법의 모음"

 

DevOps 란 ,

소프트웨어의 개발(Develop)과 운영(Operate)의 합성어로서, 소프트웨어 개발자와 정보기술 전문가 간의 소통, 협업 및 통합을 강조하는 개발 환경이나 문화를 말한다.

 

실제 IT 조직의 운영을 보면, 개발조직과 운영 조직이 따로 존재하여 그 사이에서 이해도의 차이 등으로 인해 어려움이 있던것들을 극복하고자 개발조직과 운영조직을 하나의 팀으로 통합하고자 하는 문화이자 철학이라고 할 수 있다.

 

- DevOps의 시작

2009년 O'Reilly Velocity Conference <하루에 10회 이상 배포하기: Flickr에서 Dev와 Ops의 협업>

2009년 DevOpsDays Ghent 패트릭 드부아(Patrick Debois)가 <10 Deploys per Day> 발표를 듣고 감명 받아 주최된 컨퍼런스 에서 처음 언급되었다.

 

DevOps가 필요한 이유

보통의 한 서비스를 기획하여 운영하는 프로세스, SDLC를 살펴보자.

 

소프트웨어 개발의 생애주기(SDLC : Software Development Lifecycle)

Design(설계) - Develop(개발) - Test(테스트) - Deploy(배포) - Operate(운영) - Support(지원)

Full Cycle Developers at Netflix — Operate What You Build

조직의 규모에 따라서 각 단계별로 담당자가 지정될 수 있는데, 그만큼 의사소통이 많아짐으로인해 문제가 발생하고 병목구간이 쉽게 생긴다.

 

DevOps를 통해 업무 효율성 개선, 조직내 협업 개선, 제품 출시 주기 단축 등을 기대할 수 있다.

 

DevOps는 어떻게 일하는가?

"개발과 운영의 벽을 허물어 더 빨리 자주 배포하자"

 

실천방법 : AWS

- 지속적 통합(Continuous Integration)

- 지속적 배포 (Continuous Delivery)

- 마이크로 서비스 (Micro-services)

- IaC(Infrastructure as Code)

- 모니터링과 로깅(Monitoring & Logging)

- 소통 및 협업 (Communication & Collaboration)

 

AWS에서 제안하는 안전하고 효율적인 빌드 프로세스 (CI/CD 파이프라인) DevOps 실천방안 을 시행해볼 수도 있다.

위에서 제안하는 방법들 중 CI, CD만 지속적으로 이루어 져도 성공적으로 DevOps 의 장점들을 이끌어 낼 수 있다.

 

실천방법 2 : Flickr(2009)

가장 처음 데브옵스에 대한 개념을 이야기했던 세션의 발표자가 제안한 방법이다.

* 변화에 대응하기 위한 도구

  • 자동화된 인프라(Automated Infrastructure)
  • 버전관리 공유(Shared Version Control)
  • 쉬운 빌드 및 배포(One-step Build and Deploy)
  • 기능 활성화 스위치 (Feature Flag)
  • 메신저 봇(IRC and IM Robot)

* 변화에 대응하기 위한 문화

  • 존중(Respect)
  • 신뢰(Trust)
  • 실패에 대한 긍정적인 자세(Healthy Attitude about Failure)
  • 비난하지않기 (Avoiding Blame)

 

 

 

반응형