스타트업을 위한 최상의 데브옵스는 노옵스!

2018년 10월 15일

NoOps

NoOps(No Operations)는 IT 환경이 자동화되고 추상화되는 과정에서 인프라스트럭처와 애플리케이션의 운영조직이 존재하지 않는 프로세스 또는 업무 환경을 의미합니다. 이는 데브옵스의 가장 끝에 서있는 것처럼 보이지만 운영자가 없는 초기 스타트업들에게 NoOps는 데브옵스로 넘어가기 위한 중간단계가 될 수도 있습니다.

데브옵스(DevOps)와 노옵스(NoOps)

NoOps

데브옵스는 응용프로그램 개발자와 인프라스트럭처 운영자 간의 원활한 소통 및 공동 작업을 의미합니다. 데브옵스는 응용프로그램을 보다 빠르고 원활하게 배포하는 프로세스를 만드는 것을 목표로 하고 있는 반면 NoOps는 인프라스트럭처가 이미 충분히 가상화되어 있는 상황에서 응용프로그램의 배포, 모니터링, 관리 프로세스를 개선하고 자동화하여 애플리케이션 개발자가 직접 개발과 운영, 비즈니스까지 관여하는 것을 목표로 하고 있습니다.

초기 스타트업의 팀 구조

NoOps

많은 스타트업이 초기 멤버로 개발자들을 포함하고 있지만 운영자를 포함하지는 않습니다. 초기 아이디어에 대한 검증이 끝나고 서비스가 나오더라도 여전히 운영팀을 만들지는 않습니다. 서비스가 나오더라도 서비스가 궤도에 오르고 수입이 발생하기 전까지 대부분의 스타트업 서비스의 안정성보다 제품의 가치를 증명하는데 더 많은 노력을 기울이는 전략을 사용합니다.

스타트업이 운영팀을 마련하지 않는 경향은 최근 클라우드와 데브옵스로 인해 더 강해지고 있는데, 데브옵스의 영향으로 많은 개발자들이 서비스 코드의 지속적인 통합 및 배포에 대한 경험들을 쌓아가고 있으며 클라우드 환경에서 개발자들이 직접 서버를 운영할 수 있게 되었기 때문입니다.

스타트업과 IT 서비스 운영

NoOps

지금 서버에 대한 모니터링은 어떻게 하는 있는가? 메모리 누출이 발생한다면 그에 대한 체크는 하고 있는가? 최신 보안 패치는 적용하였는가? 새 릴리즈를 위한 테스트 환경은 마련되어 있는가? 마케팅 부서에서 대규모 페이스북 이벤트를 진행한다면 그에 맞춰서 서비스의 규모는 자동으로 늘어날 수 있을까?

아마도 대부분의 스타트업은 이 질문들에 매우 익숙할 것입니다. 많은 스타트업의 개발자들이 이 모든 일들을 직접 진행하고 있을 것입니다. 그리고 언젠가 서비스가 더 커지게 되면 그럴듯한 운영팀이 생길 거라 생각할지도 모릅니다. 하지만 그전에 명심해야 할 것들이 있습니다. 그럴듯한 운영팀이 만들어지기 전까지는 개발자가 운영을 잘 해야만 된다는 것입니다.

이 문제를 해결하는 가장 좋은 방법은 개발자들이 직접 배포, 모니터링, 관리 프로세스를 자동화하여 문제를 직접 파악하고 해결해 나가는 것입니다. 언제까지 상상 속에 운영팀을 기다릴 것인가. 우선 개발자 스스로가 안정적인 서비스를 만들어 나가는 것이 좋습니다. 이를 위한 NoOps에 대해 좀 더 알아봅시다.

노옵스에 대해서

NoOps

노옵스는 2011년 포레스트 리서치의 수석 애널리스트이자 부사장인 Mike Gualtieri 가 쓴 블로그 “나는 데브옵스를 원하지 않는다. 노옵스는 원한다. (I Don’t Want DevOps. I Want NoOps.)”에서 나온 단어입니다. 그는 블로그에서 “NoOps는 애플리케이션 개발자가 운영 전문가와 더 이상 이야기할 필요가 없다는 것을 의미한다."라는 내용을 기고했고 이 내용은 많은 논란을 야기했습니다.

NoOps [그림] NoOps is a DevOps Disaster wating toHappen

데브옵스 일각에서는 NoOps를 재앙이라 생각하기도 합니다. NoOps is a DevOps Disaster wating toHappen – DevOps.com

하지만 HerokuCloudFoundry와 같은 PaaS 솔루션들과 AWS Lambda와 같은 서버리스 컴퓨팅은 NoOps의 가능성을 만들어 나가고 있으며 IBM과 같은 많은 클라우드 벤더들이 NoOps를 목표로 개발자들을 위한 솔루션들을 개발해 나가고 있습니다.

스타트업의 노옵스와 모니터링 자동화

NoOps

데브옵스의 영향으로 많은 스타트업의 개발자들이 통합과 배포 그리고 관리에 대한 경험과 지식을 가지고 있지만 여전히 모니터링은 매우 약합니다. 여전히 많은 스타트업이 서비스의 사활을 수동으로 확인하고 있으며 고객의 요청을 통해 서비스의 문제를 확인하곤 합니다. 우선 많은 스타트업에게 모니터링을 자동화하라고 이야기하고 싶습니다. 우선 대부분의 클라우드 벤더들이 모니터링 도구를 제공하고 있습니다. 이를 통해 기본적인 알림을 받을 수 있는 것이 좋습니다. 최소한의 알림 기능이 마련되었다면 좀 더 디테일한 알림 설정으로 들어가는 것도 좋습니다. 이미 모니터링 도구들은 SaaS 형태로 제공되고 있기 때문에 SaaS 기반의 모니터링 서비스를 사용한다면 어렵지 않게 자사의 IT 서비스에 이슈들을 알아낼 수 있습니다. 기본적인 인프라에 대한 모니터링은 알림 만으로도 가능하지만 애플리케이션은 분석의 영역이라 다를 수 있습니다. NoOps에서 개발자들이 직접 모니터링을 하기 때문에 애플리케이션의 성능 분석 서비스를 안 써도 된다는 생각은 매우 위험한 생각입니다. 애플리케이션 성능의 영역은 실제 운영의 영역이며 평소 개발환경에서 볼 수 없는 상황에 대한 정보를 제공받아야 하는 영역입니다. 이 부분에 대한 설정까지 마무리해야 합니다.

마무리

스타트업에게 NoOps는 데브옵스의 최종 형태가 아니라 데브옵스의 시작입니다. 우선 개발자가 스스로 좋은 개발 환경과 운영환경을 만들어 간다면 향후 서비스의 확장이 일어나고 운영에 복잡도가 늘어났을 때 좋은 운영팀을 만들 수 있게 될 것입니다. 그런 의미에서 초기 스타트업이 NoOps를 통해 데브옵스를 만들어 가는 것을 제안합니다.

운영 인력이 없지만 부담없이 모니터링을 시작하고 싶다면?

와탭 무료로 시작하기
이전 글

다음 글

최신글