728x90
반응형
스케일링, 로드밸런싱
- 문제 : 스케일 로드밸런싱은 동일한 내용의 신규 파드를 다른 노드들에 배치하는 것이다.
- 스케일링 : 하나의 pod에 용량들을 증대시키는 역할, 한 노드안에 있는 컨테이너(pod) 같은 노드에 편입시켜서 한 노드에 여러개의 pod 만드는것
- 로드밸런싱 : 스케일링을 진행해서 한 노드에서 2개 pod 만든 다음 사용자들을 분산시켜서 여러 사용자들이 동시에 접근할 수 있도록 용량 늘리는 기법 다른 노드로 분산시키는 기법
- 공통 목적 : 용량을 늘려 여러 사용자들을 한 번에 받고 여러 일들을 더 많이 수행할 수 있도록 만듦
롤링 업데이트 : 스케일업된 파드를 롤백하거나, 업데이트하게 될 때 사용(서비스의 중단 없는 사용)
- 새로운 파드 만든다.
- 업데이트 한다.
- 기존 버전 삭제한다.
배포 종류 3가지
- Blue-Green deployment
- 동일 서버를 미리 구축한 뒤, 라우팅을 순간적으로 전환하여 새로운 버전 배포
- 빠른 롤백과 테스트에 유리
- 자원이 두배로 필요하여 비용이 많이 발생
- Rolling Update deployment
- 새로운 버전의 어플리케이션으로 서서히 배포하는 전략
- 인스턴스를 정해놓은 단위로 순차적으로 배포
- 가용 자원이 제한적일 때 유리
- 배포 중 인스턴스 수가 감소됨으로 서버 처리 용량을 고려해야 함
- Canary deployment
- 카나리아 새처럼 빠르게 미리 위험을 감지하여 대응할 수 있도록 배포
- 구버전의 서버와 새 버전의 서버들을 구성하고 일부 트래픽을 새 버전으로 분산하여 오류 여부를 판단하기 때문에 오류율 및 성능 모니터링에 유용
Cloud Native Application
4요소
- Devops
- Continous Delivery(CI CD)
- Mirco services
- containers
장단점
- 장점
- 최적화된 언어와 아키텍쳐 선택
- 탄력적인 시스템 운영
- 독립적 확장성
- 손쉬운 개발
- 스크럼 구성을 통한 배포
- 단점
- 복잡성 증가
- 데이터 중복성 증가
- 종단간 테스트의 어려움
12 factors
- 코드 베이스 : 버전 관리가 가능한 하나의 코드베이스와 이를 이용한 다양한 배포
- 종속성 : 명시적으로 선언되고 분리 된 종속성
- 설정 : 환경에 저장 된 설정의 이용
- 백엔드 서비스 : 백엔드 서비스를 연결된 리소스로 취급
- 빌드, 릴리즈, 실행 : 철저하게 분리된 빌드와 실행 단계
- 프로세스 : 애플리케이션을 하나 혹은 여러 개의 무상태 프로세스로 실행
- 포트 바인딩 : 포트 바인딩을 사용한 서비스 공개
- 동시성 : 프로세스 모델을 통한 확장
- 폐기 기능 : 빠른 시작과 그레이스풀 셧다운을 통한 안정성 극대화
- Dev/prod 일치 : 개발/운영 환경을 최대한 비슷하게 유지
- 로그 : 로그를 이벤트 스트림 취급
- Admin 프로세스 : Admin/maintenance 작업을 일회성 프로세스로 실행
728x90
반응형
'CS > Cloud' 카테고리의 다른 글
[클라우드] SSH, SSH 포트 포워딩 (0) | 2023.02.02 |
---|---|
[클라우드] 세션 클러스터링, Ribbon, Eureka (0) | 2023.02.02 |
[클라우드] 쿠버네티스, 도커, 레이어 (2) | 2023.02.02 |
[클라우드] Cloud Native Application, Devops 용어 (0) | 2023.02.02 |
[클라우드] App 종류, Cloudfoundry, kubernetes, PaaS BOSH (0) | 2023.02.02 |