불변 인프라란?
서버가 배포된 이후 절대 변경되지 않는 형태의 인프라패러다임.
서버에 변경이 필요한 경우에는 아예 새로운 서버(이미지)를 구축한다.
그렇게 만들어진 새 서버는 검증이 완료되면 서비스에 투입되고 기존 서버는 더 이상 사용하지 않게 된다.
- 좋은예로 도커가 있다. 도커는 애플리케이션 뿐만 아니라 실행환경 자체를 이미지화해서 컨테이너를 실행할 때 기반이 되게 함으로 실행환경 자체를 버저닝 하고 관리할 수 있음.
마이크로 서비스 아키텍쳐(MSA) 환경에서 불변인프라의 필요성은 더욱 증가한다. 이전에는 모놀리식 아키텍쳐에서는 불변 인프라가 필요가없었다. 왜냐하면 하나의 환경에 애플리케이션 전체가 구성이 되었기 때문에 단일환경만 잘 설치해놓고 장애를 준비해 놓으면되었기 때문이다.
핵심
- 어떤 시점의 서버 상태를 저장해 복제할 수 있게 하자는 개념
- 한번 설정된 서버는 수정없이 파기되므로 멱등성을 신경 쓸 필요조차 없다.
- 버전관리 가능.
장점
- 서버를 쉽게 삭제하고 늘릴수 있음.
- 인프라 환경의 변경이 쉬워짐.
- 서버를 깨끗이 유지할 수 있음. (Configuration Drift 현상 걱정 노노)
컨피그레이션 드리프트(Configuration Drift)
손으로 직접 수정한 업데이트와 전반적인 엔트로피 증가로 인해 인프라의 서버들이 시간이 갈 수록 점점 서로 다른 상태가 되는 현상
'Computer Science > Common' 카테고리의 다른 글
용량 표현 단위에 대하여 (KB, KiB, MB, MiB, GB, GiB...) (0) | 2023.02.15 |
---|---|
gRPC (0) | 2023.01.08 |