강의

멘토링

로드맵

Inflearn brand logo image
BEST
Programming

/

Back-end

Microservice Design (with EventStorming, DDD)

This is a simple explanation of Domain Driven Design for microservice architecture, along with specific practical methods for real-world application.

(4.5) 53 reviews

977 learners

  • scant10
msa
모델링
DDD
MSA
Architecture

Reviews from Early Learners

What you will learn!

  • Domain-Driven Design (DDD)

  • Hexagonal architecture

  • Strategic Design

  • Tactical Design

  • Event Storming

  • Layered architecture

  • Domain Modeling

  • API Design

  • MSA

If you want to learn the core of DDD for sure!

Microservices design
More flexible, more powerful.

Oh, are you talking about me?

😥

I understand the general concept of MSA , but I have no idea how to actually split it into microservices and design it, and it's just difficult.

🙄

Don't microservices just need to have a public REST API? What other design is needed?

😵

Asynchronous event communication seems to be used a lot... What kind of business cases are they used for? How do you design and distinguish between synchronous and asynchronous communication?

What is important in order to independently deploy and change microservices in an MSA structure? It is to identify microservices that are functionally cohesive and have few dependencies on other services . In addition, the internal structure of microservices must be flexible to technological changes, allowing for agile response to business changes.

For this purpose, domain-driven design (DDD) techniques are mainly used for microservice design, and hexagonal architecture is mainly used for internal architecture. In this lecture, we will explain how to design microservices with a cohesive and flexible structure based on domain-driven design and hexagonal architecture.

2 Hottest Techniques in Microservices Design 🌳

Domain Driven Design
(Domain-Driven Design, DDD)

A development methodology that builds software architecture around business strategy and domain patterns.

Hexagonal architecture
(Hexagonal Architecture)

An architectural pattern that manages the flow of dependencies from domain-centric sources to outside sources.


Only for this lecture
Check out the features 📗

  • The lecture is given in a raw voice, based on the experience of practitioners. 😁
  • We aim for the ideal of microservices, but present an approach that reflects reality.
  • This course consists of concepts and hands-on practice using online tools.
  • We introduce hot field standards and judgment(?) techniques used in actual microservice design .

So, this is helpful for these people! 🏃‍♀️

In microservice design
I want to use event storming
Technology/Design Leader

Microservice design criteria and
Thinking about how to
Microservice Developer

Domain Driven Design (DDD) and
Interested in implementing
Backend Developer


Starting with theory
Learn through practice
Microservices Design 💻

Understanding the concept of domain driven design

Domain-Driven Design - Learn about several concepts of strategic design: domain models, subdomains, ubiquitous language, and bounded contexts.

The most practical microservice derivation technique: Event Storming

We will explain the Event Storming Workshop, the easiest and simplest microservice derivation technique.

Introduction to various microservice business logic implementation patterns

We'll explore several patterns for designing business logic inside microservices (transaction scripts, active records, domain models, etc.) and what choices to make.

Understand various internal architecture patterns for defining the internal structure of microservices.

Let's think about the desirable internal structure of microservices through comparison with the limitations of the traditional layered architecture and the features of the hexagonal and clean architectures.

Event Storming Workshop Practice

We will conduct an event storming workshop using the online tool Miro on the topic of book lending system.

Practice creating context mapping diagrams

Define relationships in the bounded context identified through event storming and define candidate microservices.

Domain Modeling Practice

Let's design the heart domain model of a microservice using the tactical design tools of domain-driven design.

So, you can do something like this! 😎

  • You will understand the concepts of strategic design/tactical design of domain-driven design and learn how to utilize them in microservice design.
  • Event storming can be used to analyze work and derive microservices.
  • You can define criteria for the business logic implementation patterns and internal architectural styles of individual microservices.
  • Domain-driven design - You can design the domain model within your microservices by applying tactical design techniques.

In this lecture
Knowledge sharer is 💁‍♂️

