강의

멘토링

로드맵

Programming

/

Devops & Infra

[DevOps 定石 1] Monolith to Microservice 遷移 with Spring/Python/Node.js と Strangler Fig パターン

既存のレガシーモノリスシステムをマイクロサービスアーキテクチャに移行するプロセスを実践的に学びます。合計2回まで知識共有者のコードレビューも一緒に頂けます!

  • JeongSuk Lee
msa
MSA
TDD

こんなことが学べます

  • マイクロサービス開発

  • Stragler Fig パターン

  • 既存システムをマイクロサービスに転換実習

ミニプロジェクトに直接従う
MSA Migration for DevOps.

モノリスからマイクロサービスへ
ストラングラーパターンの移行

Legacy Monolith to MSA ?

Strangler Fig Patternを使用して、既存のレガシーモノリスシステムをマイクロサービスアーキテクチャに安全かつ徐々に切り替えます。

このコースは、「DevOpsの定石:Project Set」シリーズの最初のコースです。モノリスシステムからマイクロサービスへの移行を進めるとき、どのような方法で開発を進めるべきでしょうか?また、デブオプス面ではどのような技術を適用すべきでしょうか?このプロセスで必要なのはStrangler Fig Patternです。

••••

このレッスンでは、Java(Java)とSpring Boot(Spring Boot)ベースのモノリシックシステムをSpring(Spring)とPython(Python)とNode.js(ノード)で分離する方法について説明します。このプロセスでは、必要に応じてStubbingフレームワーク(Mountebank)、Featuer Toggle(FlipT)、API Gateway(Spring Cloud Gateway)、およびFull-Stack Application Telemetry(Jaeger)を使用する方法を紹介します。

さらに、Java - Node.js - Pythonに基づいたユニットテスト(Unit Test)とMockingの方法を学びます。


MSA移行のためのミニプロジェクト
Strangler Fig Pattern 3-Step

1️⃣
移行を希望する部品認識

2️⃣
新しいマイクロサービス内に対応するパーツを実装

3️⃣
システム移行に柔軟性を与えるためのパターンの考慮
(例:Parallel Run)

MSA移行への悩みに解決策を提示します。

Case 1マイクロサービスに切り替える場合はどんな時ですか?

私たちの組織/プロジェクトでマイクロサービスを導入する必要があるかどうかについての基準点と事前準備についてお知らせします。

Case 2 Java / Python / Node.jsでユニットテストを使用してTDDをしたいのですが、各機能をどのようにMockingするのですか?

Java、Python&Node.jsのユニットテストのサンプルを提示し、これについて説明することで、本番でコピー&ペーストすることでTDDを開始できる基盤を紹介します。

Case 3他のプログラミング言語ベースの環境を実戦と似た形で体験してみませんか?

モノリスから始めてマイクロサービスに分離する全体の過程について説明します。また、受講生の皆さんが作成したコードについて、最大2回までコードレビューを提供いたします。

Case 4マイクロサービスに切り替える際に必要な技術はどれですか?

マイクロサービスに切り替える際に使われるプログラミング技術だけでなく、運営をスムーズにできる技術を一緒に紹介し、実習を進めてみます。


この講義だけの特徴
確認してみてください。

  • ✅ユニットテストベースのTDDに自信を持って初めてユニットテストを書くときに感じる困難を減らします。
  • ✅Docker-ComposeとDockerfileを使用したContainerizationの理解を高めます。
  • ✅MSAの運用中に発生する可能性のある問題の対応について、Telemetryを使用した統合分析方法を入手できます。
  • ✅Spring Cloud Gatewayを介したAPI Gateway Patternとフロントエンドでよく発生するCORSエラーに対応する方法を学びます。

1つの流れを描くことができます

ミニプロジェクトのシナリオを立て、これを解決していく全体の過程をお見せする形式で授業を進めます。

確実な理解を助ける

各章で実行される結果はGithub Repositoryによって提供され、それを導き出すプロセスについてできるだけ詳しく説明しています。

理由と原理を考える

どのような技術や理論がなぜ導入されるべきかについての理由を提示します。また、これをDockerを使ってコンテナとして実装する方法についても説明します。

コードレビューを提供します

最大2回まで受講生が作成したコードのコードレビューを受け取ることができます。

詳細カリキュラム📖

1. Strangler Fig Patternとは何ですか?

  • Monolithは必ずしも悪いのでしょうか?
  • Microserviceはいつ導入するのが良いでしょうか?
  • Monolith to Microservice Patterns
  • Strangler Fig Patternの実装

2. Monolith Architect - Project Set Monolith Architectの紹介

  • Monolith - トレーディング情報システム構造
  • Target architect
  • Source code access request

3. Migration implementation - Monolith side: FlipTを使用したサービス分離の準備

  • Continuous Deployment - Deploy stage review
  • What is FlipT?

4. Microservice - Ticker service with Python
5. Microservice - Price service with Node.js
6. Microservice - Strategy service with Java
7. Endpoint integration with Spring Cloud Gateway
8. Wrap Up


DevOpsの定石
イ・ジョンソクです。

