お問い合わせ

コース概要

イントロダクション

  • システムおよびサービスアーキテクチャ、PaaS、クラウドネイティブ設計

モノリシックシステムアーキテクチャの概要

  • 単一プロセス内でモノリシックアプリケーションの全機能を実行する
  • 複数のサーバーへのレプリケーションによるスケーラビリティ
  • モノリシックシステムで利用されるプロトコル:EAI、CORBA など

Web サービスの概要

  • サービス指向アーキテクチャ(SOA)とマイクロサービスアーキテクチャ

サービス指向アーキテクチャ(SOA)

  • SOA のメリットとコスト
  • SOA 実装における成功と失敗
  • メッセージングと ESB
  • SOA をサポートするインフラストラクチャとツール

マイクロサービスによる Web サービス概念の実装

  • 単一機能に特化し、それを適切に実行する
  • DevOps
  • 継続的デプロイメントと継続的デリバリー(継続的インテグレーション、継続的ビルドプロセスなど)
  • 軽量プロトコル

マイクロサービスプロトコルと標準

  • HTTP、JMS、AMQP、WebSocket、JSON など

マイクロサービス構築のための開発フレームワーク

  • Java ベースのフレームワーク(Spring Cloud)
  • JavaScript ベースのフレームワーク(Seneca)

モノリシックアプリケーションの分解

  • 独立してデプロイ可能なアプリケーションの開発
  • ビジネス機能を中心にマイクロサービスアプリケーションを構成する
  • ケーススタディ:モノリシックアプリケーションを 3 つのコアマイクロサービスへ移行する

Spring Cloud 開発環境のセットアップ

  • Docker および Docker Compose のセットアップ
  • 環境変数の設定

Spring Cloud および Spring Boot の概要

  • Spring Cloud のサブプロジェクト:Config Server & Bus、Eureka、Ribbon、Feign、Hystrix
  • Spring Boot

Spring Boot アプリケーションの作成

Spring Cloud Config による集中型かつバージョン管理された設定管理

Spring Cloud Bus による動的設定更新

Eureka によるサービスディスカバリ

Ribbon によるロードバランシング

Hystrix によるサーキットブレイカーの適用

Feign による宣言的 REST クライアント

API ゲートウェイとの連携

マイクロサービスアプリケーションのセキュリティ強化

レイテンシを特定するためのマイクロサービス追跡

マイクロサービスのデプロイ

  • コンテナ(Docker、K8N、LXC など)
  • 設定管理(Ansible など)
  • サービスディスカバリ
  • マイクロサービスの監視と管理
  • マイクロサービス向けインフラストラクチャ

マイクロサービスのクラウドおよび自動スケーラビリティ

  • マイクロサービスの冗長化とフェイルオーバー
  • マイクロサービスのパフォーマンススケーラビリティ
  • 自動スケーラビリティ
  • OpenStack、AWS、その他のクラウドプラットフォーム上でのマイクロサービス実装

分散アプリケーションにおける一般的な問題のトラブルシューティング

  • エコシステムの複雑さ
  • ネットワークパフォーマンス
  • セキュリティ
  • デプロイメント
  • テスト
  • ナノサービス

プロダクション向けシステム構築のための最終的な考慮事項

  • 初心者にも扱いやすいシステムの実現
  • エンタープライズアプリケーションの基盤となり得る、完全なシステムの実現

まとめと結論

要求

  • ソフトウェアおよびシステムエンジニアリングの基礎知識
  • Java 開発の経験
  • Spring Framework の使用経験

対象者

  • マイクロサービスを迅速に構築・デプロイしたい Java 開発者
  • マイクロサービスアーキテクチャの実装を検討しているシステムアーキテクト
 21 時間

参加者の人数


参加者1人あたりの価格

お客様の声 (3)

今後のコース

関連カテゴリー