On-line 과정


On-line 과정은 강사 참여 없이 MSASchool의 영상강의를 통해 Biz, Dev, Ops까지의 CNA 과정을 수강생이 독자적으로 선택해서 학습하는 Course로, 강의실에서 직접 결제를 진행하여 수강할 수 있습니다.
교육비 정산 담당 : 서원주(tjdnjswn@uengine.org)
비용강의당 2만원
강의장 이동하기

커리큘럼 소개

Biz

강의명주요 학습내용
[이벤트스토밍]
12번가 쇼핑몰 예제
쇼핑몰 예제 시나리오를 기반으로 도메인 이벤트를 도출한다.
[이벤트스토밍]
구글 드라이브 예제
구글 드라이브(Google Drive)에 파일 업로드, 비디오 변환 등의 시나리오를 기반으로 디자인 레벨 수준까지의 이벤트스토밍 방법을 익힌다.
[이벤트스토밍]
Food Delivery 예제
배달의 민족(Food Delivery) 시나리오를 기반으로 프로세스 레벨 수준의 이벤트스토밍 방법을 익한다.

Dev

강의명주요 학습내용
단위 마이크로 서비스의 실행 단위 마이크로 서비스를 실행하기 위하여 스프링부트를 컴파일하고 실행하는 방법을 실습한다.
Req/Res 방식의 MSA 연동 모노리식 서비스에서 특정 부분을 마이크로 서비스로 떼어내고 Req/Res 방식으로 통신하는 방법을 학습한다.
Req/Res 방식에서
장애전파 차단 - 서킷브레이커
서킷 브레이커를 통하여 장애 전파를 차단한다.
Kafka 기본 명령어 Kafka의 기본 명령어를 학습하고 테스트해본다.
Pub/Sub 방식의 연동 마이크로 서비스간의 통신에서 이벤트 메세지를 Pub/Sub 하는 방법을 실습한다.
Pub/Sub 방식의 연동 - Compensation & Correlation 시나리오를 기반으로 Compensation과 Correlation 처리를 해본다.
Kafka Scaling 카프카 컨슈머 그룹의 인스턴스를 늘여 처리량을 늘리고 파티션을 추가하여 Scaling 한다.
Kafka Retry &
Dead Letter Queue
Consumer가 message를 처리하던 중 오류가 발생하면 해당 Message를 다시 Polling 처리한다.
API Gateway API Gateway를 사용하여 마이크로 서비스들의 엔드포인트 단일화를 실습한다.
JWT Token 기반 인증 인가 Spring Security와 Spring oauth2를 사용해 Resource Owner, Client, Authorization Server, Resource Server간의 인증/인가를 실습한다.
JWT Token 기반 인증 인가 - Advanced 마이크로서비스와 OAuth2 구성요소인 Authorization Server/ Client/ Resource Server를 활용해 Single Sign-On 구현 모형을 실습한다.
Data Projection with Frontend and HATEOAS Data Projection의 첫번째 방법인 UI에서 Data를 Aggregate하는 방법으로 기본 생성된 VueJS 기반 프론트엔드를 활용해본다.
Data Projection with GraphQL Data Projection의 두번째 방법으로 Backend에서 Data를 Projection하는 전용의 서버로 구현하는 BFF 패턴을 학습한다.
Data Projection with CQRS CQRS 를 기반하여 Data Projection 을 수행한다.
Application Packaging with Container (Docker) Docker Client를 사용하여, Static 컨텐츠를 활용한 샘플 이미지 생성 및 이미지 저장소(Docker Hub)에 푸시해본다.
Contract Test
(Consumer Driven Test)
시나리오를 기반으로 CDC(Consumer Driven Contract) 계약을 체결해본다.

Ops

