분산 시스템을 처음 설계하는 엔지니어에게 가장 낭만적으로 들리는 말이 "멀티 리전"이다. 그런데 실제로 해보면 곧 깨닫는다. 데이터가 여러 곳에 동시에 존재하는 순간, 모든 것이 어려워진다. 시계가 맞지 않고, 네트워크가 끊기고, 트랜잭션이 분리된다. 1980년대 Leslie Lamport가 "분산 시스템이란 당신이 존재조차 몰랐던 컴퓨터 한 대의 고장이 당신의 컴퓨터를 망가뜨리는 시스템이다"라고 했던 말이 현실이 된다.
AWS 멀티 리전을 배우는 진짜 이유는 "이 서비스들을 어떻게 켜는가"가 아니다. 왜 이런 제약이 생기고, 어떤 트레이드오프를 감수해야 하는지를 이해해야 SAP-C02 시나리오에서 정답과 오답을 가를 수 있다. 오늘은 그 근본부터 시작한다.
멀티 리전을 선택하는 이유는 크게 네 가지다. SAP 시나리오마다 이 중 어느 것이 primary driver인지 파악하는 것이 첫 번째 단계다.