Flipped Learning 과정


Flipped Learning CNA 과정은 Biz Part(MSA 이론, DDD 분석/설계)는 교육 사전에 주강사의 이론 영상을 제공해 DDD 및 마이크로서비스 설계에 대한 개념을 학습할 수 있도록 하고, 이후 Dev 및 Ops Part는 영상을 학습한 뒤 교육 당일에 실습 랩을 위주로 마이크로서비스의 Biz-Dev-Ops 풀 라이프사이클을 학습 주도하는 Cost-effective한 과정입니다. 신청서 작성시, MSA이론(Biz) 및 CNA구현(Dev) 파트만 선택적으로 신청(2일)하여 수강할 수 있습니다.
교육비 정산 담당 : 서원주(tjdnjswn@uengine.org)
비용1인당 100만원(4일)
Biz/Dev만 수강시 1인당 60만원(2일)
교육 신청하기

커리큘럼 소개

사전 제공 영상 이론

Part
주제
주요 학습내용
Biz클라우드 네이티브 애플리케이션의 정의와 설계전략 • 애자일 기업에 필요한 것들 – Microservice, DevOps, Container
• 모노리스와 마이크로서비스의 비교
• 클라우드 네이티브 애플리케이션의 정의와 설계 패턴
• 최신 마이크로서비스 아키텍쳐의 경향 – Event-driven (Reactive) Microservices
• 사례 – 당근마켓과 11번가
마이크로서비스의 분석/설계 • DDD(도메인 주도 설계) 와 MSA Design Patterns을 적용한 마이크로서비스 분석/설계
• DDD 구성요소 - 서브도메인, 바운디드 컨텍스트, 도메인 이벤트, 어그리게잇, 뷰
• 서비스 식별과 분해방법들 - Core / Supporting Domain, Bounded Context, Aggregate, Business Capability, Mini Service
• 이벤트스토밍 - DDD 를 쉽게하는 워크숍 실천법
• MSA Design Patterns – Strangler with API G/W, 서킷브레이커, 토큰기반 인증, 클라이언트-사이드 렌더링, 서비스 프록시, 이벤트션팅
• DDD 와 이벤트 스토밍의 결과를 헥사고날 아키텍처로 매핑하는 방법
Dev구현: 단위 마이크로 서비스의 구현과 분리 • Spring Boot와 Maven 을 이용한 단위 서비스 포장
• JPA 를 이용한 도메인 모델과 어댑터 구현 (Entity, Value Objects)
• Spring Data REST + JPA 를 통한  RESTful API 노출 (HATEOAS)
• Spring Gateway 를 통한 서비스 분리후 진입점 통일
프론트엔드를 통한 마이크로 서비스 통합 • UI 를 기반한 서비스 통합 전략:  Client-side Rendering, SPA, MVVM, HATEOAS
• OAuth2 와 JWT 통한 Stateless 한 토큰 기반 접근과  인증
• Front-end 기반 통합의 한계: 트랜잭션 이슈와 성능 문제
• 마이크로 프론트엔드
인터-마이크로서비스의
통합 1:Request-Response 방식
• Request-Response 방식의 연동 (REST + Sync + Orchestration)
• 서킷브레이커를 통한 장애회피
• 쓰기관점 - 트랜잭션 이슈: 2PC or Shared-Database and schema per service
• 읽기관점 - Composite-Service 구현방법: 동시 REST 호출 사용
Dev/Ops인터-마이크로서비스의
통합 2:Event-driven 방식
• Event-driven 방식의 연동(Pub/Sub + Async + Choreography)
• 이벤트의 서브스크립션 - Spring Cloud Streams 와 kafka client 를 통한 이벤트의 수신과 처리
• 쓰기관점 - 트랜잭션 이슈: Eventual Transaction 와 Saga, Compensation
• 읽기관점 - CQRS 구현방법
점진적인 Microservice 전환 • Strangler Pattern을 적용한 단계적 DT(Digital Transformation)  전략
• CDC (Change Data Capture)를 활용한 Event Shunting
• Kafka Connector 소개
운영: 데브-옵스 프로세스와 쿠버네티스 • DevOps 기반의 프로세스 변화와 MSA
• 클라우드 애플리케이션 배포 전략 - 무정지(카나리) 배포, A/B 테스팅, Shadow 배포
• DevOps 툴체인 - 컨테이너와 컨테이너 오케스트레이터, 그리고 CI/CD
• Kubernetes Object Model 과 Declarative Configuration 개념
• Kubernetes 기본 명령과 Kubectl 를 통한 객체 다루기
Ops운영: 쿠버네티스 상세 • Kubernetes 를 통한 애플리케이션 디플로이, 인터넷으로의 서비스 노출과정
• Pod, Deployment, ReplicaSet, StatefulSet, DaemonSet 등 객체 세부
• Self healing, Auto Scaling, Zero-Down time Deployment
• Liveness & Readiness 의 설정, 트러블슈팅 방법
• Persistence Volume 통한 파일시스템 연계
• Secrets, ConfigMap 통한 Configuration Externalization
• 예제 스프링 애플리케이션의 패키징과 파일시스템 연동, 회복자동화, 자동확장 테스트
운영: CI/CD • Argo Workflow / Rollouts / CD 를 이용한 CI/CD 자동화
• Spring Cloud Contract 를 통한 Consumer-driven / Contract Testing

