Why Lift and Shift Fails
한국어 원문으로 표시합니다.
한 줄 요약
있는 그대로 옮기면(lift and shift) 대개 더 비싸집니다. 온프레미스는 사 놓은 자원을 다 쓰는 구조이고, 클라우드는 쓴 만큼 내는 구조라 설계 전제가 반대이기 때문입니다.
왜 이게 필요했나
"서버 30대를 그대로 클라우드에 올렸더니 비용이 2배가 됐다" 는 사례는 아주 흔합니다. 각각을 따져 보면 이렇습니다.
- 온프레미스 서버는 피크 기준으로 샀고, 평소 CPU 사용률은 10~20% 입니다. 그 사양 그대로 인스턴스를 띄우면 놀고 있는 자원에 매달 돈을 냅니다.
- 온프레미스에서 네트워크는 공짜였습니다. 클라우드에서는 리전 밖으로 나가는 트래픽마다 요금이 붙습니다.
- 백업·복제를 위해 쓰던 스토리지가 전부 과금 대상이 됩니다.
즉 옮기기 전에 크기를 다시 재고(right-sizing), 안 쓰는 시간에는 끄고, 트래픽 경로를 다시 그려야 값이 납니다. 그 작업을 안 하면 클라우드는 그냥 비싼 데이터센터입니다.
이관 제외 기준
옮기지 않는 편이 나은 것들
| 대상 | 이유 |
|---|---|
| 24시간 만재로 도는 대규모 배치 | 종량제의 이점이 없다. 사서 쓰는 게 싸다 |
| 초저지연이 필요한 시스템 | 물리적으로 옆에 두어야 하는 경우가 있다 |
| 특수 하드웨어 의존 | 라이선스 동글, 특정 카드, 산업용 인터페이스 |
| 데이터 국외 이전 금지 대상 | 리전이 없으면 애초에 불가 |
| 이미 감가상각이 끝난 안정 시스템 | 잘 도는 것을 옮기는 데도 비용이 든다 |
| 대용량을 자주 내보내는 워크로드 | 이그레스 요금이 본전을 먹는다 |
마지막 줄이 자주 간과됩니다. 들어오는 트래픽은 대개 무료인데 나가는 트래픽 (egress) 은 비쌉니다. 대용량 파일을 계속 외부로 내보내는 서비스라면 클라우드 요금의 대부분이 여기서 나옵니다.
하이브리드가 답인 경우
전부 아니면 전무로 볼 필요가 없습니다.
- 변동이 큰 앞단만 클라우드 — 트래픽 급증을 흡수하고, 안정적인 백엔드는 온프레미스에 둡니다.
- 재해복구만 클라우드 — 평소에는 최소로 두고 유사시에만 키웁니다. 종량제의 값이 가장 잘 드러나는 용도입니다.
- 개발·테스트만 클라우드 — 필요할 때만 만들고 끝나면 지웁니다.
옮기기로 했다면 순서
- 인벤토리 — 무엇이 무엇에 의존하는지 그린다. 이게 없으면 그다음이 없다.
- 분류 — 그대로 옮길 것 / 다시 만들 것 / 관리형으로 바꿀 것 / 버릴 것. 버릴 것을 찾는 게 실제로 가장 값이 큽니다. 아무도 안 쓰는 서버가 늘 있습니다.
- 크기 재산정 — 실사용 지표 기준으로. 피크 기준 사양을 그대로 쓰지 않는다.
- 작은 것부터 — 되돌릴 수 있는 것으로 시작해 절차를 다듬는다.
- 비용 관측 — 옮긴 첫 달부터 태그 기준으로 본다. 나중에 붙이면 못 붙인다.
현장에서 만나는 모습
- 이관 후 비용이 2배 → 크기 재산정을 안 했다.
- 이그레스 요금이 컴퓨팅보다 큼 → 트래픽 성격을 안 봤다.
- 절반쯤 옮기다 중단, 양쪽 다 관리 → 의존 관계를 그리지 않고 시작했다.
비용은 설계에서 정해진다
이관 후에 요금을 줄이려고 하면 대개 할 수 있는 일이 얼마 없다. 클라우드 비용의 대부분은 무엇을 어떻게 쓰기로 정한 시점에 이미 결정되기 때문이다. 그래서 설계 단계에서 짚어야 할 것들을 따로 적어 둔다.
얼마나 오래 쓸지 아는 자원은 미리 약정한다. 1년 또는 3년을 약속하면 같은 인스턴스를 상당히 싸게 쓴다. 반대로 언제든 회수될 수 있는 저가 인스턴스는 중단되어도 괜찮은 작업에만 쓴다. 배치나 시험 환경이 여기 해당하고, 상태를 들고 있는 서비스에 쓰면 회수될 때마다 사고가 난다.
저장소는 접근 빈도로 나눈다. 로그와 백업처럼 거의 안 읽는 데이터를 자주 읽는 데이터와 같은 등급에 두면 요금이 몇 배가 된다. 다만 값싼 등급은 꺼낼 때 돈을 받거나 시간이 걸리므로, 복구에 써야 하는 데이터를 너무 차가운 등급에 넣으면 정작 필요할 때 곤란해진다. 수명 주기 규칙으로 오래된 것만 자동으로 내려보내는 것이 무난하다.
트래픽이 어디로 흐르는지 그린다. 같은 리전 안, 가용 영역 사이, 리전 밖, 인터넷으로 나가는 것의 요금이 전부 다르다. 데이터베이스를 다른 가용 영역에 두는 것은 가용성을 위해 필요하지만 그만큼 요금이 붙으므로, 알고 선택하는 것과 모르고 그렇게 되는 것은 다르다.
관리형 서비스는 운영 비용을 포함한 값으로 본다. 직접 운영하는 데이터베이스가 요금표만 보면 싸지만, 백업·이중화·버전 갱신·야간 대응을 사람이 해야 한다. 그 시간을 비용으로 환산해 비교하지 않으면 언제나 직접 운영이 싸 보입니다. 팀이 작을수록 이 항목의 무게가 커집니다.
마지막으로 태그를 처음부터 강제한다. 어느 팀의 어느 서비스인지 붙지 않은 자원은 몇 달만 지나도 아무도 손대지 못한다. 지워도 되는지 알 수 없어서 그냥 두게 되고, 그렇게 남은 자원이 요금표의 상당 부분을 차지하게 된다.
다음 코스
권한. 클라우드에서 사고가 가장 자주 나는 자리이고, 계정 없이도 정책 문서를 직접 쓰며 배울 수 있는 영역입니다.