강의

멘토링

커뮤니티

Programming

/

Devops & Infra

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

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

難易度 初級

受講期間 無制限

  • JeongSuk Lee
MSA
MSA
TDD
TDD
MSA
MSA
TDD
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つのプログラミング言語が利用可能でなければなりません。

こんにちは
です。

433

受講生

17

受講レビュー

7

回答

3.7

講座評価

7

講座

韓国、オーストラリア、イギリスでフルスタック開発者、DevOpsエンジニア/コンサルタントとして約15年間活動しているデジタルノマドITエンジニアです。IT組織運営の最適化のために絶えず新しいテーマについて勉強しており、引退するまでエンジニアとして過ごしたいという夢を持っています。現在はオーストラリア・メルボルンにある銀行のDeveloper ExperienceチームでDevOpsとして活動しています。

カリキュラム

全体

9件 ∙ (5時間 21分)

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

受講レビュー

全体

1件

5.0

1件の受講レビュー

  • sponge님의 프로필 이미지
    sponge

    受講レビュー 6

    平均評価 5.0

    5

    100% 受講後に作成

    Feature Flagを通じて制御される複数のマイクロサービスを引き裂く過程を学習し、これをリファクタリングでGatewayを整理するBFF過程が非常に印象的でした。特に、AWS ALBやAmazon API GatewayとSpring Cloud Gatewayを比較しながら検討したことがありましたが、運用開発の主導権と管理の側面を整理することができ、期待以上の講義でした:) ありがとうございました。

    ¥20,215

    JeongSuk Leeの他の講座

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

    似ている講座

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