ChatOps: 사람 없이 사람을 배치하기

F5 에코시스템 | 2017년 5월 04일

곧 여러분의 네트워크를 찾아갑니다. 제공: 또 다른 API 경제.

최근 DevOps 커뮤니티에서는 문화에 더 중점을 두는 방향으로 변화하고 있습니다. 이는 아마도 더 개방적이고 협업적인 IT 전반의 환경으로 문화가 바뀌지 않으면 DevOps의 많은 이점을 온전히 실현할 수 없기 때문일 것입니다. 폐쇄적인 ‘알아야 할 사람에게만’ 정보를 공유하는 방식은 우리가 친근하게 ‘IT’라고 부르는 영역을 구성하는 각 운영 분야 고유의 암묵지를 방어탑처럼 둘러싼 사일로를 만들어 냅니다.

하지만 이러한 장벽을 허무는 과정은 고통스럽고 어색하며 대단히 어려울 수 있습니다. 거의 모든 IT 종사자의 ‘비사교적’ 성향을 농담거리로 삼고 그들을 희화화할 수는 있지만, 현실은 대부분의 전설과 동화가 그렇듯 그러한 전형도 실제 행동과 특성에서 비롯되었으며, 지금도 업계의 많은 사람에게서 여전히 나타난다는 것입니다.

사람들로 가득 찬 머그잔

저는 마이어스-브릭스 유형 지표에서 INTJ 유형입니다. 언제나 그렇죠. 네, 바로 ‘전략가’입니다. Insights 유형 분류에서는 ‘개혁적 관찰자’에 해당합니다. 사실 이는 마이어스-브릭스보다 정확하다고 주장하는, 융의 이론을 극도로 이상화한 검사일 뿐입니다. 어느 쪽이든 저는 상당히 내향적인 사람입니다. 오늘날 연구자들은 전체 인구의 약 50%가 내향적이라고 추정합니다. 그리고 그중 많은 사람이 저처럼 IT 업계에 진출한 반면, 도무지 이해하기 힘든 외향적인 사람들은 마케팅과 관리직으로 뛰어들었다는 사실도 그리 놀랍지는 않을 겁니다.

내향적인 사람들은 ‘사람 만나기’를 그다지 좋아하지 않습니다. 요즘 젊은 세대가 사람들과 어울리는 일을 이렇게 표현하죠. 정말로 여러분 때문이 아니라 우리 때문입니다. 우리는 외향적인 사람들과는 정보와 데이터를 처리하는 방식이 다를 뿐이며, 지나치게 활발한 상호작용을 버겁게 느낍니다. 사람들과 어울릴 수는 있지만, 그러고 나면 진이 빠집니다. 우리는 글로 소통하는 것을 선호하고, 답하기 전에 생각할 시간이 필요합니다. 그래서 소통의 상당 부분이 바로 그런 식으로, 즉 멀리 떨어져 글을 주고받으며 이루어지는 디지털 시대에 오히려 꽤 잘 적응합니다. 디지털 공간에서의 모습만 안다면 우리를 외향적인 사람으로 착각할 수도 있습니다.

DevOps에 필요한 문화적 변화의 전제를 생각해 보면, 곧바로 충돌이 있다는 것을 알 수 있습니다. 공유와 소통은 모두 DevOps의 핵심 요소이며, 이는 수많은 내향적인 사람들에게 단순히 사람들과 어울리는 것을 넘어 효과적으로 교류하도록 요구한다는 뜻입니다. 따라서 ‘사람들과 어울리지 않고도 교류하는’ 방법을 찾는 것은 무지개 끝에 있는 황금 항아리를 찾는 것과 같습니다.

알고 보니 ChatOps가 바로 그 황금 항아리일지도 모릅니다.

ChatOps: 사람 없이 사람 역할 하기

그렇다면 ChatOps란 무엇일까요? Jason Hand는 ChatOps 분야의 최고 전문가 중 한 명으로, 다음과 같이 간결하게 정의합니다: “ChatOps를 공유 명령줄이라고 생각해 보세요.”

물론 ChatOps는 그 이상의 의미를 지니지만, 가장 기본적인 개념을 이해하기에는 이 정의가 훌륭한 출발점입니다.

Slack 인터페이스

다음과 같은 도구는 HipChat 및 Slack 기존의 인스턴트 메시징 시스템처럼 일대일 커뮤니케이션을 위해 설계된 것이 아닙니다. 물론 그렇게 사용할 수도 있지만, 이러한 최신 커뮤니케이션 플랫폼의 진정한 강점은 정보와 업데이트를 원하는 조직 내 모든 사람에게 즉시 공유할 수 있는 개방형 커뮤니케이션 환경을 제공한다는 데 있습니다. 지속적인 대화보다 정보의 가용성과 접근성이 더 중요하므로, 대화에 참여하지 않고 지켜보는 것도 권장됩니다.

