오토에버에서도 라이브옵스(LiveOps)를 시작할려고 한다. 조직은 이미 봄에 만들었고, 뭘 하기도 전이긴 하지만 이야기 할 사람들과 역할을 가지고 이야기를 해야하기 때문에 작지만 팀을 만들었다. 팀 리드를 세우고 여러 관계자들과 이야기를 하면서 역할의 타당성과 기대 역할에 대한 의견을 모았다. 있어야 할 조직이라는 생각이 들었고, 제대로 일 할 제대로 된 팀을 만들기 위해서 본격적으로 채용을 시작한다.
왜 LiveOps인가?
한국 대기업에서 IT 서비스는 대부분 SI(개발)와 SM(운영)으로 이뤄진다. 직접 경험해보니 대기업이 움직이기 위해 아주 많은게 필요하다. 어느 회사든 마찬가지지만 기업의 필요를 딱 맞추는 상용 제품은 없다. 그러니 자체적으로 만들어야 한다는 빌미를 제공하지만, 적당히 상용 제품을 플러그인 방식의 커스텀 모듈을 만들어 통합해 쓰면 되는 경우도 있다. 이렇든 저렇든 대기업이 돌아가기 위해 필요한 IT 서비스들이 있어야 한다. 모든 대기업도 여느 인터넷, IT 기업과 마찬가지로 대고객 서비스를 제공해야 살아남을 수 있다는 것을 알고 있고, 현대차 그룹 역시 마찬가지다. 현대차 역시 차량 중심의 다양한 서비스들을 7×24로 제공하고 확장하고 있다.
현대오토에버가 제공하는 현대차 그룹의 개발과 운영은 어떠한가? 남들이랑 다를바 없다. 냉정하게 평가하면 타 기업에 비해 수준이 좀… 파트너사(외주사)에 의존해 대부분 개발이 진행되다보니 모든 기업이 고생한다는 기술 부채가 남다르다. 요즘은 외주 개발보다는 내부 인력을 직접 개발하는 비중을 늘려가고 있지만, 누가 개발하던 결국 운영은 모두 오토에버가 감당한다.
현대오토에버의 모든 결과물은 서비스다. 일반적으로 생각하는 서비스와 다름이 있다. 서비스의 처음은 프로젝트를 통해 외주사(혹은 내부 조직)를 통해 만들어지고, 성공적(?)으로 만들어진 결과물이 이제 운영 조직으로 넘어온다. 개발과 운영이 자연스럽게~ 이어져야 하는데, 대부분 예상처럼 안된다. 운영이 잘 될려면, 첫 단추인 개발이 어떻게 된건지를 알아야 한다. 그리고 변경이 발생할 때마다 서비스의 영향이 어느 수준인지 서비스 담당이 예측하고 가늠할 수 있어야 한다. 변화가 직접적이든 간접적이든. 서비스 운영의 핵심은 첫번째 변경부터 EOS까지 변경을 체계적으로 관리할 수 있느냐이다. 오토에버가 운영하는 서비스는 정의 방식에 따라 수백개 혹은 수천개가 된다. 한 해 그룹사 요청으로 진행하는 프로젝트는 수백개 이상이다.
현대오토에버의 라이브옵스 조직은 규모를 감당하기 위한 일하는 체계를 먼저 만들어야 한다. 단순히 라이브옵스 조직만으로 이 규모를 운영하는 것은 일하고 싶은 사람들을 줄세울 수 밖에 없다. 당연히 각 사업부 혹은 센터 단위에서 대행과 위임이 병행 적용되도록 실행을 마찬가지로 체계화한다. 그리고 자연스럽게 아주 자연스럽게 “우리는 이렇게 일해!” 라는 말이 구성원 스스로부터 나올 떄까지 포기하지 않는 것이다.
변경을 잘 관리하면 장애는 없어질까? 설마 그런걸 기대하는 사람은 없겠지. 되려 더 많은 장애를 기대해야 한다. 사람에 의한 모니터링 수준이 SMS, APM에 의해 이뤄지면 더 많은 장애가 발생할 건 불을 보듯 뻔하다. 체계를 적용하는 초반 단계의 양적 증가를 권장하고 권고해야 한다. 그리고 새롭게 확인된 이벤트의 의미를 추정하기 위한 데이터 중심의 사고를 해야 한다. AI가 놀면 안되니 숫자에 압도되 이전에 못하던 분석을 AI를 써서 우리가 해결해야 할 진짜 문제를 찾아야 한다. 단순한 이벤트의 집합이 아닌 상관 관계 파악을 통해 RC에 접근하기 위한 일반적인 방법과 고도화를 위한 시도를 권장해야 한다.
라이브옵스 조직과 체계를 통해 가장 크게 기대하는 바는 장애를 통해 조직이 배우고 성장하는 것이다. 장애 때문에 징계먹고 쫑크먹을까봐 변화/변경을 두려워하며 “우리는 이렇게 일해!” 라는 되도 안는 자위를 하며 당당해하는 어처구니 없는 상황을 종종 마주친다. 다음 번 서비스 배포시에 이런 부분을 주의하고 자동화하는 것이 “장애 부검”을 통해 확인됐다면, 다음 번 변경시에 이를 확인하고 팀이 한단계 성장했다는 것을 확인해주는 것. 변경을 관리하고 장애 상황과 리뷰를 리딩하는 라이브옵스 조직에 대한 기대치다.
글로벌 서비스의 연속성과 안정성
현대오토에버의 대고객 서비스 다수는 한국에서 개발됐지만 글로벌 고객에게 서비스되고 있다. 현대 및 기아차가 전세계에 판매되고 주행한다는 것은 단순한 한국 서비스를 운영한다는 마인드가 아닌 글로벌 서비스 운영 감각을 갖춰야 한다. 서비스가 잘 운영되기 위한 체계를 달성해야 하지만, 서비스를 대하는 사람의 태도가 먼저 글로벌이 되야 한다. 시스템의 일관성을 달성하기 위해 사람의 일관성이 필요한 이유다. 7x24x365는 쉬운 단어가 아니다. 더구나 단일 국가가 아닌 글로벌 주요 권역을 커버해야 한다면 일을 대하는 우리의 자세 먼저 다듬어야 한다.
글로벌 서비스의 연속성과 안정성을 보장하기 위해 명심해야 할 사항은 복잡도다. 복잡도의 증가는 필수적이다. 서비스에 참여하는 주체들이 많아지고 다양해진다면 업무의 복잡도 뿐만 아니라 서비스를 구성하는 시스템의 체계도 단연한 수순으로 복잡해질 수 밖에 없다. 모노리딕에서 벗어나 MSA를 당연한 것이 되고, 그걸 넘어 EDA 체계를 서비스 제공에 도입해야 할 때도 있다. 스케일에 따른 일관성이 관리를 위해 반드시 있어야 한다는 것을 누구나 머리속에서 알 수 있다. 단 이를 행동으로 옮겨 관리하는 것은 누구나 쉽게 하지 못한다. 너무나 어려운 일이라는 걸 마찬가지로 알고 있기 때문에.
라이브옵스를 통해 도달시키고 싶은 것은 “일관성있는 관리 체계 완성”은 아니다. 물론 되면 행복하겠지만, 사람이라는 불확정 요소에 움직이는 세상에서 일관성이 반영된 관리 체계는 심각한 관료주의를 불러들일 수 있다. 이상론이기 보다는 현실론이길 원한다. 복잡성 혹은 복잡도를 라이브옵스 조직이 인지하고 인식하길 원한다. SLA/SLO 기반의 품질 중심의 운영을 위한 시스템간 서비스간 상호 연관 관계를 당사자들이 이야기할 수 있도록 하고, 지식화하기 위한 방안을 주도했으면 한다. 논의와 지식의 데이터화를 통해 짧은 호흡의 신뢰 기반 소통과 서비스 조직이 주도하는 지식의 축적을 리딩했으면 한다.
짧은 기대!
일단 기대만 하는 라이브옵스 조직과 체계가 활성화된다면 담당자가 아니어도 롤백(Rollback)이 이뤄졌으면 한다. 사실 아무리 고도화됐다고 하더라도 대부분 서비스 장애의 대응은 되돌리기다. 멀쩡하게 잘 돌아가는 서비스가 이상 동작을 하는 건 변화가 있었다는 것을 의미하는 것이고, 원래 상태로 되돌리기는 사실 당연한 조치다. 하지만 이 당연한 조치 조차도 담당팀이 아니면, 담당자가 아니면 못하는 것 또한 현실이다. 우선 신뢰와 지식 기반으로 담당자가 아닌 라이브옵스 팀에서 롤백을 실행하길 기대해본다. 물론 나중에는 판단 기준을 갖고 AI가 실행할거라고 생각하지만.
덧) 확실히 채용 지원자가 드물거라고 생각했지만, 생각보다 어렵다. 관심있는 분들의 많은 채용 지원 부탁…