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 그리고 Kubernetes | 7H |
• 마이크로서비스와 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 DevOps | 7H |
• 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 Pipelines | 4H |
• 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 강의
• 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 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 이벤트스토밍 교육
• 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 이벤트스토밍 교육