241023 애자일 ~ 코드형.. 컨테이너 인프라
애자일
일정 주기를 정한 다음에 해당 주제에 맞춰 요구사항을 만족하는 프로토타입을 만들고 이를 개선해 나가며 최종 목표에 점진적으로 접근하는 것.
ex) 쇼핑몰 웹페이지를 만든다고 가정하면,
각 페이지나 기능에 따라 작업을 분류하고 이를 이슈 트래킹 툴(예: Jira)에 티켓으로 등록한다.
(과거 개발자로 재직 당시 애자일을 사용하여 기획자와 그런식으로 일을 진행했는데 각 티켓에 주제가 정해져있으니 일을 하기가 수월했고 중간에 이슈가 있을 때 마다 일을 쳐내기 쉬웠던 기억이 있음.)
코드형 인프라 ↔ 컨테이너형 인프라
코드형 : 전반적인 인프라 리소스를 코드로 관리
컨테이너형 : 애플리케이션 실행 환경을 컨테이너로 관리
(컨테이너 인프라 자체를 코드형 인프라 도구로 관리할 수도 있다.)
코드형 인프라
:코드로 하드웨어를 설정하고, 운영체제를 설치하고, 네트워크 구성하고, 개발환경을 구축
컨테이너형 인프라
:개인 컨테이너가 격리된 상태로 실행되는 인프라 환경
독립적 실행 프로세스 → 컨테이너
1) 모놀리식 아키텍처 : 여러 기능 통합 → 컨테이너 될 수 있음..
2) 마이크로 서비스 아키텍처 : 시스템 전체가 하나의 목적 지향...하지만 작은 서비스를 각각 개발
→ iaas 환경에 적합 → 모놀리식보다 복잡..각 서비스가 서로 유기적으로 통신
⇒ 네트워크 통한 호출 횟수가 증가해 성향에 영향을 줌
- 도커 : 컨테이너를 만들고 관리하는 것을 도와주는 컨테이너 도구
→ 운영체제 환경에 관계 없이 독립적인 환경에서 일관된 결과
- 쿠버네티스 : 다수의 컨테이너 관리
컨테이너 갯수가 늘어나며 관리가 어려워졌고 그 때 쿠버네티스가 등장했다.
쿠버네티스는 앞서 언급한 것처럼 컨테이너 관리 도구로 컨테이너 오케스트레이션을 위한 솔루션이다.
(오케스트레이션: 복잡한 단계를 관리하고 요소들의 유기적인 관계를 미리 정의해 손쉽게 사용하도록 서비스)