23-year developer, han jeong heon

  • Current SI software engineer at a large corporation
  • Leading development methodology and design method for multiple large-scale next-generation projects
  • Lectures on SW courses at Myongji University and Seoul National University of Science and Technology, Korea Information Technology Research Institute (KITRI), and LG Electronics MSA course
  • Multicampus, Korea Standards Association, Korea Quality Association MSA Course Mentoring
  • Areas of expertise: Development methodology, software architecture/design/development techniques
  • Wikibooks “Microservice Development Starting with Domain-Driven Design” (2022)
  • National Institute for Lifelong Education K-MOOC “Microservice Design and Implementation” Course
Development of “Microservice Design and Implementation” course
“Microservice Development Starting with Domain-Driven Design” published

Q&A 💬

Q. Do you cover both theory and practice in class?

The first half of this course covers theory, and the second half covers practice. It is designed to help you understand the general concepts and then understand how the techniques are used through practice.

Q. Can job seekers without work experience or non-majors also take the course?

Even if you don't have cloud experience, it's an approachable level for developers with actual legacy experience. However, if you don't have practical experience, you may have difficulty with terminology, etc. However, even if you're not a major, if you have experience completing a boot camp, you should be able to take the course without difficulty.

Q. What level of content is covered in the class?

This lecture will cover the overall theory of microservices for domain-driven design, derive microservices through real-world business examples, and design their internals. Implementation is being prepared as a separate course.

Great lectures to watch together 📺

Recommended for
these people

Who is this course right for?

  • Backend Developer

  • Microservices developer

  • A developer who pursues beautiful design.

  • A developer interested in design

Need to know before starting?

  • Microservice Fundamentals

  • Understanding Object-Oriented Programming

  • UML

Hello
This is

2,609

Learners

154

Reviews

53

Answers

4.6

Rating

3

Courses

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

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

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

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

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

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

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

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

Curriculum

All

37 lectures ∙ (8hr 45min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

53 reviews

4.5

53 reviews

  • bigcat0815님의 프로필 이미지
    bigcat0815

    Reviews 85

    Average Rating 5.0

    5

    100% enrolled

    Tôi học những nội dung khó một cách vui vẻ. Nó tốt hơn nhiều so với một vài cuốn sách khó đọc. Tôi thực sự mong chờ tập luyện tiếp theo. Cảm ơn người hướng dẫn!!

    • scant10
      Instructor

      Tôi rất vui vì bạn nói điều đó. ^ ^ Cảm ơn bạn.

  • minkyuman0215님의 프로필 이미지
    minkyuman0215

    Reviews 2

    Average Rating 5.0

    5

    100% enrolled

    Đây dường như là một hướng dẫn tốt để trích xuất mô hình miền thông qua sự kiện gây bão. Mặc dù tôi đã đọc sách về DDD nhưng tôi đã lãng phí rất nhiều thời gian do sự mơ hồ của thuật ngữ này. Bài giảng này là một hướng dẫn tốt. Tôi đang mong chờ bài giảng tiếp theo về việc thực hiện trực tiếp. Trên thực tế, tôi mong đợi nhiều hơn về cách triển khai và chất lượng âm thanh ghi âm không rõ ràng. Bản thân bài giảng đã rất hữu ích cho tôi.

    • scant10
      Instructor

      Lần sau mình sẽ chú ý hơn đến chất lượng âm thanh. ^ ^;;; Tôi rất vui vì bạn thấy nó hữu ích. Cảm ơn

  • men16923450님의 프로필 이미지
    men16923450

    Reviews 6

    Average Rating 4.7

    4

    100% enrolled

    • jiyeonjeon님의 프로필 이미지
      jiyeonjeon

      Reviews 2

      Average Rating 5.0

      5

      32% enrolled

      • hylee5439님의 프로필 이미지
        hylee5439

        Reviews 4

        Average Rating 4.0

        5

        100% enrolled

        Limited time deal ends in 3 days

        $1,584,693.00

        24%

        $77.00

        scant10's other courses

        Check out other courses by the instructor!

        Similar courses

        Explore other courses in the same field!