24. Spring Framework by Pivotal
Standard Cloud Native Java Application Framework
Spring Boot
クイックスタート
Spring Cloud
分散アプリケーションパターン
Spring Cloud Data Flow
データ集約パターン
明瞭なコード | 複雑さの回避 | 技術負債からの解放 | 業務ロジック・フォーカス | テスト網羅性 | コード補完
25. Spring Cloud Service によるマイクロサービス
Pivotal Platform と Spring Cloud のインテグレーションによるマイクロサービス開発
Cloud Gateway
for Pivotal Platform
Service Registry
for Pivotal Platform
Config Server
for Pivotal Platform
分散環境に跨り
アプリケーションメタ情報を
管理し動的に配信する
コンフィグレーションサービス
マイクロサービスアーキテクチャを構成
するための
サービスディスカバリパターンの
実装を提供
サービスAPIを提供し
管理するための各種機能を提供するゲー
トウェイ
(SSO / 流量制御 / リトライ / パス操作)
など
26. Spring Cloud Service によるマイクロサービス
Pivotal Platform と Spring Cloud のインテグレーションによるマイクロサービス開発
Config
Server
Service
Registry
Spring
Cloud
Gateway
メッセージブローカ
データサービス
分散トレーシング
ID管理
Webサービス
(SOA)
API モノリス
Spring Cloud Gateway
利用用途
● ルーティング
● レジリエンシー
● モノリス分離
● シングルサインオン
● セキュリティ
● モニタリング
● カナリアリリース
31. Pivotal Platform
Kubernetes 上で稼働するアプリケーションとサー
ビスのための統一プラットフォーム
コンテナ
オーケストレーション
( Container Service )
マルチクラウドで提供するKubernetes クラスタの
ライフサイクル自動化と、テナントモデル、仮想ネットワーク、パッチ適
用やアップグレードのサポート
Application
Service
Concourse
CI
Function
Service
Marketplace
Spring
Runtime
RabbitMQ
Build
Service
Cloud
Cache
VMware AWS Google Azureマルチクラウド
プラガブルに
利用可能な
プラットフォーム
サービス
IT資産の
活用と加速
32. Pivotal Platform
Kubernetes 上で稼働するアプリケーションとサー
ビスのための統一プラットフォーム
コンテナ
オーケストレーション
( Container Service )
マルチクラウドで提供するKubernetes クラスタの
ライフサイクル自動化と、テナントモデル、仮想ネットワーク、パッチ適
用やアップグレードのサポート
Application
Service
Concourse
CI
Function
Service
Marketplace
Spring
Runtime
RabbitMQ
Build
Service
Cloud
Cache
VMware AWS Google Azureマルチクラウド
プラガブルに
利用可能な
プラットフォーム
サービス
IT資産の
活用と加速
39. Kubernetes 環境ができました
さて、どうする?how should I automate
the network?
what software should I run where?
Which data services do our developers need to
build modern software?
how are we enabling self-service while
maintaining a strong security stance?
what should we do to improve
resilience and uptime for key systems?
are we building software that our
customers care about?
what’s needed to increase developer
velocity?
how do I provide on-demand access to
single-tenant infrastructure? how should we monitor and
troubleshoot apps?
how am I upgrading apps and platforms across
clouds and regions?
40. Pivotal Platform
レイヤーを跨って一貫している
プラットフォームAPI
適切な
抽象度の
選択
VMware AWS Google Azure
Embedded
OS
(Stemcell)
Network
as API
仮想マシン&
ストレージ
as API
継続的
セキュリティ
Platform
as
a Product
● パイプライン
● エコシステム
● Cloud Provider
Interface
● Windows
● Linux
● マイクロ
セグメンテーション
● Rotate
● Repair
オーケストレーション レジストリ マルチテナント APIベース 管理
● Repave
コンテナAPI
$ kubectl run {my_image}
CaaS
41. Pivotal Platform
レイヤーを跨って一貫している
プラットフォームAPI
適切な
抽象度の
選択
VMware AWS Google Azure
Embedded
OS
(Stemcell)
Network
as API
仮想マシン&
ストレージ
as API
継続的
セキュリティ
Platform
as
a Product
● パイプライン
● エコシステム
● Cloud Provider
Interface
● Windows
● Linux
● マイクロ
セグメンテーション
● Rotate
● Repair
オーケストレーション レジストリ マルチテナント APIベース 管理
ビルドパック APIゲートウェイ ルーティング/LB
サービスメッシュ C2C
暗号化 Isolation Segment Orgs/Spaces 監査
RBAC
メトリクス トレース 自己修復 オートスケール
ロギング
Microservices運用(Brue/Green コンフィグ
サーキットブレーカー サービスディスカバリ)
● Repave
コンテナAPI
$ kubectl run {my_image}
アプリケーションAPI
$ cf push {my_code}
マーケットプレイス
サービスブローカー
$ cf bind {my_service}
PaaS
CaaS
42. Pivotal Platform
レイヤーを跨って一貫している
プラットフォームAPI
適切な
抽象度の
選択
VMware AWS Google Azure
Embedded
OS
(Stemcell)
Network
as API
仮想マシン&
ストレージ
as API
継続的
セキュリティ
Platform
as
a Product
● パイプライン
● エコシステム
● Cloud Provider
Interface
● Windows
● Linux
● マイクロ
セグメンテーション
● Rotate
● Repair
オーケストレーション レジストリ マルチテナント APIベース 管理
ビルドパック APIゲートウェイ ルーティング/LB
サービスメッシュ C2C
暗号化 Isolation Segment Orgs/Spaces 監査
RBAC
メトリクス トレース 自己修復 オートスケール
ロギング
Microservices運用(Brue/Green コンフィグ
サーキットブレーカー サービスディスカバリ)
リアクティブ
オートラン&ワイア
● Repave
コンテナAPI
$ kubectl run {my_image}
アプリケーションAPI
$ cf push {my_code}
ファンクションAPI
$ pfs create {my_function}
マーケットプレイス
サービスブローカー
$ cf bind {my_service}
FaaS
PaaS
CaaS
43. Pivotal Platform
レイヤーを跨って一貫している
プラットフォームAPI
適切な
抽象度の
選択
VMware AWS Google Azure
Embedded
OS
(Stemcell)
Network
as API
仮想マシン&
ストレージ
as API
継続的
セキュリティ
Platform
as
a Product
● パイプライン
● エコシステム
● Cloud Provider
Interface
● Windows
● Linux
● マイクロ
セグメンテーション
● Rotate
● Repair
オーケストレーション レジストリ マルチテナント APIベース 管理
ビルドパック APIゲートウェイ ルーティング/LB
サービスメッシュ C2C
暗号化 Isolation Segment Orgs/Spaces 監査
RBAC
メトリクス トレース 自己修復 オートスケール
ロギング
Microservices運用(Brue/Green コンフィグ
サーキットブレーカー サービスディスカバリ)
リアクティブ
オートラン&ワイア
● Repave
コンテナAPI
$ kubectl run {my_image}
アプリケーションAPI
$ cf push {my_code}
ファンクションAPI
$ pfs create {my_function}
マーケットプレイス
サービスブローカー
$ cf bind {my_service}
FaaS
PaaS
CaaS
44. Pivotal Platform
Kubernetes 上で稼働するアプリケーションとサー
ビスのための統一プラットフォーム
コンテナ
オーケストレーション
( Container Service )
マルチクラウドで提供するKubernetes クラスタの
ライフサイクル自動化と、テナントモデル、仮想ネットワーク、パッチ適
用やアップグレードのサポート
Application
Service
Concourse
CI
Function
Service
Marketplace
Spring
Runtime
RabbitMQ
Build
Service
Cloud
Cache
VMware AWS Google Azureマルチクラウド
プラガブルに
利用可能な
プラットフォーム
サービス
IT資産の
活用と加速
47. Kubernetes Native に広がる Pivotal Application Service
開発者の課題をKubernetes ネイティブに解決
Pivotal Container Service (PKS) or Any Kubernetes
短期間稼働、あるい
は長期間稼働する
ワークロードの実行
Pivotal
Function
Service
セキュアにコードを
アセンブリ、
デプロイ、
アップデートする
Pivotal
Build
Service
プラットフォーム
内外のサービス活用
マネージドサービス
としての
オブザバビリティと
ルーティングの提供
Pivotal
Ingress
Router
サポートされたJava,
Spring, Tomcatを活
用
Pivotal
Spring
Runtime
Pivotal
Services
Marketplac
e
48. 継続的な
向上と成功
Do the right thing
正しいことを実行
Pivotal コアバリュー
アジャイル宣言に従った効率的なアプローチの実践と理念
Do what works
効果的に行動
Always be kind
思いやりを忘れない
共感
コミュニケーション
振り返り 改善
ワークライフバランス
心理的安全性