
2.1
원칙
1
시스템을 신뢰할 수 없다고 가정한다
구시대에는 시스템이 안정적인 하드웨어에서 실행된다고 가정했다. 클라우드 시대에는 시스템
이 안정적이지 않은 하드웨어에서 실행된다고 가정해야 한다.
1
퍼블릭 클라우드 규모의 인프라는 수십만 개의 장치를 사용한다. 이 규모에서는 안정성 높은
하드웨어를 사용해도 오류가 발생한다. 대부분의 클라우드 벤더는 저렴하지만 신뢰성은 떨어
지는 하드웨어를 사용하여 고장이 발생하면 감지하고 교체한다.
예상하지 못한 장애가 아니더라도 시스템의 일부를 의도적으로 오프라인 상태로 만들어야 할
때가 있다. 시스템 업그레이드 또는 패치, 인프라 규모 변경, 부하 재분배, 장애 원인 분석을 해
야 하는 경우다.
정적 인프라에서 이러한 작업은 시스템을 오프라인 상태로 만든다는 뜻이다. 그러나 오늘날 많
은 기업에게 시스템을 오프라인 상태로 만드는 것은 비즈니스를 중단하는 것과 같은 의미다.
따라서 시스템이 실행되는 인프라를 안정적인 기반이라고 볼 수 없다. 대신 인프라 리소스가
변경될 때 시스템을 중단하지 않아도 되는 서비스를 설계해야 한다.
2
2.2
원칙
2
모든 것은 재생산 가능하다
시스템 구성 요소를 노력하지 않고 안정적으로 언제든 다시 복구할 수 있으면 복구 가능한
recoverable
시스템이라고 정의할 수 있다.
‘
노력하지 않고 ...