강의명주요 학습내용
AWS Cloud Setup
(EKS, ECR 설정)
아마존의 쿠버네티스 서비스인 Elastic Kubernetes Service 와 Elastic Container Registry 를 기반한 애플리케이션 배포 실습
Kubernetes Basic Commands Docker Hub에 저장된 이미지를 Public Cloud 에 배포하고, 웹 브라우저를 통해 서비스 확인하기
애플리케이션 패키징,도커라이징,클러스터 배포 소스코드를 패키징 하고 패키징된 파일을 도커리이징한 후 Docker Hub에 올라간 이미지를 클러스터에 배포 한다.
12번가 마이크로서비스 라우터(Service) 생성 Service 객체를 활용한 컨테이너 Expose 및 다박한 Service Type에 따른 Access Scope을 실습하고 그 동작 원리를 이해하고, 외부에서 마이크로서비스까지 요청이 전달되는 과정에서 Kube Proxy의 역할에 대해 학습한다.
Pod Auto Scaling 요청이 많이 들어올때 Auto Scale-Out 설정을 통하여 서비스를 동적으로 확장시키는 실습을 한다.
파일시스템 (볼륨) 연결과 데이터베이스 설정 주문 애플리케이션에 데이터베이스를 외부에서 설정 연결하기 위하여 데이터베이스를 StatefulSet 으로 생성한후, 해당 연결의 설정을 (Secret/ConfigMap) 주입한다.
셀프힐링 & 무정지 배포 실습 컨테이너의 상태를 관리하는 readinessProbe 설정을 하여 무정지 배포를 실습한다.
Ingress 를 통한 진입점 통일 -
Path-based routing
쿠버네티스 인그레스를 이용해 보다 쿠버네티스와 통합된 방식으로 진입점을 관리해본다.
Ingress - Virtual Host based Vertual Host를 기반으로 인그레스를 활용해본다.
[Service Mesh] Istio 쿠버네티스의 기본 서비스 매시인 이스티오를 설치하고 기본 샘플을 실행해 보면서 확장된 서비스 안정성과 배포전략을 알아본다.
[Service Mesh] Istio 를 통한
서비스 회복성 Part1 - 타임아웃/재시도
12번가 주문 마이크로서비스 앞단에 timeout 과 retry 를 설정하여, 주문관리 시스템의 장애없이 서비스가 안정되게 운영되는 시나리오를 적용해 본다.
[Service Mesh] Istio 를 통한
서비스 회복성 Part2 - 서킷브레이커
Istio 의 DestinationRule 설정을 통한 서킷브레이커의 다박한 설정 방식을 이해하고 앞서의 타임아웃과는 차별화된 장애회피 전략을 학습한다.
[Service Mesh] MSA 모니터링 w/ Istio addon Grafana Istio 내에 기본 설치된 Prometheus, Grafana, Kiali, Jaeger 등을 이용해 쿠버네티스 클러스터와 마이크로서비스 실시간 현황 및 분산추적 방법을 실습한다.
마이크로서비스 통합 로깅
w/ EFK stack
CNCF의 Logging 관련 오픈 스텍인 Fluentd를 포함하는 EFK(Elasticsearch, Fluentd, Kibana)를 활용하여 배포된 마이크로서비스 로그를 모니터링하는 방법을 실습한다.
[GitOps] Argo Rollout과
Istio를 통한 카나리 배포
Argo Rollout 과 Istio 의 Traffic Management 를 통하여 안정적인 카나리아 배포를 실습한다.
[GitOps] Argo CD를 통한
카나리 배포
GitOps기반의 지속적인 배포를 지원하는 Kubernetes Plug-in인 Argo CD를 활용한 카나리아 배포를 실습한다.
쿠버네티스 내부구조 분석 직접 쿠버네티스를 설치하고 운영하며 구조를 분석해본다.

교육 후기


최**
★★★★

MSAEZ 툴 정말 유용하네요. 차후 이벤트스토밍 때에도 잘 활용할 수 있을 것 같습니다.

조**
★★★★★

강의의 내용과 사용하는 툴이 적합하여 듣기 좋았습니다.

박**
★★★★★

MSA 초급자임에도 이해가 쉽도록 잘 짜여진 강의 내용이 좋았다.

안**
★★★★★

MSA 기반 설계 방법을 실습 위주로 배울 수 있어 이해가 더 잘 되었습니다.

이**
★★★★★

실습 위주로 교육 과정이 잘 구성되어 있는 것 같습니다. 또한 적절한 협업플랫폼 활용이 인상적이었습니다.