コース概要

導入

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

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

  • 単一プロセスで全体的な機能を実行する
  • 複数サーバー間でのレプリケーションによる拡張性
  • モノリシックシステムで使用されるプロトコル: EAI, CORBA など

ウェブサービスの概要

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

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

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

マイクロサービスがウェブサービスの概念をどのように実装するか

  • 単一目的でその役割を果たす
  • DevOps
  • 継続的デプロイメントと配信 (Continuous Integration, Continuous Build Process など)
  • 軽量なプロトコル

マイクロサービスのプロトコルおよび標準

  • HTTP, JMS, AMQP, WebSockets, 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 Gateway の操作

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

遅延を発見するためのマイクロサービスのトレース

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

  • コンテナ (Docker, K8N, LXC など)
  • 構成管理 (Ansible など)
  • サービス発見
  • マイクロサービスの監視と管理
  • マイクロサービス用インフラストラクチャ

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

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

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

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

本番環境向けシステム構築の最終的な検討事項

  • 初心者にとって使いやすいシステムにする
  • エンタープライズアプリケーションの基盤となる完全なシステムとする

まとめと結論

要求

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

対象者

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

参加者の人数


参加者1人当たりの料金

お客様の声 (5)

今後のコース

関連カテゴリー