Enterprise Full-day 과정


마이크로서비스의 전 과정을 심도있게 학습할 수 있는 분석/설계, 구현, 배포, 운영 및 캡스톤 프로젝트를 포함하는 인텐시브 과정으로 이미 많은 대기업 교육수행에서 검증된 커리큘럼을 기반으로 주강사와 보조강사가 함께 진행하는 Course입니다.
교육비 정산 담당 : 서원주(tjdnjswn@uengine.org)
비용
1인당 최소 247.5만원(30명) ~ 최대 420만원(10명)(14일)
교육 신청하기

* Volume Discount 정책 : 10명 이상 신청 시 11명 째부터 20명까지 10%, 20명 이상 시 21명 째부터 25명까지 20%, 26명 째부터 30명까지 30% 비용 할인이 적용됩니다.

** 캡스톤 프로젝트를 제외시킨 옵션(4일 제외)으로 신청 시 추가로 할인된 비용으로 교육을 접해보실 수 있습니다.

커리큘럼 소개

Microservice Modeling

교육목표 : MSA 아키텍처의 분석,설계,구현하기 앞서  이벤트 스토밍(Event Storming) 기법을 기반한 실질적 설계, 구현, 운영 기법 학습
기간
주제
시간
주요 학습내용
1일차마이크로서비스 아키텍처7H • 마이크로서비스아키텍처(MSA)의 출현 배경 (애자일기업과 MSA)
• MSA 개념과 특성 마이크로서비스 아키텍처 문제 및 해결책
• MSA의 진화: MSA 새시, 서비스 매시, 그리고 이벤트 드리븐 아키텍처
• 최근의  MSA 구현 전략: 외부 (아우터) 아키텍처와 내부 (이너) 아키텍처
• MSA 의 구축 라이프사이클: BizDevOps
• MSA 실 적용 사례 살펴보기
2일차마이크로서비스 설계7H • 전략적 설계의 정의
• 서브도메인과 바운디드 컨텍스트를 통한 서비스 분해 전략
• 컨텍스트 매핑 유형과 연동 프로토콜별 특성 (RPC, REST, Pub/Sub)
• 이벤트스토밍 기법을 활용한 바운디드 컨텍스트와 마이크로서비스 식별
• 이벤트 드리븐 마이크로서비스 아키텍처의 도출
• 전술적 설계의 정의 및 도메인 모델링 이해
• 도메인 모델링 (Entity, Value Objects)
• 헥사고날 (어니언) 아키텍처를 통한 서비스 구현 전략
설문작성 및 테스트30 min • 과정에 대한 설문 작성 및 온라인 문항을 통한 테스트

Developing Cloud Native Application

