Can we stop with the uptime percentages?
업타임 퍼센티지 표기, 이제 그만할 때 — 상태 페이지는 '몇 시간 다운'됐는지 보여줘야 합니다
Jim Nielsen이 서비스 상태 페이지의 '99.9% 업타임' 표기 방식을 비판합니다. 100%에 가까운 숫자들의 차이는 비선형이라 일반 사용자가 직관적으로 이해하기 어렵고, 퍼센티지 대신 '지난 30일간 12시간 장애'처럼 시간으로 표현하자고 제안합니다.
- 주제
본문
Jason Gorman의 글 'The Wall Confronting Reliable Coding Agent Autonomy'에서 발견한 한 문장에서 이 글은 시작됩니다. Gorman은 '90%에서 99%로 가는 길은 90%까지 가는 길만큼 어렵고, 99%에서 99.9%로 가는 길도 그만큼 또 어렵다'고 썼습니다. 저자 Jim Nielsen은 요즘 일상 업무에서 '다운타임'을 점점 더 자주 경험한다고 말합니다. GitHub이 다운되고, CI가 다운되고, AI가 다운되고, Slack이 다운되는 일이 이제 주류가 됐다는 것입니다. 그래서 자꾸만 서비스 상태 페이지를 방문하게 되는데, 거기에는 색깔과 숫자의 벽이 펼쳐져 있습니다.
지진 규모처럼 읽어야 하는 숫자들
상태 페이지에는 100%, 99.72%, 99.09%, 98.98% 같은 숫자가 나열됩니다. 언뜻 보면 다 비슷해 보이고, 학교 성적으로 치면 전부 A 학점입니다. 그러나 저자는 이 숫자들이 지진 규모 측정값처럼 해석되어야 한다고 지적합니다. 규모 6.2와 7.8의 차이는 숫자만 보면 크지 않아 보이지만 실제로는 엄청난 규모 차이를 의미합니다. 업타임 퍼센티지도 마찬가지입니다. 99.9%와 99.99%는 거의 같아 보이지만 후자는 장애 시간이 10분의 1입니다. 인프라 담당자들은 이를 'two nines, three nines, four nines'라는 줄임말로 부르며 매일 이 숫자 속에서 일하기 때문에 차이를 직관적으로 이해합니다. 문제는 상태 페이지의 독자가 더 이상 인프라 담당자만이 아니라는 점입니다. 점점 모든 사람이 상태 페이지를 봅니다.
좋은 지표지만 나쁜 인터페이스
저자는 업타임 퍼센티지가 수학적으로는 간단명료하고 업계 내부에서는 좋은 지표라는 점을 인정합니다. 하지만 인프라 신뢰성을 표준화되고 규정에 맞는 방식으로 측정하는 데 관심이 없는 사람들에게는 엉터리 인터페이스라고 말합니다. 상태 페이지는 서비스 신뢰성을 이해하기 위한 공개 인터페이스인데, 사용자가 정말 알고 싶은 것은 '그래서 요즘 얼마나 자주 다운됐는데?'라는 단순한 질문에 대한 답입니다.
제안: 시간으로 말하기
그래서 저자는 'GitHub Actions: 업타임 98.31%' 대신 'GitHub Actions: 지난 30일간 12시간 영향(업타임 98.31%)'처럼 표기하자고 제안합니다. 전자는 100% 근처 숫자들의 비선형적 의미를 이해해야 읽을 수 있지만, 후자는 '한 시간이 무엇인지'만 알면 됩니다.
Hacker News 반응
- @runjake — 저도 퍼센티지에는 별 관심이 없습니다. 하지만 어떤 산업에서는 'two 9s'와 'five 9s'의 차이가 수백만 달러에 달할 수 있어서, 그래서 고객에게 그런 방식으로 공개하는 것입니다.
- @yuye — 요점이 뭔가요? 모두가 n-nines 표기를 써야 한다는 건가요? 그렇다 치더라도, 기업들은 자기가 더 나빠 보이게 만드는 일을 할 이유가 없습니다. 그리고 이 글에서 AI가 쓴 글 특유의 씁쓸한 맛을 느끼는 사람이 또 있나요?
- @swiftcoder — 'AI가 쓴 글의 씁쓸한 맛'이요? 아닙니다. Jim은 그냥 글을 잘 쓰는 사람이고, 역사적으로 AI에 상당히 회의적인 입장이었습니다.
- @Angostura — '요점이 뭔가요'라고 물으신다면, 마지막 두 단락부터 읽어보세요.
- @wang_li — 제가 필요할 때만 올라와 있다면(또는 필요 없을 때만 내려가 있다면) 서비스는 업타임 50%여도 됩니다. 즉 다운타임의 의미는 사용자에 따라 달라집니다. 나인즈 얘기는 인프라와 운영을 평가할 때 내부적으로나 의미가 있지, 고객에게 미친 영향에 대해서는 아무것도 말해주지 않습니다.
원문: Jim Nielsen's Blog / 번역·요약: Trawling