채널(예: #IRC)을 사용하면 신호 대 잡음비를 조절할 수 있으며, 누가 언제 무엇을 했는지 명확하게 추적할 수 있는 기록도 제공되는 경우가 많습니다. 이러한 도구는 단순한 채팅 클라이언트를 넘어서는 방식으로 이를 구현합니다. 즉, API를 통해 기능을 확장하여 사람뿐 아니라 시스템과도 양방향으로 통신할 수 있는 플랫폼입니다. 따라서 #alerts 채널을 추가하고 인프라 구성 요소에서 발생하는 알림을 이 채널로 모을 수 있습니다.

비교적 쉽게, 덧붙이자면 정말 쉽게, API를 통해 정보를 조회하고 반환하는 Slack용 ‘앱’을 만들 수 있습니다. 그 정보는 스위치나 로드 밸런서, 또는 지역 날씨에 관한 것일 수도 있습니다. 무엇이든 이러한 도구 안에서 명령을 호출해 작업을 자동으로 실행할 수 있습니다. 그리고 알아야 하거나 알면 도움이 될 만한 모든 사람에게 일일이 알리지 않고도 명령 호출과 그 결과를 공유할 수 있습니다. 그러면 수행한 작업이 기록으로 남고, 다른 사람들이 현재 상황을 파악할 수 있는 이력도 생성됩니다. 모니터링 시스템의 상태 업데이트, 헬프 데스크의 새 티켓, 서버가 방금 다운되어 더 이상 사용할 수 없다는 알림 등이 그 예입니다. API를 통해 전달할 수 있는 것이라면 사실상 무엇이든 사람들과 공유할 수 있습니다. 사람들과 직접 소통하지 않고도 말이죠.

이 프로세스는 멘토링과 교육은 물론, 조직 내에 암묵적으로 축적된 지식을 공유해 개발을 비롯한 IT의 다른 영역에도 도움이 되도록 할 수 있는 풍부한 기회를 제공합니다. 사람들로 가득 찬 방에 모이거나 의욕 넘치는 신입 엔지니어들을 대상으로 교육을 진행하지 않고도 대규모로 지식을 공유할 수 있습니다. 또한 ‘네트워크’ 분야에서 DevOps 접근 방식을 성공적으로 도입하는 데 필요한 문화적 전환을 가능하게 하는 몇 안 되는 도구 중 하나이기도 합니다.

Atlassian 설문조사에서 나타난 정보 흐름

그리고 우리는 이를 반드시 도입해야 합니다. 여전히 우려가 된다면 Atlassian과 xMatters가 2017년 DevOps 성숙도 설문조사에서 던진 다음 질문을 생각해 보세요:

“그토록 많은 조직이 인프라, 애플리케이션 및 서비스를 모니터링하고 있는데도, 응답자의 50%가 코드 릴리스 후 프로덕션 환경에서 문제가 발생한다고 답한 이유는 무엇일까요? ”

저자들은 데이터를 바탕으로 나름의 가설을 제시하지만, 제게는 또 다른 가설이 있습니다. 이는 주로 배포를 위해 릴리스된 애플리케이션과 프로덕션 환경에서 실행되는 애플리케이션은 동일하지 않다는 점을 일깨워 주는 구성의 오류에 근거합니다. 애플리케이션 서비스가 추가되고 네트워크와 상호 작용하면서 구성이 달라집니다. 따라서 프로덕션 환경을 정확히 복제한 환경에서 검증하지 않는 한, 해당 애플리케이션에 대한 검증 결과는 더 이상 완전히 유효하지 않습니다.

더 심각한 것은, 거의 3분의 1에 달하는 기업이 고객으로부터 서비스 중단에 대한 통보를 받고 나서야 이러한 문제를 발견한다는 점입니다. 이는 개발팀과 IT팀 간에 정보를 공유하는 방식 때문일 수 있습니다. 29%는 팀 간 정보가 특별히 요청이 있을 때만 공유된다고 답했습니다. 기술 정보, 목표, 계획 및 결과를 제공하는 모든 사람에게 정보를 공개하는 기업은 16.8%에 불과합니다.

프로덕션 환경에서 애플리케이션이 어떻게 동작하는지에 관한 구체적인 정보가 없으면 문제가 무엇인지 파악하기 어려운 경우가 많으며, 그 원인을 찾아내기는 더더욱 어렵습니다. “내 컴퓨터에서는 잘 되는데”라는 방어적인 말은 환경 정보 부족으로 인해 발생하는 경우가 많은 이상 동작을 재현하지 못하는 개발자들의 답답함에서 비롯됩니다.

당장 네트워크의 모든 것을 자동화하는 데 적극적으로 나설 생각이 없더라도, ChatOps는 IT와 개발 부서 간의 소통 창구를 열고 문제에 대한 더 깊은 통찰을 제공하여 MTTR(평균 해결 시간)을 단축하는 좋은 방법입니다. 엔지니어를 방해하거나 일일이 관리하지 않고도 ‘네트워크 내부’에서 무슨 일이 벌어지고 있는지 더 종합적으로 파악할 수 있게 해 줍니다. 또한 내향적인 구성원들이 직접 사람을 상대하지 않고도 다른 사람들과 소통할 수 있게 하여, 더 자주, 더 상세하게, 어쩌면 열정적으로 정보를 공유하도록 장려합니다.

ChatOps를 처음 접하신다면 Jason Hand의 전자책 “초보자를 위한 ChatOps”를 꼭 읽어보시길 권합니다. 이메일 주소를 제공해야 하지만, 그만한 가치가 있습니다.

그리고 계속 지켜봐 주세요. 앞으로 ChatOps에 관한 이야기가 더 많이 나올 거라고 장담합니다.

공유
태그: 2017

작성자 소개

Lori Mac Vittie
Lori Mac Vittie수석 엔지니어 겸 최고 에반젤리스트 | F5

Lori MacVittie는 F5 CTO 오피스의 수석 엔지니어이자 최고 에반젤리스트로, 애플리케이션 딜리버리, 자동화 전략 및 인프라 분야에서 깊이 있는 전문성을 보유하고 있습니다. AI 에이전트를 위한 가드레일을 정의하고, 취약한 멀티클라우드 아키텍처를 분석하며, 확장 가능한 시스템의 한계를 탐구하는 등 복잡한 문제를 명확하게 풀어내는 것으로 잘 알려져 있습니다. 애플리케이션 개발, IT 아키텍처, 네트워크 및 시스템 운영 전반에 걸쳐 30년 이상의 업계 경험을 쌓았습니다. F5에 합류하기 전에는 수상 경력이 있는 기술 편집자로 활동했습니다. MacVittie는 컴퓨터 과학 석사 학위를 보유하고 있으며, 보안, 클라우드 및 엔터프라이즈 아키텍처 분야를 아우르는 다수의 저서를 집필한 작가입니다. 또한 보드게임과 비디오 게임을 열정적으로 즐기며, 치즈에 대해서는 거리낌 없이 확고한 견해를 갖고 있습니다.

Lori Mac Vittie의 다른 블로그 게시물

관련 블로그 게시물

성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 Jenn Gile과의 Q&A
F5 에코시스템 | 2023. 07. 13.

성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 Jenn Gile과의 Q&A

F5의 ‘성평등을 향한 여정’ 시리즈 네 번째 Q&A에서는 Rachael Shah와 NGINX 제품 마케팅 책임자 Jenn Gile이 사이버 보안 직종에 대한 오해를 바로잡고, 사이버 보안 분야의 성별 격차를 해소하기 위한 조언과 그 이점에 대해 이야기합니다.

TLS 검사에서 피터 파커 원칙 다루기
F5 에코시스템 | 2019. 12. 09.

TLS 검사에서 피터 파커 원칙 다루기

“큰 힘에는 큰 책임이 따른다.” 볼테르와 처칠도 이와 비슷한 말을 남겼지만, 이 문구는 스파이더맨 코믹스에서 벤 삼촌의 말로 가장 널리 알려져 있습니다. 물론 이 문구가 문화적으로 널리 통용되는 이유 중 하나는 TLS 검사를 비롯해 수많은 상황과 주제에 적용할 수 있기 때문입니다.

Venafi와 F5를 통한 머신 아이덴티티 보호
F5 에코시스템 | 2018. 12. 11.

Venafi와 F5를 통한 머신 아이덴티티 보호

‘머신 아이덴티티’란 간단히 말해 자동화된 프로세스가 자신의 신원을 식별할 수 있도록 하고, 다른 자동화 시스템과 프로세스가 관련 리소스에 적절한 수준의 접근 권한을 부여하도록 하는 방법을 의미합니다. 이 개념 자체는 새로운 것이 아닙니다. 비교적 새로운 점은 이를 구현해야 하는 규모입니다.

마이너와 미니언: 데이터 유출만이 비용을 초래하는 것은 아닙니다
F5 에코시스템 | 2018. 07. 23.

마이너와 미니언: 데이터 유출만이 비용을 초래하는 것은 아닙니다

물론 데이터 유출은 더 큰 비용을 초래할 수 있고(적어도 지금은), 실패 사실을 세상에 드러낼 수밖에 없게 합니다(통지 의무가 있으니까요). 하지만 보안을 단순히 데이터 노출 문제로만 봐서는 안 됩니다. 요즘은 데이터가...

내 클라우드에서 나가!
F5 에코시스템 | 2016. 10. 12.

내 클라우드에서 나가!

F5의 Jay Kelley가 전하는 최신 소식에는 Microsoft Office 365용 신규 ID 및 액세스 솔루션을 배포할 때 고려해야 할 사항이 정리되어 있습니다.

Shift(웹 앱) 보안 레터
F5 에코시스템 | 2015. 07. 06.

Shift(웹 앱) 보안 레터

웹 앱 보안을 개발 초기 단계로 앞당기세요. F5 블로그에서 DevOps 파이프라인 초기에 보안을 통합하여 취약점을 예방하고 시간을 절약하는 방법을 알아보세요.