Day1 – Biz Part

시간
주제
주요 학습내용
오전
09:00~11:20
이벤트스토밍&DDD 이론(교재) • 모노리스와 마이크로서비스의 비교
• 클라우드 네이티브 애플리케이션의 정의와 설계 패턴
• 최신 마이크로서비스 아키텍쳐의 경향 – Event-driven (Reactive) Microservices
• 사례 – 당근마켓과 11번가
• DDD(도메인 주도 설계) 와 MSA Design Patterns을 적용한 마이크로서비스 분석/설계
• DDD 구성요소 - 서브도메인, 바운디드 컨텍스트, 도메인 이벤트, 어그리게잇, 뷰
• 서비스 식별과 분해방법들 - Core / Supporting Domain, Bounded Context, Aggregate, Business Capability, Mini Service
• 이벤트스토밍 - DDD 를 쉽게하는 워크숍 실천법
11:20~13:00Lunch time
오후
13:00~16:00
이벤트스토밍 실습 - 12번가 예제
• 온라인 쇼핑몰 서비스를 마이크로서비스로 설계하는 이벤트스토밍 모델링 과정
• 인스트럭션에 제시된 시나리오에 따라 각 스프린트별로 빅픽처 부터 디자인 레벨까지 디벨롭하는 풀 과정
16:00~17:30이벤트스토밍 실습 - 구글 드라이브
• 구글 드라이브 서비스를 마이크로서비스로 설계하는 이벤트스토밍 모델링 과정
• 앞서 진행한 이벤트스토밍 경험을 살려 수강생이 직접 전체 모델링 실습을 진행한 후 강사의 피드백과 함께 디벨롭하여 프론트엔드 운영까지 시범
17:30~Q&A

Day2 – Biz/Dev Part

시간
주제
주요 학습내용
오전
09:00~11:20
1일차 이론 복습
이벤트스토밍 실습 - 배달의 민족 예제
• 배달 어플리케이션 서비스를 마이크로서비스로 설계하는 이벤트스토밍 모델링 과정
• 앞서 진행한 이벤트스토밍 경험을 살려 수강생이 직접 전체 모델링 실습을 진행한 후 강사의 피드백과 함께 디벨롭
11:20~13:00Lunch time
오후
13:00~15:00
단위 마이크로서비스의 구현 및 동작원리 이해
• 분석/설계 단계를 통해 생성한 이벤트스토밍 모델 기반으로 각 스티커를 통해 구현되는 코드 설명 및 실습을 통한 동작원리 이해
15:00~17:30마이크로서비스의 통합 1
:Request-Response 방식
• Request-Response 방식의 연동 (REST + Sync + Orchestration)
• Feign Client를 통한 원격 호출 방식 이해
마이크로서비스의 통합 2
:Pub-Sub 방식

• Event-driven 방식의 연동(Pub/Sub + Async + Choreography)
• Kafka 기본 개념 및 실습을 통한 모니터링, 메세지 전달 실습
• 이벤트의 서브스크립션 - Spring Cloud Streams 와 kafka client 를 통한 이벤트의 수신과 처리
• 보상 트랙잭션의 이해 및 동작 실습
17:30~Q&A

Day3 – Dev/Ops Part

시간
주제
주요 학습내용
오전
09:00~11:20
API Gateway, JWT Token 기반 인증방식
• 마이크로서비스간의 통합 및 라우팅의 개념 및 예제를 통한 이해
• JWT Token 기반의 인증 방식 이해 및 실습
11:20~13:00Lunch time
오후
13:00~17:30
CQRS 패턴
• 읽기 전용 뷰를 위한 전용 모델 사용
• 독립된 환경에서 Publish된 Event에 따른 조회 모델의 업데이트
Test 기법
• Unit Test를 통한 단위 마이크로 서비스의 메소드 테스트
• Contract Test를 통한 마이크로 서비스간의 계약 및 상호 연동 테스트
Docker, GCP환경 설정 및 Docker를 통한 이미지 생성
• Kubernetes cluster 환경 구축을 위한 GCP 설정
• Docker를 통한 마이크로 서비스 이미지 생성에 대한 예제 실습
17:30~Q&A

Day4 – Ops Part

