클라우드 네이티브 인프라스트럭처
사람이 직접 일일이 설정하지 않고도 애플리케이션으로 인프라스트럭처를 자동화해 관리하는 'IT 인프라 기술 혁명'의 미래는 이미 다가와 있다. 고 가용성과 확장성, 신뢰성을 보장하는 클라우드 인프라스트럭처와 클라우드 네이티브한 애플리케이션 개발이 무엇인지 아직 잘 모르는 개발자와 엔지니어, 인프라 관리자에게 클라우드 네이티브 컴퓨팅의 개념과 아키텍처 패턴, 설계 원리를 알려주는 입문서!
클라우드 네이티브 인프라스트럭처는 단순히 클라우드상의 서버나 네트워크, 스토리지만을 의미하지 않는다. 클라우드 네이티브 인프라스트럭처는 탄력성과 확장성을 위한 건강한 운영 환경을 의미한다. 이 책에서는 여러분이 원하는, 즉 클라우드 네이티브 애플리케이션 전체의 수명주기를 관리하는 인프라스트럭처 아키텍처에 대한 다양한 관례와 패턴, 요구사항에 대해 알려준다.
저스틴 개리슨과 크리스 노바는 구글, 아마존, 넷플릭스 같은 회사의 인프라스트럭처를 아키텍처 관점에서 설계하면서 힘들게 얻은 교훈을 이 책에서 모두 공개한다. 저자진은 클라우드 네이티브 컴퓨팅 재단(CNCF)이 채택한 프로젝트에서 영감을 얻어 쿠버네티스 같은 현존하는 도구에서의 패턴 예제도 제공한다.
세계적으로 가장 큰 미디어 회사에서 일하는 엔지니어로서, 커뮤니티와 오픈 소스를 사랑한다. 기술과 관련한 전문용어나 유행어를 좋아하진 않지만 기술 동향에 감춰진 패턴과 이점을 연구해서 찾아내고자 한다. 그는 이렇게 찾아낸 결과물을 사람들과 공유하며 실용적인 자료와 독특한 예제를 함께 제공함으로써 지식을 전파하려고 노력한다. 또한, 많은 커뮤니티에서 활발히 활동하면서 현상에 대한 질문을 끊임없이 던진다. 저스틴은 새로운 것을 배우고, 자신이 깨달은 바를 커뮤니티에 돌려주려고 항상 노력한다.
[1장] 클라우드 네이티브 인프라스트럭처란 무엇인가
클라우드 네이티브의 이점
서버
가상화
IaaS
PaaS
클라우드 네이티브 인프라스트럭처
클라우드 네이티브 인프라스트럭처가 아닌 것은 무엇인가
클라우드 네이티브 애플리케이션
마이크로서비스
정상 상태 보고
측정 데이터
회복성
선언적, 비 반응적
클라우드 네이티브 애플리케이션이 인프라스트럭처에 미치는 영향
정리
[2장] 클라우드 네이티브를 도입해야 할 시점
애플리케이션
사람
시스템
기업
클라우드 네이티브 인프라스트럭처가 필요 없는 상황
기술적 한계
기업의 한계
정리
[3장] 클라우드 네이티브 배포의 진화
인프라스트럭처 표현하기
도표로서 인프라스트럭처
스크립트로서 인프라스트럭처
코드로서 인프라스트럭처
소프트웨어로서 인프라스트럭처
배포 도구
멱등성
실패 처리
정리
[4장] 인프라스트럭처 애플리케이션 설계
부트스트랩 문제
API
세계의 상태
조정자 패턴
규칙 1: 모든 입출력에 대해 데이터 구조체를 사용한다
규칙 2: 데이터 구조체가 불변임을 보장한다
규칙 3: 자원 맵을 단순하게 유지한다
규칙 4: 실제 상태를 기대되는 상태와 일치시킨다
조정자 패턴의 메소드
Go 언어로 만든 패턴 예제
감사 관계
컨트롤러에서 조정자 패턴 사용
정리
[5장] 인프라스트럭처 애플리케이션 개발
API 설계하기
기능 추가
조만간 사라질 기능
변형되는 인프라스트럭처
정리
[6장] 클라우드 네이티브 인프라스트럭처 테스트
무엇을 테스트해야 할까
테스트 가능한 코드 작성
유효성 검사
코드 기반 테스트
확신 측정
테스트 유형
인프라스트럭처 단정
통합 테스트
단위 테스트
모의 테스트
카오스 테스트
인프라스트럭처 모니터링
정리
[7장] 클라우드 네이티브 애플리케이션 관리
애플리케이션 설계
클라우드 네이티브 패턴 구현
애플리케이션 수명주기
배포
실행
폐기
인프라스트럭처에 대한 애플리케이션 요구사항
애플리케이션 런타임과 격리
자원 할당과 스케줄링
환경 격리
서비스 발견
상태 관리
모니터링과 로깅
메트릭 집계
디버깅과 추적
정리
[8장] 애플리케이션 보호
코드로서 정책
배포 분기
적합성 테스트
준수성 테스트
활동 테스트
인프라스트럭처 감사
불변 인프라스트럭처
정리
[9장] 클라우드 네이티브 인프라스트럭처 구현
변화를 위해 집중할 분야
사람
아키텍처
카오스 관리
애플리케이션
미래에 대한 전망
정리
[부록 A] 네트워크 회복성을 위한 패턴
부하 분산
부하 차단
서비스 발견
재시도와 최종 기한
회로 차단
TLS와 인증
라우팅: 입구와 출구
통찰과 모니터링
[부록 B] 락인에 대응하는 우리의 자세
락인은 불가피하다
기술 락인
공급 업체 락인
락인은 위험 요소인가
전략을 아웃소싱하지 마라
[부록 C] 사례 연구: 박스(BOX) 사의 쿠버네티스 도입기