BEST
개발 · 프로그래밍

/

백엔드

Microservice 내부 아키텍처 와 EventStorming 설계

마이크로서비스 설계를 위한 도메인 주도 설계(Domain Driven Design)를 쉽게 설명하고, 실제로 활용하기 위한 구체적인 실천 방법을 소개합니다.

(4.6) 수강평 36개

수강생 818명

Thumbnail

중급자를 위해 준비한
[백엔드, 웹 개발] 강의입니다.

이런 걸
배워요!

  • 도메인 주도 설계(DDD)

  • 헥사고널 아키텍처

  • 전략적 설계

  • 전술적 설계

  • 이벤트 스토밍

  • 레이어드 아키텍처

  • 도메인 모델링

  • API 설계

  • MSA

DDD의 핵심, 확실하게 배우고 싶다면! 

마이크로서비스 설계 
더 유연하게, 더 강력하게.

앗, 혹시 내 얘기 아닌가요?

😥

MSA의 대략적인 개념을 이해하긴 했는데, 막상 어떻게 마이크로서비스로 쪼개고 설계해야 할지 막막하고 어렵기만 해요. 

🙄

마이크로서비스는 공개적인 REST API만 있으면 되는 거 아닌가요? 다른 어떤 설계가 필요한가요? 

😵

비동기 이벤트 통신이 많이 쓰이는 것 같던데... 어떤 비즈니스 케이스에 활용하나요? 동기/비동기 통신을 어떻게 구분해서 설계하나요? 

MSA 구조에서 마이크로서비스를 독립적으로 배포하고 변경하려면 무엇이 중요할까요? 바로 기능적으로 응집성 있고 다른 서비스와 의존관계가 적은 마이크로서비스를 식별하게 하는 것입니다. 또한 마이크로서비스 내부 구조 역시 기술 변화에 유연한 구조를 가지게 함으로써 비즈니스 변화에 민첩하게 대응하게끔 해야 합니다.

이러한 목적으로 마이크로서비스 설계에 도메인 주도 설계(DDD) 기법이, 그리고 내부 아키텍처에 헥사고널 아키텍처가 주로 사용되고 있습니다. 이번 강의에서는 이러한 도메인 주도 설계 및 헥사고널 아키텍처를 기반으로 응집성 있고 유연한 구조를 갖는 마이크로서비스를 설계하는 방법을 설명합니다.

마이크로서비스 설계에서 가장 핫한 기법 2가지 🌳

도메인 주도 설계 
(Domain-Driven Design, DDD) 

비즈니스 전략, 도메인 패턴을 중심으로 소프트웨어 아키텍처를 구축하는 개발 방법론 

헥사고날 아키텍처 
(Hexagonal Architecture) 

도메인 중심으로 의존성의 흐름이 외부로 나가지 않도록 관리하는 아키텍처 패턴 


이 강의만의 
특징을 확인하세요 📗

  • 실무자의 경험에 기반한 생생한 현장을 날것 그대로 담은 목소리로 강의합니다. 😁
  • 마이크로서비스의 이상을 지향하되, 현실을 반영한 접근 방안을 제시합니다.
  • 본 강의는 개념과 온라인 도구를 통한 실습으로 구성됩니다. 
  • 실제 마이크로서비스 설계에 활용되는 따끈한 현장의 기준, 판단(?) 기법들을 소개합니다.

그래서, 이런 분들께 도움이 됩니다! 🏃‍♀️

마이크로서비스 설계에 
이벤트스토밍을 활용하고픈 
기술/설계 리더 

마이크로서비스 설계 기준 및 
방법에 대해 고민 중인 
마이크로서비스 개발자 

도메인 주도 설계(DDD) 및 
구현에 관심있는 
백엔드 개발자 


이론에서 시작해서 
실습으로 알아가는 
마이크로서비스 설계 💻

도메인 주도 설계의 개념 이해

도메인 주도 설계 - 전략적 설계의 여러 개념(도메인 모델, 서브도메인, 유비쿼터스 랭귀지, 바운디드 컨텍스트)에 대해 알아봅니다.

가장 실용적인 마이크로서비스 도출 기법: 이벤트 스토밍

가장 쉽게 심플한 마이크로서비스 도출 기법인 이벤트 스토밍 워크샵에 대해 설명합니다.

다양한 마이크로서비스 비즈니스 로직 구현 패턴 소개

마이크로서비스 내부의 비지니스 로직을 설계하는 여러 패턴(트랜잭션 스크립트, 액티브 레코드, 도메인 모델 등)을 설명하고 어떤 선택을 해야 하는지 탐구합니다.

마이크로서비스 내부 구조 정의를 위한 다양한 내부 아키텍처 패턴 이해