시간
주제
주요 학습내용
오전
09:00~11:20
운영: 데브-옵스 프로세스와 쿠버네티스 • Docker, Kubernetes를 통한 Cluster 환경에서의 Pod, Service, Deployment 구축 및 운영
• Kubernetes 기본 명령과 Pod의 Trouble Shooting
11:20~13:00Lunch time
오후
13:00~17:30
Packaging, Dockerising, Cluster 배포
• 12stmall 모델을 통한 마이크로서비스의 패키징, 도커라이징, Cluster 배포 실습 및 피드백
Auto Scaling
• HPA 개념에 대한 이해와 실습을 통한 Pod의 Auto Scaling 환경 구축
CI/CD
• Github-Action을 통한 CI환경 구축 및 CI 프로세스 이해
• ArgoCD를 통한 CD환경 구축 및 CD 프로세스 이해
17:30~Q&A

강사진 소개

주강사(장진영 / 박용주)

장진영

uEngine CEO & President

• MSA 교육, 기업 컨설팅
• MSAEz, MSA School, CNA PaaS Platform
• Open Source Open Cloud Engine
• uEngine BPM, SNS(Process CODI), ALM(ESSENCIA)
• SAFe 애자일 공인 컨설턴트 (SPC)
• 現 유엔진솔루션즈 대표이사
• 現 MSA 교육, 기업 컨설팅
• 現 MSA Facebook 그룹 운영
(https://www.facebook.com/groups/cloudswmoding)
• 現 디지털플랫폼정부 기술자문위원
• 한국소프트웨어기술진흥협회 전문강사
• 클라우드(MSA, DDD) 강의 다수
• 객체지향 프로그래밍 University 강의

박용주

uEngine Director & MSA Consultant

• MSA DT 마스터플랜 수립 Project
• MSA PoC/ Pilot 수행
• 다수 MSA 제안 작업 및 컨설팅
• 마이크로서비스 교육과정 교안/교재 집필

• 現 uEngine MSA 정규 교과정 전문강사
• 現 MSA App. Engineering 기업과정 강사
• 現 세종사이버대학교 컴퓨터/AI 공학과 겸임교수
• 한국소프트웨어기술진흥협회 전문강사
• ‘21 : SK MSA App. Engineering 과정 강사 외
• ’21. 06 : KT Microservice 직무전환과정 강사
• ’20. 09 : Doosan Microservices 교육 강사
• ’19. 09 : KOSTA Microservices 교육 강사
• ‘19. 02 : LG CNS 이벤트스토밍 교육 강사



실습강사(김근영 / 김규수)

김근영

uEngine Cloud Platform Developer & Manager

• 現 MSA 정규 교과정 실습강사 및 코칭
• 現 MSA App. Engineering 기업과정 실습강사 및 코칭
• ‘24. 08 : 2e 컨설팅 Microservice Modeling/Developing CNA 과정
• ’23. 11 : KTDS Microservice Modeling/Developing CNA 과정
• ’23. 10 : GS Eventstorming 교육
• ’22. 09 : 아이티센 Microservice Modeling 과정
• ’22. 06 : 한화 Container Orchestration 과정
• ’22. 06 : SK C&C Microservice Modeling/Developing CNA
/Container Orchestration 과정
• ’22. 06 : 삼성 SDS Microservice Modeling/Developing CNA 과정
• ’22. 06 : 하나금융 Microservice Consulting 과정
• ‘22. 06 : 교보생명 Microservice Modeling 과정

김규수

uEngine Cloud Platform Developer & Manager

• 現 MSA 정규 교과정 실습강사 및 코칭
• 現 MSA App. Engineering 기업과정 실습강사 및 코칭
• ‘24. 08 : 2e 컨설팅 Microservice Modeling/Developing CNA 과정
• ’24. 05 : SK C&C Container Orchestration with AWS 과정
• ’24. 03 : KTDS Cloud Native Application 과정
• ’24. 01 : KTDS Cloud Native Application 과정
• ‘23. 11 : Hana Container Orchestration with GCP 과정
*MSA School의 모든 콘텐츠에 대한 권리는 MSA School에 있으며, 무단 복제 및 배포를 금합니다. 영리 목적의 사용은 허용되지 않으며, 개인적 용도로 복제할 경우 반드시 출처를 표기해야 합니다.
© uEngine. All Rights Reserved. | 주소 : 서울특별시 서초구 신반포로45길 18 502호(잠원동, 주일빌딩)
사업자등록번호 : 211-87-95355 | 전화번호 : 02-567-8301 | 대표이사 : 장진영
*MSA School의 모든 콘텐츠에 대한 권리는 MSA School에 있으며, 무단 복제 및 배포를 금합니다.
영리 목적의 사용은 허용되지 않으며, 개인적 용도로 복제할 경우 반드시 출처를 표기해야 합니다.
© uEngine. All Rights Reserved.
주소 : 서울특별시 서초구 신반포로45길 18 502호(잠원동, 주일빌딩)
사업자등록번호 : 211-87-95355
전화번호 : 02-567-8301
대표이사 : 장진영