일부에게 먼저 열기
큰 변경을 전체에 한 번에 올리지 않아요. 사고 범위를 손님 5퍼센트로 줄여요. 새 판을 소수에게만 보내고 지켜본 뒤에 비율을 올리면, 잘못 만든 날에도 대부분의 손님은 멀쩡한 화면을 봐요.
쉽게 말하면
반죽 배합을 바꿨다고 오늘 구울 빵 전부를 새 배합으로 굽지는 않죠. 한 판만 새 배합으로 구워 진열대 한 칸에 올려 두고, 그 칸이 어떻게 나가는지 손님 반응이 어떤지 봐요. 괜찮으면 다음 판부터 늘리고, 이상하면 그 한 판만 내리면 그만이에요. 일부에게 먼저 열기가 정확히 그 방식이에요. 새로 만든 판을 손님 전부에게 한 번에 내보내지 않고, 스무 명 중 한 명에게만 먼저 보여 준 뒤 지켜봐요.
여기서 나누는 건 기능 하나가 아니라 이번에 올린 판 전체예요. 새 판을 받는 손님은 이번 수정이 전부 반영된 화면을 보고, 나머지 손님은 어제까지 쓰던 화면을 그대로 봐요. 두 판이 같은 시각에 나란히 돌아가는 게 이 방식의 핵심이에요.
장바구니가 안 담기는 문제가 있으면 그 시간에 들어온 손님 전부가 겪어요. 사고를 알아채는 건 대개 손님 문의가 쌓인 뒤예요.
같은 문제가 있어도 겪는 사람이 스무 배 적어요. 비율을 0으로 내리면 그 소수도 즉시 이전 화면으로 돌아와요.
비율을 올리는 계단
비율은 한 번 정하고 끝내는 값이 아니라 계단이에요. 계단마다 잡히는 문제의 종류가 달라서, 한 계단을 건너뛰면 그 계단이 잡았을 문제를 다음 계단에서 더 많은 손님과 함께 겪어요.
| 계단 | 누가 새 판을 보나 | 이 계단이 잡아내는 문제 |
|---|---|---|
| 0퍼센트 | 아무도 안 봐요. 새 판은 올라가 있지만 손님에게 보내지 않아요 | 빌드 실패와 시작조차 못 하는 오류. 빌드가 여기서 걸려요 |
| 나와 직원 | 사장님 계정과 직원 계정만요 | 첫 화면부터 안 뜨는 수준의 큰 고장. 실제 자료로 눌러야 보이는 것들이에요 |
| 1퍼센트 | 손님 백 명 중 한 명 | 특정 폰이나 브라우저에서만 나는 깨짐. 사장님 기기에서는 절대 안 보이던 것들이에요 |
| 5퍼센트 | 손님 스무 명 중 한 명 | 결제와 주문처럼 자주 일어나는 흐름의 실패율 변화. 숫자로 비교가 되기 시작하는 첫 계단이에요 |
| 25에서 50퍼센트 | 손님 넷 중 한 명에서 절반까지 | 부하로 생기는 문제. 느려짐과 시간 초과는 사람이 몰려야 나타나요. 손님이 늘어도 버티기 |
| 100퍼센트 | 전체 손님 | 여기서 나오는 문제는 앞 계단이 못 잡은 것이에요. 이전 판을 며칠 더 남겨 둬요 |
계단마다 멈춰 서는 시간이 필요해요
비율만 올리고 곧장 다음 계단으로 가면 계단을 나눈 의미가 없어요. 그 기능이 하루에 나타나는 주기를 한 바퀴 도는 만큼 머무르는 게 기준이에요. 점심에만 주문이 몰리는 가게라면 새벽 10분 관찰로는 아무것도 못 봐요.
한 바퀴 도는 순서
실제로 하는 일은 다섯 단계예요. 순서를 미리 적어 두면 사고가 난 날에도 손이 먼저 움직여요.
- 1올리기 전에 끄는 조건을 적어요. "주문 실패가 나머지 손님보다 눈에 띄게 늘면 비율을 0으로 내린다"처럼 한 줄이면 돼요. 조건을 정하는 건 당황하기 전에만 할 수 있는 일이에요.
- 2새 판을 올리고 비율은 0으로 둬요. 손님 화면에는 아무 변화가 없어요. 여기까지가 자동 배포 흐름이 해 주는 부분이에요.
- 3내 계정과 직원부터 새 판으로 보내요. 연습용 주소에서는 안 보이던 문제가 진짜 자료 위에서 보여요.
- 4손님 비율을 조금 열고 지켜봐요. 볼 것은 오류 기록, 결제 성공, 응답 시간, 문의 건수예요. 사이트 감시와 오류 기록이 이 단계의 눈이에요.
- 5괜찮으면 다음 계단, 이상하면 0으로. 전체까지 올린 뒤에도 이전 판을 며칠 남겨 둬요. 그래야 배포 되돌리기가 몇 분 안에 끝나요.
되돌리는 방법이 비율 내리기 하나뿐이어야 해요
사고 났을 때 급하게 고쳐 다시 올리는 건 새 사고를 하나 더 만드는 길이에요. 먼저 비율을 0으로 내려서 손님을 안전한 판으로 되돌리고, 원인은 그다음에 찾아요. 순서가 반대면 손님이 고장난 화면을 보는 시간이 몇 배로 늘어요. 급한 수정도 되돌린 뒤에 하는 게 안전해요.
무엇을 보고 올릴지 정하기
판단의 기준은 절대 숫자가 아니에요. 같은 시각에 이전 판을 쓰는 나머지 손님과 비교해야 해요. 화요일 오후에 원래 문의가 적다는 사실을 모르면, 문의가 안 온 것을 새 판이 잘 돌아간 증거로 착각해요.
| 볼 것 | 어떻게 비교하나 | 이 신호가 뜻하는 것 |
|---|---|---|
| 오류 기록 수 | 새 판 손님 한 명당 오류 수를 이전 판 손님 한 명당 수와 견줘요 | 새 판에서만 오류가 늘면 이번 수정이 원인일 가능성이 커요 |
| 결제와 주문 성공 비율 | 각 판에서 시작한 결제 중 끝난 비율을 견줘요 | 돈이 걸린 신호라 가장 먼저 봐요. 여기가 흔들리면 즉시 0으로 내려요 |
| 응답이 오기까지의 시간 | 느린 쪽 상위 몇 퍼센트 손님을 견줘요. 평균은 느린 손님을 가려요 | 평균이 같아도 일부 손님만 크게 느려지는 사고가 있어요 |
| 문의와 후기 | 같은 시간대 평소 문의 수와 견줘요 | 숫자에 안 잡히는 이상함을 사람이 먼저 말해 줘요. 늦게 오는 신호라 유일한 근거로 쓰면 안 돼요 |
확인해 보세요
새 판을 5퍼센트에 열었어요. 새 판 쪽에서 오류 12건이 찍혔는데 이 숫자만 보고는 판단이 안 서요. 무엇을 먼저 볼까요?
이 방식으로 막지 못하는 것
정직하게 말할게요. 비율을 낮게 잡아도 피해가 전체에 퍼지는 종류의 사고가 있어요. 이 셋을 알고 시작해야 해요.
- 1자료 구조를 바꾸는 공사. 두 판이 같은 창고를 함께 써요. 새 판이 칸을 지우거나 이름을 바꾸면 이전 판을 쓰는 95퍼센트가 같이 무너져요. 칸은 더하는 쪽만 안전해요. 칸을 늘릴 때와 백업이 먼저예요.
- 2손님 화면을 거치지 않는 일. 밤에 도는 정산 작업, 정기 발송, 결제사가 보내오는 통보는 비율 분배와 상관없이 어느 한 판이 통째로 처리해요. 여기서 난 사고는 5퍼센트가 아니라 100퍼센트예요.
- 3이미 저장된 자료. 새 판이 잘못된 값을 저장했다면 비율을 0으로 내려도 그 값은 남아 있어요. 되돌리기는 화면을 되돌리지 자료를 되돌리지 않아요.
장면 1 · 외주 개발자가 말했다
“카나리로 5퍼센트만 열었으니 안전합니다.”
절반만 맞는 말이에요. 비율을 낮추는 것은 피해 범위를 줄일 뿐이고, 줄어든 사고를 알아채는 장치는 따로 있어야 해요. 되물을 말은 셋이에요. "무엇을 보고 판단하나요." "몇 분 지켜보나요." "누가 비율을 내릴 수 있나요." 이 셋이 안 정해졌으면 그건 사고를 천천히 내는 것에 가까워요.
장면 2 · 호스팅 업체 지원팀이 말했다
“트래픽을 비율로 나누는 기능은 상위 요금제에서 제공됩니다.”
요금제를 올리기 전에 손님 수부터 세어 보세요. 하루 손님이 적으면 비율 분배 자체가 신호를 못 만들어요. 그 대신 누구에게 열지 대상으로 고르는 방식은 요금제와 상관없이 쓸 수 있어요. 계정 목록이나 가입 시점으로 나누면 같은 효과를 훨씬 싸게 얻어요.
기능 스위치와 뭐가 달라요
이름이 비슷한 장치가 넷이라 자주 섞여요. 넷 다 사고를 줄이지만 무엇을 나누는지가 서로 달라요. 하나가 나머지를 대신하지 못해서 보통 같이 써요.
| 장치 | 무엇을 나누나 | 언제 쓰나 |
|---|---|---|
| 일부에게 먼저 열기 | 이번에 올린 판 전체를 손님 비율로 나눠요 | 수정이 여러 개 묶여 올라가고, 무엇이 문제일지 미리 짚기 어려울 때 |
| 기능 스위치 | 기능 하나만 켜고 꺼요. 판은 모두에게 같은 것이 나가요 | 새 기능 하나를 원하는 시각에 열고 싶을 때, 문제 나는 기능만 끄고 싶을 때 |
| 배포 되돌리기 | 나누지 않아요. 전체를 이전 판으로 한 번에 되돌려요 | 이미 전체에 열었는데 문제가 확인됐을 때. 좋은 수정도 같이 사라져요 |
| 두 가지를 나눠서 재보기 | 손님을 둘로 나누되 목적이 측정이에요 | 어느 쪽이 더 팔리는지 알고 싶을 때. 결과가 쌓일 때까지 양쪽을 켜 둬요 |
목적이 다르면 멈추는 조건도 달라요
일부에게 먼저 열기는 안전이 목적이라 이상하면 즉시 0으로 내려요. 두 가지를 나눠서 재보기는 측정이 목적이라 중간에 껐다 켰다 하면 숫자를 못 쓰게 돼요. 같은 나누기라도 도중에 손대도 되는지가 정반대예요.
내 가게 규모에 지금 필요한가
손님이 적을 때 이 방식은 힘을 못 써요. 하루 손님이 마흔 명인 가게에서 5퍼센트는 두 명이에요. 두 명이 아무 문제를 안 겪었다는 사실은 새 판이 멀쩡하다는 근거가 되지 못해요.
| 지금 내 규모 | 지금 쓸 방법 | 아직 이른 것 |
|---|---|---|
| 하루 손님 수십 명 | 연습용 주소에서 확인하고, 손님이 적은 시간대에 올려요 | 비율 분배. 신호가 안 잡혀서 판단 근거가 안 생겨요 |
| 하루 손님 수백 명 | 내 계정과 직원에게 먼저 열고, 지켜본 뒤 전체로 가요 | 1퍼센트 같은 잘게 쪼갠 계단. 사람 수가 너무 적어져요 |
| 결제나 예약이 꾸준히 도는 규모 | 5퍼센트부터 계단을 밟아요. 결제 성공 비율을 견주는 게 핵심이에요 | 완전 자동 판정. 사람이 보고 올리는 것으로 충분해요 |
| 광고나 방송으로 손님이 몰리는 날이 있는 규모 | 몰리는 날을 피해 올리고, 계단마다 부하까지 봐요 | 몰리는 당일에 새 판을 올리는 것. 그날은 아무것도 안 올리는 게 최선이에요 |
규모가 작아도 지금 해 둘 수 있는 게 하나 있어요. 이전 판으로 몇 분 안에 돌아갈 수 있는지 한 번 해 보는 것이에요. 되돌리기가 되는 가게는 비율을 못 나눠도 사고 시간이 짧아요. 되돌리기가 안 되는 가게는 비율을 나눠도 결국 오래 고장 나 있어요.
자주 묻는 것
- Q. 처음에 몇 퍼센트로 여는 게 맞나요?
- 정해진 숫자보다 그 비율이 몇 명인지로 정하세요. 하루 손님 수에 비율을 곱해서 나오는 사람 수가 신호를 만들 만한지 보는 거예요. 결제 성공을 견주려면 그 계단에서 결제가 최소 수십 건은 일어나야 비교가 돼요. 사람 수가 한 자리로 나오면 그 계단은 의미가 없어요.
- Q. 손님이 새로고침할 때마다 화면이 바뀌면 어떡하죠?
- 나누는 기준이 매번 새로 뽑히고 있다는 뜻이에요. 손님 번호처럼 안 변하는 값을 기준으로 나눠야 한 사람이 늘 같은 판을 봐요. 장바구니에 담을 때와 결제할 때 다른 판을 보면 주문이 통째로 꼬여요. 이건 비율을 낮게 잡아도 안 막히는 사고예요.
- Q. 두 판이 같이 도는데 손님 자료가 꼬이지 않나요?
- 창고는 하나를 같이 써요. 그래서 이전 판이 새 판이 저장한 자료를 읽어도 멀쩡해야 해요. 칸을 새로 더하는 변경은 대체로 안전하고, 칸을 지우거나 이름을 바꾸거나 저장 형식을 바꾸는 변경은 이 방식과 같이 쓰면 안 돼요. 그런 공사는 칸을 늘릴 때의 순서를 따로 밟아요.
- Q. 비율을 0으로 내렸어요. 이걸로 끝인가요?
- 화면은 끝났고 자료는 남았어요. 새 판이 켜져 있던 동안 들어온 주문과 가입이 이전 판 화면에서 제대로 보이는지 확인해야 해요. 그리고 무슨 일이 있었는지 짧게 남겨 두세요. 장애가 났을 때 순서에 그 기록 자리가 있어요.
- Q. 기능 스위치가 있으면 이건 안 해도 되나요?
- 둘은 겹치지 않아요. 스위치는 미리 감싸 둔 기능만 끌 수 있어요. 이번 판에 딸려 들어간 화면 수정이나 부품 교체는 스위치가 없어서 못 꺼요. 그 나머지를 덮어 주는 게 비율로 나누는 방식이에요. 스위치로 큰 기능을 가리고, 판 전체는 비율로 여는 게 보통의 조합이에요.
- Q. 혼자 만든 서비스인데 이런 걸 알아야 하나요?
- 지금 당장 쓰지 않더라도 말은 알아 두는 게 좋아요. 호스팅 업체 화면과 외주 견적서에 이 방식의 이름이 그대로 나와요. 무엇을 나누는지 알면 "몇 퍼센트로 얼마나 지켜보나요"라고 물을 수 있고, 그 한 질문이 견적의 성격을 드러내요.
하나 더
이번 판에 손님 표의 칸 이름을 바꾸는 공사가 들어 있어요. 비율을 5퍼센트로 잡으면 안전할까요?
직접 해보기
내 서비스에 되돌릴 길부터 만들어 보세요
스튜디오 대화창에 이렇게 그대로 붙여 넣어 보세요. "새로 만든 화면을 지정한 계정에게만 보이게 하고, 나머지 손님에게는 지금 화면이 그대로 나오게 해 주세요. 대상은 코드를 고치지 않고 바꿀 수 있게 해 주세요." 그다음 "이 변경을 되돌리려면 무엇을 어떤 순서로 하면 되는지 단계로 적어 주세요"라고 이어서 물어보면, 사고 난 날에 그대로 따라 할 순서가 한 장으로 남아요.
스튜디오 열기더 깊이 (안 읽어도 괜찮아요)
비유가 어디까지 맞고 어디부터 다른가 · 새 배합 한 판 비유는 "소수에게 먼저 내고 반응을 본다"까지 정확해요. 다른 점은 주방이 하나라는 거예요. 빵은 판마다 따로 굽지만 서비스는 두 판이 같은 창고와 같은 장부를 함께 써요. 그래서 화면은 나눠도 자료는 안 나뉘고, 자료를 건드리는 변경은 이 방식으로 감싸지지 않아요. 비유가 끝나는 지점이 정확히 거기예요.
비율은 생각보다 정확하지 않아요 · 5퍼센트로 설정해도 실제로 새 판을 본 사람은 그보다 많거나 적을 수 있어요. 중간에 있는 전국 지점 창고와 브라우저가 이전 화면을 잠시 쥐고 있기 때문이에요. 그래서 판단은 설정한 숫자가 아니라 실제로 각 판을 본 사람 수로 해요. 두 판이 각각 몇 명을 봤는지 셀 수 없으면 비교 자체가 성립하지 않아요.
자동으로 되돌리게 만들 때의 함정 · 조건을 걸어 자동으로 비율을 0으로 내리는 방식도 있어요. 이때 조건이 너무 예민하면 평소 오차에도 되돌아가고, 너무 무디면 사고를 놓쳐요. 처음에는 사람이 보고 손으로 내리는 것으로 시작해서, 몇 번 겪어 본 뒤 그때 쓴 판단 기준을 조건으로 옮기는 순서가 안전해요. 겪어 보지 않은 기준을 먼저 자동화하면 대개 다시 손으로 돌아와요.
이것만 기억하세요
- ·이번에 올린 판 전체를 손님 일부에게만 보내고 지켜보는 방식이에요
- ·비율은 계단이에요. 계단마다 잡히는 문제가 다르고, 머무는 시간이 있어야 해요
- ·판단은 절대 숫자가 아니라 같은 시각 나머지 손님과의 비교로 해요
- ·자료 구조를 바꾸는 공사와 밤에 도는 작업은 이 방식으로 막히지 않아요
- ·되돌리는 길은 비율 0 하나여야 해요. 급한 수정은 되돌린 다음에 해요