교육목표 : Cloud 플랫폼과 Core 서비스를 이해하고 시스템을 구성하고 클라우드 애플리케이션을 개발 · 운영
기간
주제
시간
주요 학습내용
3일차개발 실습 개요1H • 개발 대상:  온라인 커머스 서비스
• 개발 서비스 품질 목표:  Resiliency, Scalability, Responsiveness
• 조직의 전환:  Horizontal to Vertical, Matrix Organization
마이크로서비스의 분석과 설계2H • DDD와 MSA Design Patterns을 적용한 마이크로서비스 구현 전략, Cloud Native Application 의 특성과 구현원칙들
• 서비스 식별과 분해방법들 – Core Domain 과 Supporting Domain, Bounded Context, Aggregate, Business Capability, Mini Service
• 분해된 서비스의 연동 방법 – Context Mapping, Request/Response or Event-driven MSA
• Outer Architecture 구성요소 – API GW, 분산큐(Kafka), 서비스 레지스트리, 로드밸런서, 서킷브레이커, 사이드카 패턴 등
단위 마이크로서비스의 구현4H • DDD 와 이벤트 스토밍의 결과를 헥사고날 아키텍처로 매핑하는 방법
• Spring Boot와 Maven 을 이용한 단위 서비스 포장
• JPA 를 이용한 도메인 모델과 어댑터 구현 (Entity, Value Objects)
• Spring Data REST + JPA 를 통한 RESTful API 노출 (HATEOAS)
4일차프론트엔드를 통한 마이크로 서비스 통합4H • UI 를 기반한 서비스 통합 전략:  Client-side Rendering, SPA, MVVM, HATEOAS
• MVVM Front-end 프레임워크:  VueJS, React, Angular2
• API Gateway 를 통한 진입점 단일화, 전급 관리 및 인증 통합
• OAuth2 와 JWT 통한 Stateless 한 토큰 기반 접근과  인증
• Front-end 기반 통합의 한계: 트랜잭션 이슈와 성능 문제
5일차인터-마이크로서비스의
통합 1: Request-Response 방식
2H • Request-Response 방식의 연동 (REST + Sync + Orchestration)
• 트랜잭션 이슈: 2PC or Shared-Database and schema per service
• 추적 이슈: 분산 추척을 통한 오류 점검 방법, Istio 예거와 kiali 사용 방법
• 성능 이슈: 장애전파 상황 그리고 Istio 의 Circuit Breaker, Rate Limiting를 통한 회피
인터-마이크로서비스의
통합 2: Kafka 활용
2H • Event-driven 방식의 연동 (Pub/Sub + Async + Choreography)
• EDA 에서의 분산 큐의 역할과 Kafka 의 장점
• Kafka 의 설치와 클라이언트 도구를 통한 Pub/Sub 실습
인터-마이크로서비스의
통합 2: Event-driven 방식
3H • 이벤트의 퍼블리싱 – 어그리게이트 내의 엔티티에 JPA 어노테이션 주입 방법, Spring Cloud Streams 를 통한 이벤트 퍼블리시
• 이벤트의 서브스크립션 - Spring Cloud Streams 와 Kafka client 를 통한 이벤트의 수신과 처리, Acknowledge
• 트랜잭션 이슈: Eventual Transaction 와 Saga, Compensation
• 실습 통한 성능의 장점 이해 :  Time-decoupling 과  Non-blocking 속성
데이터 프로젝션3H • Join SQL 를 회피하고, 데이터를 취합하여 보여주는 전략 3가지:  by UI, by Composite-service, by CQRS
• Composite-Service 구현방법:  동시 REST 호출 or API GW (GraphQL) 사용
• CQRS / GraphQL 구현 방법
6일차MSA 패턴을 적용한 샘플 마이크로서비스 구현7H • MSA 패턴을 적용한 샘플 마이크로서비스 종합 구현 및 테스트
• 마이로서비스 토큰 인증 (Key Cloark, Spring Security)
설문작성 및 테스트30 min • 과정에 대한 설문 작성 및 온라인 문항을 통한 테스트

Container Orchestration-Docker & Kubernetes

