inflearn logo
知識共有
inflearn logo

Spring Cloudで開発するマイクロサービスアプリケーション(MSA)

Spring FrameworkのSpring Cloudファミリーを利用してマイクロサービスアプリケーションを開発してみる過程です。Cloud Native ApplicationとしてのSpring Cloudをどのように使うか、構成をどのように行うかについて学べる講座です。

難易度 初級

受講期間 無制限

Spring Cloud
Spring Cloud
MSA
MSA
Spring Boot
Spring Boot
Kafka
Kafka
Architecture
Architecture
Spring Cloud
Spring Cloud
MSA
MSA
Spring Boot
Spring Boot
Kafka
Kafka
Architecture
Architecture

お知らせ

11 件

  • kenneth님의 프로필 이미지

    こんにちは。Spring開発者向けの「実践LLMサービス開発(Part 1)」講義に、新しい補足講義を追加しました。最近公開されたTypeSafe AIの決定モデルJevをSpring Bootアプリケーションに連携する内容で、約1時間の講義です。

    なぜ追加したのか
    Section 4では、entity()を使ってLLMの応答をJavaオブジェクトとして受け取る方法と、モデルがJSONをコードフェンスで囲むことでパースに失敗する実務上の落とし穴を扱いました。プロンプトで依頼するにしても、entity()で自動化するにしても、結局のところLLMに形式を"お願い"する方式であるという限界は残ります。
    Jevは異なるアプローチを取ります。文章を書くのではなく、あらかじめ定められた選択肢の中から答えを選び、確率とともに返します。つまり、形式が構造的に保証されるということです。同じ入力を2つの方式で処理してみると、「構造化された出力」を設計する際に何を考慮すべきかが、より明確になります。そのため、Section 4の延長線上にある内容としてまとめました。

    何を学びますか

    1. JevとSystem Oneモデルの概念:テキストではなく「型が定められた決定」を返すことの意味

    2. LLMとJevの違い:記述式回答 vs 選択式回答、それぞれが得意なことと苦手なこと

    3. 3つの質問タイプ(choice・score・noul)と/v1/systemoneリクエストの構造

    4. Springから呼び出す:RestClientでJev APIを呼び出し、Java enumで選択肢を作成してレスポンスを型安全に変換する

    5. 比較デモ:同じ映画レビューをentity()とJevでそれぞれ分析し、速度、形式エラー、確信度、一貫性を比較する

    併せて更新された資料

    • セクション4のサンプルコード(ch4):レビュー分析API 2種(/api/movies/review/llm、/api/movies/review/jev)とJevClientを追加

    • 補足講義スライドと教材

    • 比較テストスクリプト:macOS用review-compare.sh、Windows用review-compare.ps1

    あらかじめ知っておいていただきたいこと

    • JevはSpring AIの機能ではなく、TypeSafe AIが提供する別個の外部サービスです。講義でもSpring AIのChatClientではなく、RestClientで直接呼び出します。

    • Jevは現在アーリーアクセス段階のため、APIキーの発行に時間がかかる場合があります。サンプルコードでは基本的にJev機能が無効になっているため(jev.enabled=false)、キーがなくても従来の演習はそのまま進められます。キーをお持ちでない方は、動画でのデモをご覧いただきながら、概念とコードを中心に学習してください。

    • リリース初期のサービスのため、今後価格やAPIが変更される可能性があります。変更があった場合は、新しいお知らせで改めてご案内いたします。

    📌講義はこちら: https://inf.run/VVpnV

    追加された講義を受講しながら疑問点や実習中に行き詰まった部分があれば、気軽にコメントでお知らせください。これからも実務ですぐに使える内容を継続的に充実させていきます。

    0
  • kenneth님의 프로필 이미지

    こんにちは、イ・ドウォンです。


    "Jenkinsパイプラインは作ってみたけれど、ArgoCDやGitOpsは概念を聞いたことがあるだけだ。"

    "dev・staging・production環境ごとのデプロイをどのように設計すべきか途方に暮れている。"


    このようなお悩みをお持ちの方に向けて、「JenkinsとArgoCDで学ぶ実践GitOps CI/CD」講座をインフランで公開しました。


    この講義はこのような点が異なります


    • Jenkinsベースの従来のCI/CDからArgoCDベースのGitOpsまで一緒に扱います。

    • Push方式(Jenkins)とPull方式(ArgoCD)を同じクラスター上で直接比較します。誰かがkubectlで手動変更を加えた際、一方はそのまま残り、もう一方は自動的に復旧する様子を目で確認し、ロールバックやデプロイ履歴の確認方法の違いも実際に体感します。

    • 2つの方式を組み合わせ、dev・stagingはJenkins Push、productionはArgoCD Pull(手動Sync承認)に分けるハイブリッドデプロイパイプラインを最初から最後まで構築します。

    • Canary、Blue-Green、RBAC、承認手順、障害対応、自動ロールバックまで、運用に必要な主要デプロイ技術を実践します。


    実習環境

    Docker Desktopひとつで進めます。WindowsとmacOSの両方に対応しており、AWSなどのクラウドアカウントや別途費用は必要ありません。


    このような方におすすめです


    • Jenkinsは使ったことがあるものの、ArgoCD/GitOpsは初めてのバックエンド・インフラエンジニア

    • Kubernetesデプロイを手動のkubectl applyから自動化へ移行したい方

    • デプロイの承認、ロールバック、監査証跡などの運用要件に悩むDevOps・SRE担当者


    総学習時間は約10~11時間で、実習資料とトラブルシューティングガイドも併せて提供されます。


    👉 講義を見る:https://inf.run/dEjZE

    気になる点があれば、コメントや講座のQ&Aにお気軽にお寄せください!

    0
  • kenneth님의 프로필 이미지

    今回、新たにSpring開発者のための実践LLMサービス開発(Part 1)講座を開講しました。少し遅きに失した感は否めませんが、Java開発者にとってなじみ深いSpring frameworkを利用してLLMアプリケーションを開発するために必要な内容を学べる講座として構成しました。ぜひご注目ください。


    なぜこの講義を作ったのか

    最近では、RAGやベクトル検索、AIエージェントといったキーワードはどこでも目にしますが、実際に"Spring Bootバックエンドにどのように組み込むのか"を実務レベルで扱った資料は多くありませんでした。

    この講義では、私が実際にRAG推薦エンドポイントをデバッグする中で経験した問題――文書をトークン単位でチャンク化したことで意味のまとまりが崩れ、検索品質が低下した経験や、段落単位のチャンク化に戦略を変更して問題を解決した過程――を、そのままカリキュラムに落とし込んでいます。チュートリアルのように正解コードだけを見せるのではなく、「なぜうまくいかないのか → どのように診断するのか → どのように直すのか」を一緒に追っていく形式です。


    このような方におすすめです

    • Spring Bootの経験はあるものの、LLM/AIサービス開発は初めてのバックエンド開発者

    • RAGやベクトル検索をチュートリアルではなく、実務プロジェクトレベルで適用したい開発者

    • 社内AI機能(チャットボット、ドキュメント検索、レコメンドなど)をSpringベースで自ら実装する必要がある実務担当者

    Spring BootでREST APIを作った経験があれば十分です。AI/LLMに関する事前知識は必要ありません。


    何を学びますか

    1. Spring AIのコア基礎 ChatClientの基本的な使い方、構造化出力(Structured Output)、ストリーミング応答の実装

    2. RAGパイプラインの構築 ベクトルストア連携、ドキュメントチャンク分割戦略の比較と実践的なトラブルシューティング、検索品質の改善、プロンプト設計

    3. ツール・マルチモーダルの拡張 MCP(Model Context Protocol)を活用した外部ツール連携、画像などのマルチモーダル入力処理、Dify連携

    4. サービスの安定化と実践プロジェクト ガードレールの適用、信頼性の高いサービス設計、これまで学んだ内容を統合するミニプロジェクト

    付録として、AIコーディングツールとOllamaの活用方法も併せて扱います。


    シリーズ案内

    今回リリースしたのは、全シリーズのPart 1です。Part 2、3ではさらに発展的なアーキテクチャと実践的なケースを扱う予定で、シリーズがすべてリリースされたら、パッケージ全体の割引も用意する予定です。


    📌 講義はこちら: https://inf.run/VVpnV

    気になる点やカリキュラムに関する質問は、コメント欄にお気軽にお寄せください。Part 1を通じて、皆さんのSpringサービスにLLMを組み込む第一歩を一緒に踏み出せればと思います。

    0
  • kenneth님의 프로필 이미지

    Spring Boot 3.5 + Spring Cloud 2025.0.xレッスンのアップデート中です。

    こんにちは、離島院です。

    今回新たに「Spring Cloudで開発するマイクロサービスアプリケーション(MSA)」講義への2次アップデートが進行中です。今回のアップデートは実習例した部分だけでなく、講義コンテンツに関する部分も最新コンテンツにアップデート中です。 (Spring boot 3.5 + Spring Cloud 2025.0.0)

    先にお知らせした内容のように6月末までの日程で仕上げようとしましたが、現在のプロジェクト日程と重なって到底時間を合わせることができませんでした。もう一度申し訳ありません。

    まず、セクション1の講義の更新が行われ、一度に更新することはできませんが、セクション2、セクション3...毎週順次更新する予定です。

    今回の講義コンテンツを更新すれば、新たにいくつかの内容も追加されたので、一緒に参考にしてほしいと思います。

    もう一度講義に関心を持ってくださった方々に感謝の挨拶をいたします。
    去る5月末はこれまで遅れてきた、Springクラウドパターンについての講義もオープンしましたが、基本的なMSA過程を学んだ部分はこの部分も関心をお寄せいただきありがとうございます。

    さらに、現在進行中の講義をまとめて学習できるようにロードマップを作成してみました。

    3
  • kenneth님의 프로필 이미지

    こんにちは、離島院です。

    これまで延期された「Spring Cloudで開発するマイクロサービスアプリケーション(MSA)」講義の一次アップデートが完了しました。今回のアップデートでは、実践例の部分は、既存のSpring boot 2.xバージョンからSpring boot 3.xバージョンに変更したものです。講義内容コンテンツの更新は、後半に二次更新する予定です。

    先にお知らせした内容のように6月末までの日程で仕上げようとしましたが、現在のプロジェクト日程と重なって到底時間を合わせることができませんでした。もう一度申し訳ありません。

    今回の講義コンテンツを更新すれば、新たにいくつかの内容も追加されたので、一緒に参考にしてほしいと思います。追加された部分は、Swagger API(OAS 3.0)の適用とKubernetesでSpring Bootアプリケーション(サービス)をデプロイするために必要なK8sマニフェスト設定の一部です。

    ソースコードはすでにgithubに共有していますが、コンテンツを再録画しながら一部変更または追加されることもありますので、最新コードで実習してみることをお勧めします。

    joneconsulting/toy-msa: A Toy project for a mas practice. (github.com)

    (ブランチ:springboot3.2、springboot3.2_k8s)

    • Eureka Service Discovery

    • Configuration Service

    • First-Service

    • Second Service

    • Apigateway Service

    • Kafka

    • Catalog Service

    • Order Service

    • User Service

    • Kubernetesの展開

    • Distributed Tracing (with Zipkin)

    • Swagger API(OAS 3.0)

    さらに、アップデート後に進行したいというイベントもすぐに進行するようにします。

     

    ありがとうございます!

    5
  • kenneth님의 프로필 이미지

    こんにちは、離島院です。

    まず、「Spring Cloudで開発するマイクロサービスアプリケーション(MSA)」講義を受講する受講生の方々に感謝の挨拶をいたします。そして、その講義へのアップデートが予定と違って遅れている点について、ご了承のお申し上げをお願いします。

    質問掲示板にも何度も申し上げた内容のように該当講義愛に対する講義の更新が去る1月~2月に計画されたが、いくつかの問題で進行が遅くなるようになりました。先延ばしになりました。 個人的に時間を割って講義を準備するのにまた時間がかかった点やはり私の不札という点にも異見ありません。

    言い訳であることを知りながらいくつかお話ししたら、去る4月に準備講義についてハードウェア問題(ノートブック故障で人行交換)で全部再録画している点や現在進行中のプロジェクトに問題が生じ、正常な時間割当に困難がありました。それでも、時間を割いて講義を録画中でしたが、待ってくださる方々にご不便をおかけすることになり誠に申し訳ありません。

    このレッスンは、現在の作業が終了する6月の起点に更新される準備ができています。もう少しお待ちいただきありがとうございます。

    もう一度ご迷惑をおかけして申し訳ありません。

     

    - 離島院賠償 -

    8
  • kenneth님의 프로필 이미지

    最近リリースされたApache Kafka 3.7からは、正式にDocker形式でも使用できます。

    Apache Kafka

    image

    Image Layer Details - apache / kafka:3.7.0 | Docker Hub

    お使いのOSに合ったdocker deskopをインストールしてすぐにお使いいただけるようです。

    サイトではlinux/amd64とlinux/arm64の両方がサポートされているとされているので、MacOS Apple chipでも利用可能になりそうです。

    docker run --env CONFIG_NAME=CONFIG_VALUE -p 9092:9092 apache/kafka:3.7.0

     

    Kafkaの起動に不便な方はDocker Kafkaで実行してみてください。

    ありがとうございます。


    1
  • kenneth님의 프로필 이미지

    こんにちは、受講生の皆さん、

    「Spring Cloudで開発するマイクロサービスアプリケーション(MSA)」講義を進めている離島院です。

    該当講義で使用されているサンプルコードを以下のように最新バージョンにアップデートしました。

    変更されたコードはGithubで確認できます。

    https://github.com/joneconsulting/toy-msa/tree/springboot3.2

    最新の更新されたコードに合わせて講義も追加、更新する予定です。

    2024-02-02

    • OpenJDK 21

    • Spring Boot 3.2.2 + Spring Cloud 2023.0.0のバージョンに合わせてサンプルファイルが更新されました。

    • Spring Security 6バージョンで会員登録、ログイン、認証の例が変更されました。

    • 以前のバージョン(Spring Boot 2.7.6)はメインブランチで確認できます。

     

    ありがとうございます。

    8

¥11,028