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:00 | Lunch 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:00 | Lunch 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:00 | Lunch 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:00 | Lunch 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 강의
• 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 이벤트스토밍 교육 강사
• 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 과정
• 現 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 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 과정