교육목표 : Kubernetes와 Docker 의 설치, 애플리케이션 배포, 무정지 재배포, 운영자동화의 실습 및 학습
기간
주제
시간
주요 학습내용
7일차MSA와 DevOps 그리고 Kubernetes7H • 마이크로서비스와 DevOps의 적용사례 – 아마존과 넷플릭스
• 컨테이너와 컨테이너 오케스트레이터의 등장
• 컨테이너 기반 애플리케이션 디자인 패턴
• 구글의 Kubernetes를 기반한 MSA와 DevOps 환경의 적용 시나리오
Kubernetes 의 구조, 활용 시나리오의 전반적 이해 • Kubernetes 등장 배경 (Borg), Features, Architecture
• Kubernetes Runtime Mechanism
• Kubernetes Object Model 과 Declarative Configuration 개념
• Kubernetes 의 설치:  Configuration, Infrastructure, Localhost vs On-premise vs Cloud Installation, Tools/Resources
• Public Kubernetes 서비스 (GCP / AWS / Azure) 계정 생성과 접속
• 샘플 MSA 애플리케이션의 디플로이 전과정 미리보기
8일차Kubernetes 서비스 설치와 운영7H • Kubernetes 기본 명령과 Kubectl 를 통한 객체 다루기
• Kubernetes 를 통한 애플리케이션 디플로이, 인터넷으로의 서비스 노출과정
• CSP VM 서비스에서의 Node 확인과 pod 디플로이 전략 확인
• Pod, Deployment, ReplicaSet, StatefulSet, DaemonSet 등 객체 세부
• Self healing, Auto Scaling, Zero-Down time Deployment
• Liveness & Readiness 의 설정, 트러블슈팅 방법
• Volume, PersistenceVolume, PersistenceVolumeClaim
• Yaml, Helm 를 이용한 멀티 티어 애플리케이션 프로비져닝
9일차쿠버네티스를 이용한 Micro Services and DevOps7H • MSA Application 서비스 시나리오: 샘플 애플리케이션
• 애플리케이션 패키징을 위한 컨테이너 (도커)의 이해
• 마이크로 서비스 섀시 (Chassis) :  스프링 클라우드와 넷플릭스 OSS, 그리고 도커를 통한 서비스 패키징
• Container Registry 를 이용한 도커 레지스트리에 서비스 퍼블리싱
• 애플리케이션 디플로이먼트 디스크립터의 설정, Liveness & Readiness 설정
• 서비스 매시 Isio의 개념과 쿠버네티스와 관계 이해
• Istio 를 통한 Resilience 향상: 서킷 브레이킹, 레이트 리미팅, 리트라이, 풀이젝션
• Istio 를 통한 Smart Deploy: 동적 트래픽 라우팅, AB Testing, 카나리 디플로이, 새도우 디플로이
• Istio 를 통한 모니터링:  프로메테우스를 통한 모니터링 수집, 예거, 키알리를 통한 분산 서비스 추적 프로파일링
10일차CI/CD 프로세스와 CSP 의 대응 서비스3H • CI (Continuous Integration) / CD (Continuous Delivery) 개요
• CI/CD Pipeline 구성요소 – Source Repository, Builder, Pipeline, Image Registry, Container Orchestrator
• CSP 의 대응 서비스 – Repos Git, CSP Pipeline and CSP Container Registry, 그리고 CSP Kubernetes Service
CI/CD Pipeline with CSP Pipelines4H • Maven 개념과 라이브러리 디펜던시 (pom.xml) 의 구조 이해
• CSP Pipelines Yaml 파일 구조
• 소스코드의 변경을 통한 Git 트리거를 통한 파이프라인 실행
• CSP Pipelines 대시보드
설문작성 및 테스트30 min • 과정에 대한 설문 작성 및 온라인 문항을 통한 테스트

Capstone Project: Developing on Cloud

교육목표 : 클라우드 플랫폼에서 마이크로서비스 아키텍처 기반으로 클라우드 네이티브 애플리케이션을  개발 하는 프로젝트 수행 방식의 교육
기간
주제
시간
주요 학습내용
11일차평가 방법 설명 및 환경 설정3H • 통합 평가 기준과 체크 포인트 설명
• 캡스톤 프로젝트 선정 기준 설명
• 프로젝트 결과 발표 방법 설명
• 팀선정, 팀장선출
팀프로젝트 모델링4H • 팀별 이벤트 스토밍 통한 도메인 모델링
• 강사:  이벤트 스토밍 퍼실러테이션
12일차팀프로젝트 개발7H • 개발 진행 • 강사: 질의응답, 문제해결, 가이드
13일차팀프로젝트 배포4H • 쿠버네티스와 CI/CD 를 이용하여 배포
• 강사: 질의응답, 문제해결, 가이드
팀프로젝트 평가3H • 조별 발표: 개발 내역 체크포인트에 따라
• 강사: 평가
14일차개인개발3H • 조별 개발 내용에서 추가 마이크로서비스 주제 선정
• 추가 마이크로 서비스에 대한 분석설계 (이벤트스토밍), 개발, 운영의 시나리오로 개발
• 팀별 평가의 동일한 체크포인트
개인평가4H • 개인 발표
• 강사:  평가 후 총괄 개인별 점수 산정 →  보고
설문작성 및 테스트30 min • 과정에 대한 설문 작성 및 온라인 문항을 통한 테스트

강사진 소개

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

장진영

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 PoC/ 마스터플랜 수립 Project Developer
• Eventstorming online platform 개발
• Cloud Native App. PaaS platform 개발
• Open Cloud Engine Project TA

• 現 uEngine MSA 정규 교과정 보조강사
• 現 MSA App. Engineering 기업과정 보조강사
• ‘21 : SK MSA App. Engineering 과정 보조강사 외
• ’21. 06 : KT Microservice 직무전환과정 보조강사
• ’20. 09 : Doosan Microservices 교육 보조강사 외
• ’19. 09 : KOSTA Microservices 교육 보조강사 외
• ‘19. 02 : LG CNS 이벤트스토밍 교육
*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
대표이사 : 장진영