<트위터가 앞으로 몇 주 안에 중단될 3가지이유>
MIT Technology Review에서 트위터 내부엔지니어의 의견을 인용하여 일론머스크의 대량해고 후 왜 트위터 서비스는 망할 수 밖에 없는가를 발빠르게 내놓았습니다. 저 역시 글로벌 테크기업의 프로덕트 엔지니어링 그룹에서 30년 이상 있었더니 이게 무슨 이야기이고 얼마나 합리적인 추론인지를 잘 이해하게 되었습니다. 머스크는 트위터를 당장 망하게 하겠다는 생각을 하지 않은 이상 임직원의 50%에 해당하는 3,700명을 해고하지는 않았을텐데요. 일단 엔지니어가 이야기하는 3가지 이유를 정리하며 제 경험과 의견을 덧붙여 보았습니다. ----- 1. 지진의 징조는 작은 것에서부터... 절반을 해고한 지 불과 몇 시간 후, 리트윗에 문제가 있다는 작은 징후가 나타났습니다. 트위터는 2009년에 리트윗을 도입하여 지금까지 주요기능으로 지원했는데, 금요일에 리트윗 버튼을 누른 일부 사용자는 연도가 2009년으로 롤백되는 것을 보았습니다. 트위터 코드 기반 구조의 첫 번째 공개 균열이었습니다. 더 큰 지진이 올 것이라고 경고하는 표시죠. 머스크를 좋아하지 않는 사람들 입장에선 트위터가 한방에 터졌으면 좋겠다라는 생각을 갖고 계시겠지만, 소프트웨어는 이렇게 무너지지는 않습니다. 지구 온난화 문제와 비슷하다고 생각하시면 됩니다. 트위터와 같은 대규모 기술 플랫폼은 매우 많은 모듈들과 상호 의존적인 부분을 기반으로 하기에, 가장 큰 위험은 더 작은 것들이 저하되기 시작하는 것을 보면서가 됩니다. 즉 이런 점진적인 고장은 더 큰 충돌이 임박할 수 있다는 우려의 표시입니다. 그리고 그것이 지금 일어나고 있습니다. 실제로 팔로우하는 사람들의 수보다 잘못 나타나고, 단순히 로드를 거부하는 응답이 생기고, 트위터 주변에 작은 버그가 나타나고 있습니다. (뭐 이건... 페이스북도 요즘 많이 보이죠) 서비스 기업에는 이런 작은 문제들이 크게 확대되지 않도록 쉴새없이 해결하는 SR( Site Reliability)엔지니어링 팀이 있습니다. 이미 SR팀 역시 해고 대상이 되었고, 빠르게 수정되어야 할 작은 문제는 시간이 지남에 따라 증폭되고 증가할 것으로 예측합니다. 부분적으로는 이러한 문제를 처리하기 위해 남아 있는 직원이 이런 일을 위해빠르게 소진되기 때문입니다. (즉 엔지니어 밑장빼기 같은 일입니다.) 이렇게 흘러가니 엔지니어를 해고 하고 당일 다시 해고는 실수였으니 돌아오라는 롤백 시도를 하는 바보짓을 하고 있는 것이겠죠. ----- 2. 해결하는 속도보다 해결해야할 리스트가 더 빠르게 증가한다. 유지 관리 작업과 수정 작업의 백로그가 점점 길어지면서 문제가 쌓이는 디스토피아적인 미래가 보입니다. “하나가 깨질 것이고, 그 후에 또 하나가 더 자주 깨질 것입니다. 더 오랜 기간 동안 제품이 동작하지 않을 것입니다. 모든 것은 결국 사용할 수 없게 될 때까지 점점 더 심각하게 부서질 것 입니다" 당장 트위터가 중단되지는 않겠지만 로드되지 않는 트윗이 더 많아지고 계정이 변덕스럽게 생겨나고 사라지는 것같은 이상한 증상들이 자꾸 늘어날 겁니다. 백 엔드에서 데이터를 작성하는 모든 작업에는 속도 저하, 시간 초과 및 훨씬 더 미묘한 유형의 오류 조건이 있습니다. 이런 문제는 일반적으로 추적하고 해결하는 데 훨씬 더 많은 노력이 필요합니다. 엔지니어가 충분하지 않으면 심각한 문제가 될 것입니다.” 트위터는 기능이 완전히 오프라인으로 전환되지 않는 대신 축소 버전이 제공되도록 플랫폼이 폴백 fall-back 할 수 있는 안전 장치를 설계했는데, 이것의 한계치를 넘어가는 순간 끝난다는 이야기입니다. 이런 상황인데 어떤 광고주가 여기에 새로운 광고 의뢰를 하겠습니까? ----- 3. 인재 유출 장기적으로 가장 타격감이 강하게 다가올 이슈죠. 이런 서비스는 단순히 기술 능력보다는 경험을 가진 엔지니어가 절대적으로 필요합니다. 문제가 발생했을 때 신속하게 수정할 수 있는 경험과 지식을 가진 엔지니어 말입니다. 금요일 이후에 떠나는 사람들 중 상당수가 트위터에서 9년, 10년, 11년 동안 근무한 엔지니어였다고 합니다. 이는 기업 파산이 아닌 이상 기술 회사로서는 말도 안되는 일이죠. 그 사람들이 트위터 사무실을 떠나면서 시스템 작동 방식에 대한 수십 년의 지식이 사라졌습니다. 더이상. 일이 잘못되면 무슨 일이 일어났는지 알아내기가 더 어려울 것입니다. 사용자 지원을 하고, 커뮤니케이션을 하는 팀은 80~100명에서 단 2명으로 줄었습니다. ------ 트위터는 첫 번째 균열이 나타나면서, 그런 종류의 균열이 동시에 일어나고 있습니다. 트위터가 앞으로 몇 주 안에 중단될 수도 있을테고, 현재 남은 인력으로는 플랫폼을 유지할 수 없다는 말도 나옵니다. 제 의견도 비슷합니다. 아마 현재의 리소스로는 어림도 없을겁니다. 혹시 트위터가 다운되거나 문제가 날때 화면에 보이는 고래를 보신적 있으시나요? 그것은 fail-whale이라고 하는데요. (https://www.techopedia.com/definition/1987/fail-whale ) 아마 이 고래를 자주 접하게 될것 같은 느낌이네요.