전통적인 레이어드 아키텍처(Layered Architecture)의 한계와 헥사고널, 클린 아키텍처의 특징, 비교를 통해 바람직한 마이크로서비스 내부 구조에 대해 생각해 봅니다.

이벤트 스토밍 워크샵 실습

도서대여 시스템이란 주제를 가지고 온라인 도구 Miro를 통해 이벤트 스토밍 워크샵 실습을 해봅니다.

컨텍스트 매핑도 작성 실습

이벤트 스토밍을 통해 식별된 바운디드 컨텍스트의 관계를 정의하고 후보 마이크로서비스를 정의합니다.

도메인 모델링 실습

도메인 주도 설계의 전술적 설계 도구를 활용하여  마이크로서비스의 심장 도메인 모델을 설계 해 봅니다.

그래서, 이런 걸 할 수 있게 됩니다! 😎

  • 도메인 주도 설계의 전략적 설계/전술적 설계의 개념을 이해할 수 있고 어떻게 마이크로서비스 설계에 활용할지 알게 됩니다.
  • 이벤트 스토밍을 통해 업무을 분석하고 마이크로서비스 도출에 활용할 수 있습니다.
  • 개별 마이크로서비스의 비즈니스 로직 구현 패턴 및 내부 아키텍처 스타일에 대한 기준을 정의할 수 있습니다.
  • 도메인 주도 설계 - 전술적 설계 기법을 적용하여 마이크로서비스 내 도메인 모델을 설계할 수 있습니다. 

이 강의의 
지식공유자는 💁‍♂️

23년차 개발자, han jeong heon 

  • 현 대기업 SI 소프트웨어 엔지니어
  • 다수의 대규모 차세대 프로젝트 개발방법론 및 설계방법 리딩
  • 명지대 · 서울과학기술대 SW과목 강의, 한국정보기술연구원(KITRI), LG전자 MSA과정 강의
  • 멀티캠퍼스, 한국표준협회, 한국품질협회 MSA 과정 멘토링
  • 전문 분야: 개발 방법론, 소프트웨어 아키텍처/설계/개발 기법
  • 위키북스 “도메인 주도 설계로 시작하는 마이크로서비스 개발” 저 (2022)
  • 국가평생교육진흥원 K-MOOC “Microservice 설계 및 구현” 강좌
“Microservice 설계 및 구현” 강의 개발
“도메인 주도 설계로 시작하는 마이크로서비스 개발” 출간

Q&A 💬

Q. 강의에서 이론과 실습을 모두 해보나요?

본 강의의 초반부에서는 이론을, 후반부에서는 실습을 다룹니다. 대략적인 개념을 이해해본 다음 실습을 통해 어떻게 기술들이 쓰이는지 이해할 수 있도록 구성하였습니다.

Q. 실무 경험이 없는 취준생 또는 비전공자도 들을 수 있나요?

클라우드 경험이 없더라도 실제 레거시 경험이 있는 개발자라면 접근할 수 있는 수준입니다. 그러나 실무 경험이 없다면 용어 등에 어려움을 겪을 수는 있습니다. 다만 비전공자라도 부트캠프를 이수한 경험이 있다면 무난하게 수강할 수 있을 것 같습니다.

Q. 수업 내용을 어느 수준까지 다루나요?

본 강의는 도메인 주도 설계를 위한 마이크로서비스의 전반적인 이론을 배우고, 실제 업무 예제를 통해 마이크로서비스를 도출하며 그 내부를 설계해 봅니다. 구현은 별도 과정으로 준비하고 있습니다.

함께 보면 좋은 강의 📺

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 백엔드 개발자

  • 마이크로서비스 개발자

  • 아름다운 설계를 추구하는 개발자

  • 설계에 관심있는 개발자

선수 지식,
필요할까요?

  • 마이크로서비스 기본개념

  • 객체지향에 대한 이해

  • UML

  • 국내 SI업체 소프트웨어 엔지니어(SA,AA)

  • 다수의 대규모 차세대 프로젝트 개발방법론 및 설계방법 리딩 

  • 명지대, 서울과학기술대  클라우드,SW과목 강의

  • SK C&C,한국정보기술연구원(kitri), LG전자 MSA과정 강의

  • 멀티캠퍼스, 한국표준협회, 한국품질협회 MSA 과정 멘토링,스파로스아카데미 웹개발 과정 멘토링 

  • 전문분야 : 개발방법론, 소프트웨어 아키텍처/설계/개발 기법

  • 22년 , 위키북스 "도메인주도로 시작하는 마이크로서비스 개발",  저자

  • 국가평생교육진흥원, K-MOOC "Microservice 설계 및 구현 "  강좌 개발 및 강의

커리큘럼

전체

37개 ∙ (8시간 45분)

수업 자료

가 제공되는 강의입니다.

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!