
시스템을 안전하게 변경하거나 업그레이드할 자신이 없을 때 시스템이 스노우플레이크 상태라
는 것을 알게 된다. 불행히도 이런 스노우플레이크 시스템은 고장이 나면 고치기 어렵다. 스노
우플레이크 시스템을 개선할 가치가 없다면 유지할 가치도 없다.
스노우플레이크 시스템을 교체하는 가장 좋은 방법은 시스템을 복제할 수 있는 코드를 작성하
여 준비가 될 때까지 신규 시스템을 병렬로 실행하는 것이다. 자동화된 테스트와 파이프라인을
사용하면 정확한 재생산이 가능해지고 쉽게 변경할 수 있다.
2.4
원칙
3
사라질 수 있는 것으로 만든다
동적 인프라에 대처할 수 있는 시스템을 구축하는 것은 레벨
1
이다. 다음 레벨은 시스템 자체
가 동적인 시스템을 구축하는 것으로, 시스템 구성 요소의 추가, 삭제, 시작, 정지, 변경, 이전
을 안전하게 할 수 있어야 한다. 이렇게 하면 운영 유연성, 가용성, 확장성을 확보할 수 있으며
변경을 단순화하고 위험을 줄일 수 있다.
클라우드 네이티브 소프트웨어
cloud
native
software
의 주요 아이디어는 시스템 구성 요소를 변형할
수 있도록 만드는 것이다. 클라우드는 물리적인 하드웨어인 인프라 리소스(컴퓨팅, 네트워킹,
스토리지 )를 추상화한다. 클라우드 네이티브 소프트웨어는 인프라에서 애플리케이션 기능을
완전히 분리한다.
3
3