韓国・オーストラリア・イギリスでFull-stack Developer、DevOps Engineer/Consultantで15年ほど働いているDigital Nomad IT Engineerです。 IT組織の運用最適化のために絶えず新しいトピックについて勉強しており、引退するまでEngineerで生活したいという夢を持っています。現在、オーストラリアのMelbourneにある銀行のDeveloper ExperienceチームでDevOpsとして活動しています。

詳細履歴

  • 前)The Latin Travellerでインターンとして初めての職場生活を開始! [London, UK]
  • 前) 韓進グループトパス旅行情報 - Java/Oracle開発 [Seoul, JP]
  • 前) NuSkin Korea - Java/Oracle開発 [Seoul, JP]
  • ビジネスフローへの好奇心でFull-time MBAコース卒業 [Seoul/Nice, KR/FR]
  • 前) KOSCOM - C開発 [Seoul, JP]
  • 前) KDB大宇証券 - Java、C#、Python、MongoDB、Oracle、Sybase、ActiveMQなどを利用した開発 [Seoul, JP]
  • 前) National Australia Bank (NAB) - フルスタック開発 [Melbourne, AU]
  • 前)オーストラリアの4大銀行の1つ - Full-stack Development/In-house DevOps Consulting [Melbourne, AU]
  • 前) Amazon Web Services - DevOps Consultant [Seoul/Melbourne, JP/AU]
  • 県)オーストラリアの4大銀行の1つ - DevOpsでDORA Metricsの定義とScalable CI Structureの実装で交際... [Melbourne, AU]

Q&A 💬

Q.実務デブオプス経験はありません。受講できますか?

本講義は初心者対象で構成し、基礎的なコーディング知識があれば受講可能です。詳しくは下段の「選手知識」をご確認ください。

Q. 「 DevOpsの定石」講義を聞いてこそこの講義を聞くことはできますか?

「DevOpsの定石」講義を聞いた後、本講義を聞くと理解が良くなりますが、受講しなくても本講義を聞くことができ、本講義を聞くのに必要な「DevOpsの定石」講義の該当部分を要約してお届けする部分があります。

Q.コードレビューはなぜ2回まで提供しますか?

コードレビューは基本的にPull Requestに含まれる内容が実行可能なレベルまで実装されていると仮定して進められます。これにより、受講生の皆さんが要請したコードを知識共有者がレビューを行い、これに対するフィードバックを差し上げたとき、フィードバックベースで修正した内容が正しい方向に修正されたことを確認するために最大2回までコードレビューを提供します。

💾受講前に確認してください!

  • 講義の練習をスムーズに進めるには、macOS、Linux、Windows 10/11 64bit with WSL 2 feature環境、8GB以上のメモリを備えたPCが必要です。 (レッスンでは、コードエディタとしてVisual Studio Codeを使用します。)
  • レッスン資料は【セクション2 - Project Set Monolith Architectについて】 レッスンの下のノートをご確認ください。 Source Code Repositoryへのアクセスを要求するGoogleフォームリンクを提供しています。ソースコードへのアクセスが承認されるまでに最大48時間かかることがあります。
  • プレイヤーの知識には少なくとも1つのプログラミング言語が利用可能でなければなりません。

関連講義を一緒に見る📺

こんな方に
おすすめです

学習対象は
誰でしょう?

  • 既存システムをマイクロサービス形態に分離したことがない人

  • マイクロサービス製作のハンズオン実習が必要な人

  • Java / Node / Pythonのユニットテストコードを書く方法が気になる人

前提知識、
必要でしょうか?

  • 少なくとも1つのプログラミング言語が利用可能でなければなりません。

こんにちは
です。

425

受講生

15

受講レビュー

7

回答

3.8

講座評価

7

講座

한국/호주/영국에서 Full-stack developer, DevOps Engineer/Consultant로 15년 정도 일을 하고 있는 Digital Nomad IT Engineer 입니다. IT 조직 운영의 최적화를 위해 끊임 없이 새로운 주제에 대해서 공부를 하고 있으며, 은퇴할 때까지 Engineer로 생활하고 싶다는 꿈을 가지고 있습니다. 현재는 호주 Melbourne에 있는 한 은행의 Developer Experience 팀에서 DevOps로 활동하고 있습니다.

カリキュラム

全体

9件 ∙ (5時間 21分)

講座掲載日: 
最終更新日: 

受講レビュー

全体

1件

5.0

1件の受講レビュー

  • sponge님의 프로필 이미지
    sponge

    受講レビュー 6

    平均評価 5.0

    5

    100% 受講後に作成

    I was very impressed by the BFF process of learning the process of tearing down multiple microservices controlled by Feature Flags and organizing the Gateway through refactoring. In particular, I had considered comparing Spring Cloud Gateway with AWS ALB or Amazon API Gateway, and it was a lecture that exceeded my expectations because I was able to organize the aspects of leadership and management for operational development :) Thank you.

    期間限定セール

    ¥96

    25%

    ¥19,326

    JeongSuk Leeの他の講座

    知識共有者の他の講座を見てみましょう!

    似ている講座

    同じ分野の他の講座を見てみましょう!