Docker 20181030 (시스템과 인프라 기초 지식)
* 리스트
>>> 코드를 사용한 인프라 구성관리 ....
* 대표적인 인프라 구성 관리 툴
- Bootstrapping
: OS설치, 가상환경 설정, 네트워크 구성 설정
: KickStart (RedHat계열 리눅스배포판에서 이용), Vagrant (로컬PC 완경에서 가상환경을 만듦)
- Configuration
: OS설정(보안/서비스 시작 등), 미들웨어 설치 및 설정
: Chef (Chef사가 제공하는 OSS 'Ruby'를 통한 인프라 구성 관리툴
: Ansible (Python으로 구축), Puppet (2005년에 릴리즈된 OSS 구성관리툴), Itamae
- Orchestration
: 애플리케이션 배포, 분산환경 서버들의 관리
: Kubernetes (키잡이,조타수) ... de facto standard...
* 지속적인 인티그레이션/지속적인 딜리버리
- Continuous Integration
- 지속적인 딜리버리
: 폭포형 app개발 - 요건정의 > 설계 > 코딩 > 테스트 --> 장시간 소요, 릴리즈 시점에 이용자가 원하는
니즈를 만족시키지 못하는 경우 발생
: 애자일형 app개발 - 한번에 다 만들지 않고 기능을 추가할 때마다 ap을 제품환경에 배포,
이용자의 피드백에기초하여다음 개발 기능을 결정. 짧은 싸이클의 개발과 릴리즈를 반복 ->
이용자가 원하는 app을 적시 제공 (... 결국 요청자의 요구사항이 시도때도 없이 변하고 처음과 나중의
말이 다르고 하는 환경에서 울며 겨자먹기식으로 고안했을 듯...)
cf. 블루그린 디플로이먼트 : 현재의 시스템(블루) 버전과 버전업 후 시스템(그린) 버전을동시 작동시킨
상태에서 시스템을 전환, 버전업 후 app에 문제 발생시 바로 현행 시스템으로 돌린다는 방법 (... 눈물난다...)
cf. CNCF : Cloud Native Computing Foundation