DevOps 로 전환하기: NGINX 전문가의 조언
오늘날 전 세계 기업들은 애플리케이션과 서비스를 빠른 속도로 제공하기 위해 DevOps 를 활용하는 데 점점 더 많은 관심을 보이고 있습니다. 그러나 대부분의 조직에서 DevOps 에 대한 인식은 실용적인 지식보다는 추상적인 원칙에 국한되어 있습니다. DevOps 의 목적에 대한 오해가 강하고, 그 결과 많은 기업이 민첩한 운영을 실제로 구현하는 데 자신감을 갖지 못하고 있습니다.
이 포스트에서는 NGINX의 Global Solutions Architect이자 DevOps 환경 관리 전문가인 Kevin Jones의 성공적인 DevOps 전환을 위한 조언을 공유합니다.
목차
1. 목표 설정
2. 올바른 DevOps Tools 선택
3. 부서간 커뮤니케이션 촉진
4. DevOps의 성공 측정
1. 목표 설정
“우리가 달성하고자 하는 목표는 무엇인가요? 애플리케이션을 현대화하는 것일까요? 아니면 민첩한 개발을 달성하기 위해 인프라를 혁신하는 것입니까?”
이러한 질문은 DevOps 로 전환하려는 조직이 던져야 할 질문이라고 Kevin은 말하며, 불확실한 조직은 명확한 목표를 설정하는 것이 첫 번째 단계라고 강조합니다.
“기술적인 관점에서 조직이 진정으로 원하는 목표가 무엇인지 파악하는 것도 중요하지만, 비즈니스가 하려는 일과도 일치해야 합니다.”라고 Kevin은 설명합니다. 예를 들어 Uber의 경우 이미 어느 정도 파악하고 있을 수도 있지만, 로드맵에는 항상 도달하고자 하는 목표가 있기 마련입니다.
2. 올바른 DevOps Tools 선택
조직이 DevOps 로 전환하는 과정에서 가장 먼저 결정해야 하는 것 중 하나는 새로운 운영 프레임워크에 어떤 tool을 채택할지 결정하는 것입니다. 이 단계에서 많은 조직은 어떤 제품이나 기기를 통합할지 검토하는 것부터 시작합니다. 최신 IT팀에서 사용할 수 있는 도구는 무한대로 많기 때문에 어떤 도구가 사용 사례에 가장 적합한지 결정하는 것이 중요합니다.
새로운 tool이나 플랫폼을 구매하기 전에 가능한 모든 선택지를 꼼꼼하게 테스트하여 사전 예방적인 자세를 취하는 것이 중요합니다. 예를 들어 모니터링이 중요한 기능으로 꼽혔다면 선택한 tool이 응답 시간, 메모리 사용량, 초당 요청 수 등 관심 있는 요소에 대해 보고하는지 확인해야 합니다. Kevin은 “중요한 것은 내가 원하는 목표에 대한 문제를 해결해 줄 수 있는지 확인하는 것”이라고 말합니다. 새로운 도구의 실행 가능성에 대해 이러한 질문을 하는 시간을 가지면 채택하는 기기에 대해 훨씬 더 많은 정보를 바탕으로 결정을 내릴 수 있습니다.
3. 부서간 커뮤니케이션 촉진
대부분의 조직이 DevOps로 전환할 때 직면하는 가장 어려운 장애물은 아마도 비즈니스와 기술 측면 간의 커뮤니케이션을 촉진하는 것입니다. 많은 기업이 DevOps 프로세스는 도입하지만, 기능팀 간의 효과적인 협업에 필요한 non-siloed 구조는 도입하지 않는 경우가 많습니다.
“많은 조직에서 DevOps팀은 진행 상황에 대한 통제권이 많지 않습니다.”라고 Kevin은 설명합니다. 한쪽에는 비즈니스가 있고 다른 한쪽에는 인프라와 기술 인력이 있어 균형을 잡는 것과 비슷합니다. 따라서 조직의 비즈니스 측면과 기술 측면 간의 커뮤니케이션을 촉진하는 것은 DevOps 철학의 기본입니다.
Kevin은 “올바른 결정을 내릴 수 있도록 이러한 팀과 토론을 유도하는 것이 정말 도움이 된다”라고 강조합니다. 부서나 이해관계자가 특정 도구를 도입하려는 경우, Kevin은 “인프라에 불필요한 복잡성을 추가하지 않고 가치를 추가하여 환경을 개선할 수 있는지에 대한 결정을 내릴 수 있도록 DevOps팀을 포함시켜야 한다고 제안합니다. 채택할 수 있는 도구는 많지만, 팀은 그룹으로서 전체 목표를 달성하기 위해 현명한 결정을 내릴 수 있습니다.”
대부분의 DevOps팀은 production escalations, ticket backlog, management planning 변경 등 엄청난 업무량으로 인해 내부 또는 팀 간 커뮤니케이션에 어려움을 겪지만, Kevin은 이것이 뒷전으로 밀려나기 위한 핑계가 될 수 없다고 제안합니다. “DevOps팀은 일반적으로 바쁘지만, 가능한 한 비즈니스에 참여하면서 이러한 종류의 토론에 참여할 수 있어야 합니다.” 라고 그는 설명합니다. 서로 다른 팀 간에 대화를 시작하는 것은 운영적인 변화만큼이나 문화적인 변화이기도 합니다.
4. DevOps 성공 측정
다른 운영 방법론과 마찬가지로 DevOps 도 결과에 관한 것입니다. 새로운 프로세스를 개발할 때 성공과 실패를 식별하는 것은 피드백을 수집하는 데 필수적입니다. 하지만 많은 기업이 DevOps 와 같은 새로운 프로세스를 효과적으로 측정하는 데 어려움을 겪고 있습니다.
Kevin의 관점에서 볼 때 측정에는 비용, 현대화, 성과라는 세 가지 주요 예가 있습니다. “결과에는 여러 가지 유형이 있다고 생각합니다.”라고 그는 덧붙입니다. “경제적 성과에 대해 이야기할 수 있습니다. 재무적 관점에서 달성하고자 하는 것이 무엇인가요? 돈과 전혀 관련이 없을 수도 있습니다. 레거시 애플리케이션이나 레거시 인프라 사용에서 최신 인프라로의 마이그레이션을 추적하는 것일 수도 있습니다.”
세 번째 성공의 척도는 시간 경과에 따른 애플리케이션의 성능입니다. 이를 위해 그는 몇 가지 기본적인 질문을 미리 해볼 것을 제안합니다. “애플리케이션의 성능이 지난달보다 좋아졌는가? 또한 최종 사용자 경험은 어떤가?”라고 질문할 것을 제안합니다.
목표를 성공적으로 달성하려면 회사의 비즈니스 측면과 기술 측면 간의 열린 소통과 단결이 필요합니다. 원하는 결과와 이를 달성하기 위해 사용할 도구의 윤곽을 잡기 위해서는 협업이 필요합니다. DevOps팀은 비즈니스팀과 정기적으로 논의하면서 전환 과정에 걸쳐 전문적인 가이드를 제공할 수 있습니다.
조직에 DevOps 적용하려면 명확한 최족 목표를 염두에 두고 시작해야 합니다. 달성하고자 하는 목표가 있으면 올바른 질문을 하는 데 도움이 되는 기준점이 생깁니다. Kevin이 말했듯이, DevOps는 “문화에 모든 단계에서 가능한 한 비즈니스에 참여하는 것”에 관한 것입니다.
NGINX Plus를 직접 사용해 보시려면 30일 무료 평가판을 신청하거나 NGINX STORE에 연락하여 문의하십시오.
NGINX에 대한 최신 정보들을 빠르게 전달받고 싶으시다면, 아래의 뉴스레터를 구독하세요.