SlideShare une entreprise Scribd logo
1  sur  149
Télécharger pour lire hors ligne
© Copyright 2018 Pivotal Software, Inc. All rights Reserved. Version 1.0
Spring Fest 2018 #jsug #sf_h1
October 31 2018
Toshiaki Maki (@making), Pivotal, tmaki@pivotal.io
Junya Suzuki (@suzukij), Softbank Payment Service, junya.suzuki03@g.softbank.co.jp
決済システムの内製化への旅
- SpringとPCFで作るクラウドネイティブなシステム開発
Pivotal
Advisory Solutions Architect
槙 俊明(@making)
ソフトバンク・ペイメント・サービス株式会社
シニアアーキテクト
鈴木順也(@suzukij)
Cloud Foundry、Kubernetesの導入・運用支援およびそのプラット
フォーム上でのSpringを使った開発の支援。
主な著書:「はじめてのSpring Boot」、「Spring徹底入門」、
「パーフェクトJava EE」
自己紹介
Java, Webシステムの開発に従事。
元々は SIer のプログラマ。フリーランスを経て 2年前に現在の会社
に転職。
主な業務
・業務の改善
・運用業務の効率化
・新規サービスの開発
ソフトバンク携帯ユーザー向けの
「ソフトバンクカード」のカード発行・
運営をしています。
ソフトバンクカードは、 Visa加盟店
で利用できるプリペイドカードです。
ご利用金額に応じて Tポイントが貯
まります。
カード発行業務
決済代行
EC運営事業者さま向けにオンライン決済
事業を運営しています。豊富な決済手段
をまとめてご提供しています。
カード加盟店業務
Visa、Mastercard、UnionPay(銀聯)のメン
バーシップライセンスを保有しており、各ブラ
ンドのアクワイアラー(クレジットカード加盟
店契約会社)としての加盟店審査や管理事
業、端末決済サービスを提供しています。
ソフトバンクと共同で、ソフトバンク
携帯ユーザー向けの通話料合算
請求「ソフトバンクまとめて支払い」
の開発・運営をしています。
キャリア決済
EC/ネット店舗
実店舗/訪問販売
決済代行からカード事業まで幅広く展開
ソフトバンク・ペイメント・サービスの事業内容
ソフトバンク携帯ユーザー向けの
「ソフトバンクカード」のカード発行・
運営をしています。
ソフトバンクカードは、 Visa加盟店
で利用できるプリペイドカードです。
ご利用金額に応じて Tポイントが貯
まります。
カード発行業務
決済代行
EC運営事業者さま向けにオンライン決済
事業を運営しています。豊富な決済手段
をまとめてご提供しています。
カード加盟店業務
Visa、Mastercard、UnionPay(銀聯)のメン
バーシップライセンスを保有しており、各ブラ
ンドのアクワイアラー(クレジットカード加盟
店契約会社)としての加盟店審査や管理事
業、端末決済サービスを提供しています。
ソフトバンクと共同で、ソフトバンク
携帯ユーザー向けの通話料合算
請求「ソフトバンクまとめて支払い」
の開発・運営をしています。
キャリア決済
EC/ネット店舗
実店舗/訪問販売
決済代行からカード事業まで幅広く展開
ソフトバンク・ペイメント・サービスの事業内容
今日お話すること
● 内製化に至る道のり
● Pivotal Cloud Foundry を選んだ理由
● 手に入れた開発のカタチ
○ アーキテクチャ
○ ビルド CI / CD
○ Observability
内製化に至る道のり
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発
2016年当時...
サービス開発はベンダに任せており、
コードを書く自社のエンジニアは 0人だった。
開発のための環境も整っていない状態だった。
2016年: システム運用の効率化を自分たちで
課題
運用の手作業が多い
手作業ゆえのミス Spring Boot
Selenium / Selenide
支援ツールを内製
運用作業を自動化
2016年: システム運用の効率化を自分たちで
Spring Boot
Selenium / Selenide
課題 支援ツールを内製
導入したもの
運用の手作業が多い
手作業ゆえのミス
運用作業を自動化
必要な環境を整える
2016年: システム運用の効率化を自分たちで
課題
導入したもの
運用の手作業が多い
手作業ゆえのミス Spring Boot
Selenium / Selenide
支援ツールを内製
運用作業を自動化
3名のエンジニアがJoin
チームとして改善活動も加速
2017年: ①サービス監視の質を高める
サービス状況をすば
やく把握、共有ができ
ていなかった
課題
2017年: ①サービス監視の質を高める
サービス状況をすば
やく把握、共有ができ
ていなかった
課題 監視用ダッシュボードを作成
導入したもの
Elasticsearch
Logstash
Kibana
2017年: ①サービス監視の質を高める
システムやサービスの
状況を共有したい
サービスの可視化 監視用ダッシュボードを作成
導入したもの
Elasticsearch
Logstash
Kibana
https://www.slideshare.net/JunyaSuzuki1/elastic-stack-84302320
2017年: ②開発プロジェクトの支援を開始
課題
古いアーキテクチャ
開発/リリースが高コスト
システム監視が困難
2017年: ②開発プロジェクトの支援を開始
課題 アーキテクチャをSpringベースに
導入したもの
モダンな開発 / 運用
 Spring Boot
 Spring Cloud
古いアーキテクチャ
開発/リリースが高コスト
システム監視が困難
CIをあたり前に
2017年: ②開発プロジェクトの支援を開始
課題
導入したもの
アーキテクチャをSpringベースに
モダンな開発 / 運用
 Spring Boot
 Spring Cloud
さらに1名のエンジニアがJoin
古いアーキテクチャ
開発/リリースが高コスト
システム監視が困難
2016 - 2017年
● エンジニアチームの立ち上げ
● 運用業務の改善を通してツールの内製化
● 開発案件にも支援として参加
2018年
いよいよ決済システムの内製がスタート
加盟店 決済機関
通販サイト
ゲーム
教育
不動産
その他
電子書籍/動画
決済サービス
全て一本化
チケット
ECサイト向けに様々な決済手段を提供
加盟店に決済APIを提供するシステム
クレジット
携帯キャリア決済
コンビニ支払い
プリペイドカード
口座振替
ポイント支払い
アカウント連携決済
当社当社
API型
開発対象
オンライン決済サービス
開発対象
オンライン決済サービス
加盟店 決済機関
通販サイト
ゲーム
教育
不動産
その他
電子書籍/動画
決済サービス
全て一本化
チケット
ECサイト向けに様々な決済手段を提供
加盟店に決済APIを提供するシステム
クレジット
携帯キャリア決済
コンビニ支払い
プリペイドカード
口座振替
ポイント支払い
アカウント連携決済
当社当社
API型
導入実績 約 80,000 店舗
開発対象
オンライン決済サービス
加盟店 決済機関
通販サイト
ゲーム
教育
不動産
その他
電子書籍/動画
決済サービス
全て一本化
チケット
ECサイト向けに様々な決済手段を提供
加盟店に決済APIを提供するシステム
クレジット
携帯キャリア決済
コンビニ支払い
プリペイドカード
口座振替
ポイント支払い
アカウント連携決済
当社当社
API型
決済手段 40 種以上に対応
開発対象
オンライン決済サービス
加盟店 決済機関
通販サイト
ゲーム
教育
不動産
その他
電子書籍/動画
決済サービス
全て一本化
チケット
ECサイト向けに様々な決済手段を提供
加盟店に決済APIを提供するシステム
クレジット
携帯キャリア決済
コンビニ支払い
プリペイドカード
口座振替
ポイント支払い
アカウント連携決済
当社当社
加盟店システムと決済機関システムの間に位置す
る自社だけでは完結しない Webシステム
API型
2018年: 決済システムの内製へ
新システムに求めるモノ
● スピード感のある開発/リリース
● 継続的な改善のサイクル
● 監視が容易で障害に強いシステム
今までは…
案件毎に開発ベンダのチカラを借りて構築
(見積もり/契約/要件定義から検収まで長い道のり)​
2018年: 決済システムの内製へ
新システムに求めるモノ
● スピード感のある開発/リリース
● 継続的な改善のサイクル
● 監視が容易で障害に強いシステム
今までは…
案件毎に開発ベンダさんのチカラを借りて構築
(見積もり/要件定義から検収まで長い道のり)​
開発ベンダに頼りきっていてはスピード感のある
開発、小さな改善のサイクルが作れない。
2018年: 決済システムの内製へ
新システムに求めるモノ
● スピード感のある開発/リリース
● 継続的な改善のサイクル
● 監視が容易で障害に強いシステム
今までは…
案件毎に開発ベンダさんのチカラを借りて構築
(見積もり/要件定義から検収)
内製化によるスピード感のある開発
内製化による継続的な改善​
2018年: 決済システムの内製へ
チーム体制
改善活動PJ
2018年: 決済システムの内製へ
チーム体制
改善活動PJ
さらに2名のエンジニアがJoin
現在は7名のチーム体制
2018年: 決済システムの内製へ
チーム体制
改善活動PJ 開発PJ
2018年: 決済システムの内製へ
導入したもの
Pivotal Cloud Foundry を中心とした
クラウドネイティブなプラットフォーム
Concourse
2018年: 決済システムの内製へ
チーム体制
槙 (週1の技術支援)
改善活動PJ 開発PJ
Pivotal Cloud Foundryを選んだ理由
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発
Pivotal Function Service
Auto ScaleおよびScale to zeroを実現
するServerlessなFunction実行基盤
● OSSのKnativeおよびriffがベー
ス技術
● Coming soon!
Pivotal Container Service
Kubernetesをフルに活用した
コンテナオーケストレーションを提供
● 自動復旧可能な Kubernetesクラ
スタを動的にプロビジョニングす
るAPIを提供
● Kubernetesのエコシステムをフ
ル活用しつつ運用を楽に
Pivotal Application Service
アプリケーションセントリックな
クラウドネイティブプラットフォームを提
供
● クラウドネイティブなアプリケー
ション稼働のための機能をフル
に提供
● cf pushによる迅速なアプリリ
リース
● OSSのCloud Foundryがベース
技術
Platform as a ServiceContainer as a Service Function as a Service
PRACTICESPRACTICES PRACTICES
製品毎の抽象化レイヤーの違い
DIY k8s or container stack
Embedded OS
OS Image
Runtime Layer
Service Brokerage
Application Layer
Platform
Provided
App
Team
provided
Embedded OS
OS Image
Runtime Layer
Service Brokerage
Application Layer
Platform
Provided
App
Team
Provided
Embedded OS
OS Image
Runtime Layer
Service Brokerage
Application Layer
App
Team
Provided
製品毎の抽象化レイヤーの違い
DIY k8s or container stack
Embedded OS
OS Image
Runtime Layer
Service Brokerage
Application Layer
Platform
Provided
App
Team
provided
Embedded OS
OS Image
Runtime Layer
Service Brokerage
Application Layer
Platform
Provided
App
Team
Provided
Embedded OS
OS Image
Runtime Layer
Service Brokerage
Application Layer
App
Team
Provided
Dockerfileを書くのではなく、
Buildpackを使うことでソースコードからコ
ンテナイメージが作成される
テストされ、ビルドされたコード
cf push 
-p app.jar
~ 1 min ~15+ Days
利用可能なホストの選択
ランタイムのインストールと設定
ミドルウェアのインストールと設定
アプリケーションソースコード準備
依存性ライブラリの取得
アプリケーションパッケージの作成
サービスやミドルウェアのインストールと設定
ホストへコンテナのデプロイ
環境変数などの設定
ロードバランサ設定
ファイアーウォール設定
モニタリングツールの設定
ロギング設定
2日
1日
1日
¼ 日
¼ 日
¼ 日
2 日
½ 日
¼ 日
2 日
2 日
3 日
1 日
テストされ、ビルドされたコード
本番環境へのデプロイ完了
各設定が
プラットフォーム側で
自動で行われる
通常かかる時間
開発プロジェクトのチーム体制と責任分界
開発プロジェクトのチーム体制と責任分界
Networking
Storage
Servers
Virtualization
O/S
Middleware
プラットフォーム運用者
Ops 2名
Runtime
開発プロジェクトのチーム体制と責任分界
Networking
Storage
Servers
Virtualization
O/S
Middleware
Runtime
Data
Application
アプリケーション開発者
Dev 3名
プラットフォーム運用者
Ops 2名
開発プロジェクトのチーム体制と責任分界
Networking
Storage
Servers
Virtualization
O/S
Middleware
Runtime
Data
Application
プラットフォームの構築 / 管
理 に専念
プラットフォーム運用者
Ops 2名
アプリケーション開発者
Dev 3名
開発プロジェクトのチーム体制と責任分界
Networking
Storage
Servers
Virtualization
O/S
Middleware
Runtime
Data
Application
業務の設計 / 実装に集中
プラットフォーム運用者
Ops
アプリケーション開発者
Dev 3名
開発プロジェクトのチーム体制と責任分界
Networking
Storage
Servers
Virtualization
O/S
Middleware
Runtime
Data
Application
12 Factor App 契約事項は12 Factor App。
ベンダーロックインはなし。
プラットフォーム運用者
Ops 2名
アプリケーション開発者
Dev 3名
開発プロジェクトのチーム体制と責任分界
Networking
Storage
Servers
Virtualization
O/S
Middleware
Runtime
Data
Application
技術支援(週1)
プラットフォーム運用者
Ops 2名
アプリケーション開発者
Dev 3名
Why PaaS?
https://twitter.com/doctor_julz/status/1053022686832721922
これ
手に入れた開発のカタチ
➢ プラットフォーム / 全体のアーキテクチャ
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発
syslog+TLS
Logstash
Elasticsearch
Kibana
cf pushConcourse
PrometheusGrafana
git push
全体アーキテクチャ
cf create-service
cf bind-service
全体アーキテクチャ
Dev
Prod
PAS以外のコンポーネント(VM)はBOSHで管理
DevOpsDevとProdの2環境
手に入れた開発のカタチ
➢ アーキテクチャ
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発
アプリケーション構成①(同期 加盟店 ➡ 決済機関)
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
オンラインショッピングサイト
通販サイト、ゲーム、電子書籍、
チケット、不動産、その他
アプリケーション構成①(同期 加盟店 ➡ 決済機関)
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
次期決済システム
アプリケーション構成①(同期 加盟店 ➡ 決済機関)
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
決済機関システム
クレジット、コンビニ支払い、キャリア決済、
プリペイドカード、その他
アプリケーション構成①(同期 加盟店 ➡ 決済機関)
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
AppはすべてPCF上に配置
アプリケーション構成①(同期 加盟店 ➡ 決済機関)
API
Gateway
Service A
Service B
Service C
加盟店 A
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
すべてのAppは Spring Boot で実装
アプリケーション構成①(同期 加盟店 ➡ 決済機関)
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
決済機関毎のビジネスロジックが実装され
ているAPIへルーティング
アプリケーション構成①(同期 加盟店 ➡ 決済機関)
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
http://cloud.spring.io/spring-cloud-gateway/multi/multi__building_a_simple_gateway_using_spring_mvc_or_webflux.html
Spring Cloud Gatewayの
ProxyExchangeでシンプルに実装
アプリケーション構成①(同期 加盟店 ➡ 決済機関)
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
決済機関や加盟店は当然、コントロール範囲外
アプリケーション構成①(同期 加盟店 ➡ 決済機関)
Hystrix
API
Gateway
Service A
Service B
Service C
加盟店 A
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
システム間通信にはHystrixで
Circuit Breakerを導入
Hystrix
Hystrix
Hystrix
アプリケーション構成①(同期 加盟店 ➡ 決済機関)
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
アプリケーション構成①(同期 加盟店 ➡ 決済機関)Circuit Breakerがない状態で
特定の決済機関で障害が発生した場合…
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
アプリケーション構成①(同期 加盟店 ➡ 決済機関)
レスポンス遅延、タイムアウト
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
アプリケーション構成①(同期 加盟店 ➡ 決済機関)
障害の伝播
処理のブロック、スレッド枯渇
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
アプリケーション構成①(同期 加盟店 ➡ 決済機関)
障害の伝播
処理のブロック、スレッド枯渇
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
アプリケーション構成①(同期 加盟店 ➡ 決済機関)
障害の伝播
処理のブロック、スレッド枯渇
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
アプリケーション構成①(同期 加盟店 ➡ 決済機関)
決済機関A起因の障害の影響で関係のない決済機関Cへ
のアクセスができなくなる
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Hystrix
アプリケーション構成①(同期 加盟店 ➡ 決済機関)Circuit Breaker があれば
特定の決済機関で障害が発生しても
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
アプリケーション構成①(同期 加盟店 ➡ 決済機関)他の決済機関へのアクセスに影響を及ぼさない
障害の伝播を防ぐ
Notification
Gateway
Receiver A
Receiver B
Receiver C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Hystrix
アプリケーション構成②(非同期 決済機関 ➡ 加盟店)
Notification
Gateway
Receiver A
Receiver B
Receiver C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Hystrix
アプリケーション構成②(非同期 決済機関 ➡ 加盟店)
Notification
Gateway
Receiver A
Receiver B
Receiver C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Hystrix
非同期を実現するために
RabbitMQ + Spring Cloud Stream を使用
アプリケーション構成②(非同期 決済機関 ➡ 加盟店)
Notification
Gateway
Receiver A
Receiver B
Receiver C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Hystrix
アプリケーション構成②(非同期 決済機関 ➡ 加盟店)
Notification
Gateway
Receiver A
Receiver B
Receiver C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Hystrix
特定の加盟店で障害が発生した場合
アプリケーション構成②(非同期 決済機関 ➡ 加盟店)
Notification
Gateway
Receiver A
Receiver B
Receiver C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Hystrix
アプリケーション構成②(非同期 決済機関 ➡ 加盟店)Dead Letter Queue と呼ばれるキューに
退避して、後に再送
Notification
Gateway
Receiver A
Receiver B
Receiver C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
HystrixCircuit Breakerにより、他の加盟店に影響を
及ぼさない
Hystrix
アプリケーション構成②(非同期 決済機関 ➡ 加盟店)
アプリケーション構成③(非同期 加盟店 ➡ 決済機関)
API
Gateway
Service D
Service E
Service F
加盟店 X
加盟店 Y
加盟店 Z
決済機関 D
決済機関 E
決済機関 F
Hystrix
Hystrix
Hystrix
Hystrix
API
Gateway
Service D
Service E
Service F
加盟店 X
加盟店 Y
加盟店 Z
決済機関 D
決済機関 E
決済機関 F
Hystrix
Hystrix
Hystrix
Hystrix
同期決済が求められないケースでは
なるべく非同期パターンを適用
アプリケーション構成③(非同期 加盟店 ➡ 決済機関)
API
Gateway
Service D
Service E
Service F
加盟店 X
加盟店 Y
加盟店 Z
決済機関 D
決済機関 E
決済機関 F
Hystrix
Hystrix
Hystrix
Hystrix
決済機関の障害時に、
復帰後のエラー処理が可能
アプリケーション構成③(非同期 加盟店 ➡ 決済機関)
PCF App Autoscaler
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Hystrix
PCF App Autoscaler
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Hystrix
特定の加盟店や決済機関の
急なリクエスト増
Hystrix
PCF App Autoscaler
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Hystrix
Service A
Service A
API
Gateway
Service A
自動でAppインスタンス増
PCF App Autoscaler
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Hystrix
API
Gateway
Service A
API
Gateway
Service A
API
Gateway
Service A
PCF App Autoscaler
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Hystrix
API
Gateway
Service A
API
Gateway
Service A
API
Gateway
Service A
インスタンス数の設定
PCF App Autoscaler
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Hystrix
API
Gateway
Service A
API
Gateway
Service A
API
Gateway
Service A
スケールのルール設定
● CPU使用率
● Memory使用率
● HTTPスループット
● HTTPレイテンシ
● MQキューの長さ
PCF App Autoscaler
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Hystrix
API
Gateway
Service A
API
Gateway
Service A
API
Gateway
Service A
スケールアウト/インの
しきい値の設定
PCF App Autoscaler
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Hystrix
API
Gateway
Service A
API
Gateway
Service A
API
Gateway
Service A
PCFに載せて設定するだけ
アプリケーション側の対応は不要
The 12 Factor App
https://12factor.net/
III. Config
VI. Processes
VII. Port binding
VIII. Concurrency
XI. Logs
アプリ実装の観点で重要な5 Factors
環境に依存する設定項目は
環境変数に格納
CF、Spring Bootを使え
ば自動で満たされる
ログは標準出力に出力すれば
プラットフォームが集約
絶対ロストしたくないログは標準
出力ではなくRDBへ保存
手に入れた開発のカタチ
➢ ビルド CI/CD
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発
ビルド CI / CD
Concourse CI
https://concourse-ci.org/
ビルド CI / CD
Concourse CI
https://concourse-ci.org/
Concourse - トップ画面
Concourse - パイプライン画面
パイプライン全体のジョブ構成
ジョブ設定は YAMLファイル で管理
Concourse - パイプライン画面
- task: mvn-test
config:
platform: linux
image_resource:
type: docker-image
source:
repository: maven
tag: 3-jdk-8
inputs:
- name: repo
caches:
- path: repo/m2
run:
path: bash
args:
- -c
- |
set -e
cd repo
rm -rf ~/.m2
ln -fs $(pwd)/m2 ~/.m2
mvn test
developブランチへの更新がトリガ
Concourse - パイプライン画面
Concourse - パイプライン画面
Concourse - パイプライン画面
Concourse 開発から本番リリースまでのパイプライン
Concourse 開発から本番リリースまでのパイプライン
テスト環境リリース 本番環境リリース
developブランチ
ユニットテスト
snapshotビルド
Nexusアップロード
テスト環境
デプロイ
テスト環境リリース 本番環境リリース
Concourse 開発から本番リリースまでのパイプライン
masterブランチ
ユニットテスト
バージョンタグ
の取得
本番環境
デプロイ
releaseビルド
Nexusアップロード
バージョンの更新
(次の開発へ)
テスト環境リリース 本番環境リリース
masterへマージ
(手動クリックによる起動)
Concourse 開発から本番リリースまでのパイプライン
テスト環境リリース 本番環境リリース
Concourse 開発から本番リリースまでのパイプライン
本番リリースのパイプラインはあくまで一例
● 開発チームによる判断
● プラットフォームチームによる判断
● ビジネス的な判断
テスト環境リリース 本番環境リリース
Concourse 開発から本番リリースまでのパイプライン
CI による開発サイクル ワンクリックリリースによる CD
による負荷テスト、E2Eテスト(HTMLレポート)
開発中はJMeterによるテストを毎日継続的に自動で実行
レポートのスクリーンショットをSlackに通知
レポートのHTMLは
cf push
Javaの複数バージョンでのユニットテスト
Java 11 リリース前のパイプライン
Javaの複数バージョンでのユニットテスト
Java 11 リリース前のパイプライン
Javaの複数バージョンでのユニットテスト
Java 11 リリース前のパイプライン
- task: mvn-test
config:
platform: linux
image_resource:
type: docker-image
source:
repository: maven
tag: 3-jdk-8
inputs:
- name: repo
caches:
- path: repo/m2
run:
path: bash
args:
- -c
- |
set -e
cd repo
rm -rf ~/.m2
ln -fs $(pwd)/m2 ~/.m2
mvn test
Javaの複数バージョンでのユニットテスト
Java 11 リリース前のパイプライン
- task: mvn-test
config:
platform: linux
image_resource:
type: docker-image
source:
repository: maven
tag: 3-jdk-8
inputs:
- name: repo
caches:
- path: repo/m2
run:
path: bash
args:
- -c
- |
set -e
cd repo
rm -rf ~/.m2
ln -fs $(pwd)/m2 ~/.m2
mvn -Djava.version=8
- task: mvn-test
config:
platform: linux
image_resource:
type: docker-image
source:
repository: maven
tag: 3-jdk-9
inputs:
- name: repo
caches:
- path: repo/m2
run:
path: bash
args:
- -c
- |
set -e
cd repo
rm -rf ~/.m2
ln -fs $(pwd)/m2 ~/.m2
mvn -Djava.version=9
-Dmockito.version=2.22.0 test
Javaの複数バージョンでのユニットテスト
Java 11 リリース前のパイプライン
- task: mvn-test
config:
platform: linux
image_resource:
type: docker-image
source:
repository: maven
tag: 3-jdk-8
inputs:
- name: repo
caches:
- path: repo/m2
run:
path: bash
args:
- -c
- |
set -e
cd repo
rm -rf ~/.m2
ln -fs $(pwd)/m2 ~/.m2
mvn -Djava.version=8
- task: mvn-test
config: &MVN_TEST_CONFIG
platform: linux
image_resource:
type: docker-image
source:
repository: maven
tag: 3-jdk-11
inputs:
- name: repo
caches:
- path: repo/m2
run:
path: bash
args:
- -c
- |
set -e
cd repo
rm -rf ~/.m2
ln -fs $(pwd)/m2 ~/.m2
mvn -Djava.version=11
-Dmockito.version=2.22.0 test
- task: mvn-test
config:
platform: linux
image_resource:
type: docker-image
source:
repository: maven
tag: 3-jdk-10
inputs:
- name: repo
caches:
- path: repo/m2
run:
path: bash
args:
- -c
- |
set -e
cd repo
rm -rf ~/.m2
ln -fs $(pwd)/m2 ~/.m2
mvn -Djava.version=10
-Dmockito.version=2.22.0 test
Javaの複数バージョンでのユニットテスト
Java 11 リリース前のパイプライン
- task: mvn-test
config:
platform: linux
image_resource:
type: docker-image
source:
repository: maven
tag: 3-jdk-8
inputs:
- name: repo
caches:
- path: repo/m2
run:
path: bash
args:
- -c
- |
set -e
cd repo
rm -rf ~/.m2
ln -fs $(pwd)/m2 ~/.m2
mvn -Djava.version=8 2.22.0 test
- task: mvn-test
config: &MVN_TEST_CONFIG
platform: linux
image_resource:
type: docker-image
source:
repository: maven
tag: 3-jdk-11
inputs:
- name: repo
caches:
- path: repo/m2
run:
path: bash
args:
- -c
- |
set -e
cd repo
rm -rf ~/.m2
ln -fs $(pwd)/m2 ~/.m2
mvn -Djava.version=11
-Dmockito.version=2.22.0 test
- task: mvn-test
config: &MVN_TEST_CONFIG
platform: linux
image_resource:
type: docker-image
source:
repository: maven
tag: 3-jdk-11
inputs:
- name: repo
caches:
- path: repo/m2
run:
path: bash
args:
- -c
- |
set -e
cd repo
rm -rf ~/.m2
ln -fs $(pwd)/m2 ~/.m2
mvn -Djava.version=11
-Dmockito.version=2.22.0 test
- task: mvn-test
config:
platform: linux
image_resource:
type: docker-image
source:
repository: maven
tag: 3-jdk-11
inputs:
- name: repo
caches:
- path: repo/m2
run:
path: bash
args:
- -c
- |
set -e
cd repo
rm -rf ~/.m2
ln -fs $(pwd)/m2 ~/.m2
mvn -Djava.version=11
-Dmockito.version=2.22.0 test
Javaの複数バージョンでのユニットテスト
Java 11 リリース後のパイプライン
OpenJDK 11でユニットテスト
Java Buildpack 4.16でJava 11も対応
Javaの複数バージョンでのユニットテスト
Java 11 リリース後のパイプライン
OpenJDK 12でもユニットテスト
次のLTS(17)へ向けて準備
Javaの複数バージョンでのユニットテスト
Java 11 リリース後のパイプライン
Javaアップデートの弊害を早期に検知
https://bugs.openjdk.java.net/browse/JDK-8209965
Javaアップデートの弊害を早期に検知
テスト失敗の原因
特定のTLS証明書でHTTPSのハンドシェイクに
失敗してしまうJDKの不具合
https://bugs.openjdk.java.net/browse/JDK-8209965
Javaアップデートの弊害を早期に検知
特定のTLS証明書でHTTPSのハンド
シェイクに失敗してしまう不具合
Fixed
12
Backports
Fix Version
11.0.2
https://bugs.openjdk.java.net/browse/JDK-8209965
Javaアップデートの弊害を早期に検知
特定のTLS証明書でHTTPSのハンド
シェイクに失敗してしまう不具合
Fixed
12
Backports
Fix Version
11.0.2
Javaバージョン毎のテストをCIで回すことにより
アップデートの弊害を早期に検知
Javaの更新に付いていく
● 複数バージョンを同時にテスト可能なCI環境
● 簡単にデプロイ可能なDev/Staging/Prod環境
塩漬けするのではなく、アップデートし続けられる環境を
準備。
Javaの更新に付いていく
● 複数バージョンを同時にテスト可能なCI環境
● 簡単にデプロイ可能なDev/Staging/Prod環境
塩漬けするのではなく、アップデートし続けられる環境を
準備。
手に入れた開発のカタチ
➢ Observability
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発
Observability
※Metrics, tracing, and logging 
https://peter.bourgon.org/blog/2017/02/21/metrics-tracing-and-logging.html
Observability
※Metrics, tracing, and logging 
https://peter.bourgon.org/blog/2017/02/21/metrics-tracing-and-logging.html
Observability
※Metrics, tracing, and logging 
https://peter.bourgon.org/blog/2017/02/21/metrics-tracing-and-logging.html
Observability
※Metrics, tracing, and logging 
https://peter.bourgon.org/blog/2017/02/21/metrics-tracing-and-logging.html
Grafanaダッシュボードでの監視対象
● 全Spring Bootアプリ(Micrometer)のメトリクス
● 全コンテナのメトリクス
● 全VMのメトリクス
● Cloud Foundryの各コンポーネントのメトリクス
● RabbitMQのメトリクス
● MySQLのメトリクス
● Concourseのメトリクス
● Elasticsearchのメトリクス
● など
BOSHでインストールすると
ダッシュボードやアラートは
プリセット済み
Grafana(Micrometer)
Grafana(Micrometer)
今までログから可視化していた情報が
Grafanaでいつでも確認可能に
・CPU
・ヒープ(各領域ごと)
・スレッド
・GC(回数、時間)
・クラスローダ
Grafana(Micrometer)
Micrometer
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
Grafana(Micrometer Hystrix)
Grafana(Micrometer Hystrix)
Grafana(Micrometer Hystrix)
タイムアウトイベント数
特定の決済機関がダウンし、タ
イムアウト発生(図はデモ) ショートイベント数
Circuit BreakerがOpenして
ショートし、他の決済機関へ
の経路には影響を与えない
オープンサーキット数
処理の異常が発生した場合に
オープンするサーキットの数
Grafana(Micrometer Hystrix)
Micrometer
@Bean
public HystrixMetricsBinder hystrixMetricsBinder() {
return new HystrixMetricsBinder();
}
※Spring Cloud GreenwichからはAuto-Configured
Promregator
Prometheus Aggregator for Cloud Foundry
https://github.com/promregator/promregator
Prometheus Promregator
Cloud Controller
Diego Cell
GoRouter
Containers
/metrics
/actuator/prometheus
アプリ情報を定期的
に取得
各アプリのメトリク
スをそれぞれ取得
し集約
開発者はPrometheusの
設定を意識せず、cf
pushするだけで良い。
Kibana(アクセスログ)
Kibana(アクセスログ)
アクセスログ一覧
レスポンスタイム
アプリ別
アクセス数
ステータスコード別
アクセス数
Kibana(アプリケーションログ)
Kibana(アプリケーションログ)
ログレベル別
ログ出力数
アプリケーションログ
Kibana(アプリケーションログ)
開発者は Elastic Stack
を意識せず、標準出力にログを出力
するだけで良い。
Elastalertでログのキーワード監視 ➡ Slack通知
Kibanaダッシュボードへのリンク付き
https://elastalert.readthedocs.io
Zipkin
トレースIDで検索可能
Zipkin
複数のサービスに跨って、
どこの処理で時間がかかっていたか一目でわかる
Zipkin
Zipkin, Spring Cloud Sleuth
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
spring:
zipkin:
base-url: https://my-zipkin.example.com
service.name: notification-gateway
sender.type: web
Zipkin
Zipkin(Brave MySQL )
Zipkin(Brave MySQL )
実行されたSQLと所要時間を確認可能
Zipkin(Brave MySQL )
Brave MySQL
<dependency>
<groupId>io.zipkin.brave</groupId>
<artifactId>brave-instrumentation-mysql</artifactId>
<version>${brave-instrumentation-mysql.version}</version>
</dependency>
spring.datasource.hikari:
data-source-properties.statementInterceptors: brave.mysql.TracingStatementInterceptor
Zipkin(Brave MySQL )
本日のまとめ
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発
本日のまとめ
ここまでの歩み
● 開発チームの立ち上げ
● 運用業務の改善活動
● PCFを中心としたプラットフォームの導入 / 構築
● 決済システム内製
○ 耐障害性に優れたシステム
○ 監視の容易なシステム
○ 継続的なビルド/リリース パイプライン
本日のまとめ
これから
● リリースの建て付け
● 運用 - 障害検知/障害対応の明確化
● 追加の開発を容易にするルール、仕組み
本日のまとめ
外注に頼りきったサービス開発を積み重ねてもプラット
フォームは構築できない。
内製という技術の舵取りをおこなうからこそ
プラットフォームの構築/運用が可能となる。
そしてその強力な基盤があるおかげで少人数でも
サービス開発に注力ができた。
さいごに
開発チームの組織を立ち上げ、まだまだようやく走り始めた段
階で今後もリリースと運用が控えている。
Spring, PCFのある開発を通して加盟店/エンドユーザの方々
に高い品質のサービスを提供したい。
堅牢、安全、1件1円間違えない、
障害に強いシステムを目指して
​
We are hiring!
ソフトバンク・ペイメント・サービスは
エンジニアを募集しています
興味がある方は   @suzukij まで
Pivotalジャパンは
プラットフォームアーキテクト、ソリューションズアーキテクト
を募集しています
興味がある方は   @making まで
https://pivotal.io/locations/tokyo
ご清聴ありがとうございました
Transforming How The World Builds Software
© Copyright 2018 Pivotal Software, Inc. All rights Reserved.

Contenu connexe

Tendances

CloudNativeな決済サービスの開発と2年間の歩み #sf_A4
CloudNativeな決済サービスの開発と2年間の歩み #sf_A4CloudNativeな決済サービスの開発と2年間の歩み #sf_A4
CloudNativeな決済サービスの開発と2年間の歩み #sf_A4Junya Suzuki
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugItsuki Kuroda
 
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきことこれからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと土岐 孝平
 
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall ) LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall ) Hironobu Isoda
 
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはがんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはJun-ichi Sakamoto
 
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢apkiban
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル貴志 上坂
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjugYahoo!デベロッパーネットワーク
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかAtsushi Nakada
 
40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていることonozaty
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本kazuki kumagai
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
イベント・ソーシングを知る
イベント・ソーシングを知るイベント・ソーシングを知る
イベント・ソーシングを知るShuhei Fujita
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugMasatoshi Tada
 
DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容sairoutine
 

Tendances (20)

CloudNativeな決済サービスの開発と2年間の歩み #sf_A4
CloudNativeな決済サービスの開発と2年間の歩み #sf_A4CloudNativeな決済サービスの開発と2年間の歩み #sf_A4
CloudNativeな決済サービスの開発と2年間の歩み #sf_A4
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
 
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきことこれからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
 
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall ) LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
 
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはがんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
 
Google Cloud で実践する SRE
Google Cloud で実践する SRE  Google Cloud で実践する SRE
Google Cloud で実践する SRE
 
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
 
40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること
 
Serverless時代のJavaについて
Serverless時代のJavaについてServerless時代のJavaについて
Serverless時代のJavaについて
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
SpringBootTest入門
SpringBootTest入門SpringBootTest入門
SpringBootTest入門
 
Keycloak入門
Keycloak入門Keycloak入門
Keycloak入門
 
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 
イベント・ソーシングを知る
イベント・ソーシングを知るイベント・ソーシングを知る
イベント・ソーシングを知る
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
 
DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容
 

Similaire à 決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1

Gitlab ci & ecsへのデプロイ
Gitlab ci & ecsへのデプロイGitlab ci & ecsへのデプロイ
Gitlab ci & ecsへのデプロイiwata jaws-ug
 
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatformJSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatformTakahiro Fujii
 
Docker on azure!進化していくcontainerを覗いてみよう!
Docker on azure!進化していくcontainerを覗いてみよう! Docker on azure!進化していくcontainerを覗いてみよう!
Docker on azure!進化していくcontainerを覗いてみよう! Tsukasa Kato
 
Chat bot created by QnA Maker
Chat bot created by QnA MakerChat bot created by QnA Maker
Chat bot created by QnA MakerTakao Tetsuro
 
Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324
Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324
Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324Shotaro Suzuki
 
JPC2016Area: デジタルトランスフォーメーションを支えるクラウド選定の新基準
JPC2016Area: デジタルトランスフォーメーションを支えるクラウド選定の新基準JPC2016Area: デジタルトランスフォーメーションを支えるクラウド選定の新基準
JPC2016Area: デジタルトランスフォーメーションを支えるクラウド選定の新基準MPN Japan
 
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏Daisuke Ikeda
 
Istio, Kubernetes and Cloud Foundry
Istio, Kubernetes and Cloud FoundryIstio, Kubernetes and Cloud Foundry
Istio, Kubernetes and Cloud FoundryKazuto Kusama
 
Intelligent cloud with Microsoft Graph.
Intelligent cloud with Microsoft Graph.Intelligent cloud with Microsoft Graph.
Intelligent cloud with Microsoft Graph.Takao Tetsuro
 
Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)Shinya Nakajima
 
Circle of Code with Cloud Foundry
Circle of Code with Cloud FoundryCircle of Code with Cloud Foundry
Circle of Code with Cloud FoundryTomohiro Ichimura
 
Logic Apps/Flow Update Summary
Logic Apps/Flow Update SummaryLogic Apps/Flow Update Summary
Logic Apps/Flow Update SummaryTomoyuki Obi
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~Yuki Ando
 
SpringOne Platform Replay -Pivotal Cloud Foundry-
SpringOne Platform Replay -Pivotal Cloud Foundry-SpringOne Platform Replay -Pivotal Cloud Foundry-
SpringOne Platform Replay -Pivotal Cloud Foundry-CASAREAL, Inc.
 
マイクロソフトの AI プラットフォーム & Cognitive Services 概要 ~ Ignite 2020 Recap
マイクロソフトの AI プラットフォーム & Cognitive Services 概要 ~ Ignite 2020 Recapマイクロソフトの AI プラットフォーム & Cognitive Services 概要 ~ Ignite 2020 Recap
マイクロソフトの AI プラットフォーム & Cognitive Services 概要 ~ Ignite 2020 RecapAyako Omori
 
Microsoft Power Platform がエンジニアにも必要な理由
Microsoft Power Platform がエンジニアにも必要な理由Microsoft Power Platform がエンジニアにも必要な理由
Microsoft Power Platform がエンジニアにも必要な理由Taiki Yoshida
 
2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト
2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト
2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェストIssei Hiraoka
 
クラウド鎖国からクラウド維新へ
クラウド鎖国からクラウド維新へクラウド鎖国からクラウド維新へ
クラウド鎖国からクラウド維新へCybozucommunity
 
仮想通貨取引所 bitbank の IaC の導入と実践
仮想通貨取引所 bitbank の IaC の導入と実践 仮想通貨取引所 bitbank の IaC の導入と実践
仮想通貨取引所 bitbank の IaC の導入と実践 bitbank, Inc. Tokyo, Japan
 

Similaire à 決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1 (20)

Gitlab ci & ecsへのデプロイ
Gitlab ci & ecsへのデプロイGitlab ci & ecsへのデプロイ
Gitlab ci & ecsへのデプロイ
 
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatformJSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
 
Docker on azure!進化していくcontainerを覗いてみよう!
Docker on azure!進化していくcontainerを覗いてみよう! Docker on azure!進化していくcontainerを覗いてみよう!
Docker on azure!進化していくcontainerを覗いてみよう!
 
インフラチームの歴史とこれから
インフラチームの歴史とこれからインフラチームの歴史とこれから
インフラチームの歴史とこれから
 
Chat bot created by QnA Maker
Chat bot created by QnA MakerChat bot created by QnA Maker
Chat bot created by QnA Maker
 
Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324
Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324
Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324
 
JPC2016Area: デジタルトランスフォーメーションを支えるクラウド選定の新基準
JPC2016Area: デジタルトランスフォーメーションを支えるクラウド選定の新基準JPC2016Area: デジタルトランスフォーメーションを支えるクラウド選定の新基準
JPC2016Area: デジタルトランスフォーメーションを支えるクラウド選定の新基準
 
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
 
Istio, Kubernetes and Cloud Foundry
Istio, Kubernetes and Cloud FoundryIstio, Kubernetes and Cloud Foundry
Istio, Kubernetes and Cloud Foundry
 
Intelligent cloud with Microsoft Graph.
Intelligent cloud with Microsoft Graph.Intelligent cloud with Microsoft Graph.
Intelligent cloud with Microsoft Graph.
 
Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)
 
Circle of Code with Cloud Foundry
Circle of Code with Cloud FoundryCircle of Code with Cloud Foundry
Circle of Code with Cloud Foundry
 
Logic Apps/Flow Update Summary
Logic Apps/Flow Update SummaryLogic Apps/Flow Update Summary
Logic Apps/Flow Update Summary
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
 
SpringOne Platform Replay -Pivotal Cloud Foundry-
SpringOne Platform Replay -Pivotal Cloud Foundry-SpringOne Platform Replay -Pivotal Cloud Foundry-
SpringOne Platform Replay -Pivotal Cloud Foundry-
 
マイクロソフトの AI プラットフォーム & Cognitive Services 概要 ~ Ignite 2020 Recap
マイクロソフトの AI プラットフォーム & Cognitive Services 概要 ~ Ignite 2020 Recapマイクロソフトの AI プラットフォーム & Cognitive Services 概要 ~ Ignite 2020 Recap
マイクロソフトの AI プラットフォーム & Cognitive Services 概要 ~ Ignite 2020 Recap
 
Microsoft Power Platform がエンジニアにも必要な理由
Microsoft Power Platform がエンジニアにも必要な理由Microsoft Power Platform がエンジニアにも必要な理由
Microsoft Power Platform がエンジニアにも必要な理由
 
2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト
2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト
2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト
 
クラウド鎖国からクラウド維新へ
クラウド鎖国からクラウド維新へクラウド鎖国からクラウド維新へ
クラウド鎖国からクラウド維新へ
 
仮想通貨取引所 bitbank の IaC の導入と実践
仮想通貨取引所 bitbank の IaC の導入と実践 仮想通貨取引所 bitbank の IaC の導入と実践
仮想通貨取引所 bitbank の IaC の導入と実践
 

Plus de Toshiaki Maki

From Spring Boot 2.2 to Spring Boot 2.3 #jsug
From Spring Boot 2.2 to Spring Boot 2.3 #jsugFrom Spring Boot 2.2 to Spring Boot 2.3 #jsug
From Spring Boot 2.2 to Spring Boot 2.3 #jsugToshiaki Maki
 
Concourse x Spinnaker #concourse_tokyo
Concourse x Spinnaker #concourse_tokyoConcourse x Spinnaker #concourse_tokyo
Concourse x Spinnaker #concourse_tokyoToshiaki Maki
 
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1tServerless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1tToshiaki Maki
 
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1Toshiaki Maki
 
Spring Boot Actuator 2.0 & Micrometer
Spring Boot Actuator 2.0 & MicrometerSpring Boot Actuator 2.0 & Micrometer
Spring Boot Actuator 2.0 & MicrometerToshiaki Maki
 
Open Service Broker APIとKubernetes Service Catalog #k8sjp
Open Service Broker APIとKubernetes Service Catalog #k8sjpOpen Service Broker APIとKubernetes Service Catalog #k8sjp
Open Service Broker APIとKubernetes Service Catalog #k8sjpToshiaki Maki
 
Spring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsugSpring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsugToshiaki Maki
 
Introduction to Spring WebFlux #jsug #sf_a1
Introduction to Spring WebFlux #jsug #sf_a1Introduction to Spring WebFlux #jsug #sf_a1
Introduction to Spring WebFlux #jsug #sf_a1Toshiaki Maki
 
BOSH / CF Deployment in modern ways #cf_tokyo
BOSH / CF Deployment in modern ways #cf_tokyoBOSH / CF Deployment in modern ways #cf_tokyo
BOSH / CF Deployment in modern ways #cf_tokyoToshiaki Maki
 
Why PCF is the best platform for Spring Boot
Why PCF is the best platform for Spring BootWhy PCF is the best platform for Spring Boot
Why PCF is the best platform for Spring BootToshiaki Maki
 
Zipkin Components #zipkin_jp
Zipkin Components #zipkin_jpZipkin Components #zipkin_jp
Zipkin Components #zipkin_jpToshiaki Maki
 
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07Toshiaki Maki
 
Spring Framework 5.0による Reactive Web Application #JavaDayTokyo
Spring Framework 5.0による Reactive Web Application #JavaDayTokyoSpring Framework 5.0による Reactive Web Application #JavaDayTokyo
Spring Framework 5.0による Reactive Web Application #JavaDayTokyoToshiaki Maki
 
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsug実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsugToshiaki Maki
 
Spring ❤️ Kotlin #jjug
Spring ❤️ Kotlin #jjugSpring ❤️ Kotlin #jjug
Spring ❤️ Kotlin #jjugToshiaki Maki
 
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3Toshiaki Maki
 
Managing your Docker image continuously with Concourse CI
Managing your Docker image continuously with Concourse CIManaging your Docker image continuously with Concourse CI
Managing your Docker image continuously with Concourse CIToshiaki Maki
 
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...
Data Microservices with Spring Cloud Stream, Task,  and Data Flow #jsug #spri...Data Microservices with Spring Cloud Stream, Task,  and Data Flow #jsug #spri...
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...Toshiaki Maki
 
Short Lived Tasks in Cloud Foundry #cfdtokyo
Short Lived Tasks in Cloud Foundry #cfdtokyoShort Lived Tasks in Cloud Foundry #cfdtokyo
Short Lived Tasks in Cloud Foundry #cfdtokyoToshiaki Maki
 
今すぐ始めるCloud Foundry #hackt #hackt_k
今すぐ始めるCloud Foundry #hackt #hackt_k今すぐ始めるCloud Foundry #hackt #hackt_k
今すぐ始めるCloud Foundry #hackt #hackt_kToshiaki Maki
 

Plus de Toshiaki Maki (20)

From Spring Boot 2.2 to Spring Boot 2.3 #jsug
From Spring Boot 2.2 to Spring Boot 2.3 #jsugFrom Spring Boot 2.2 to Spring Boot 2.3 #jsug
From Spring Boot 2.2 to Spring Boot 2.3 #jsug
 
Concourse x Spinnaker #concourse_tokyo
Concourse x Spinnaker #concourse_tokyoConcourse x Spinnaker #concourse_tokyo
Concourse x Spinnaker #concourse_tokyo
 
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1tServerless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
 
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1
 
Spring Boot Actuator 2.0 & Micrometer
Spring Boot Actuator 2.0 & MicrometerSpring Boot Actuator 2.0 & Micrometer
Spring Boot Actuator 2.0 & Micrometer
 
Open Service Broker APIとKubernetes Service Catalog #k8sjp
Open Service Broker APIとKubernetes Service Catalog #k8sjpOpen Service Broker APIとKubernetes Service Catalog #k8sjp
Open Service Broker APIとKubernetes Service Catalog #k8sjp
 
Spring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsugSpring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsug
 
Introduction to Spring WebFlux #jsug #sf_a1
Introduction to Spring WebFlux #jsug #sf_a1Introduction to Spring WebFlux #jsug #sf_a1
Introduction to Spring WebFlux #jsug #sf_a1
 
BOSH / CF Deployment in modern ways #cf_tokyo
BOSH / CF Deployment in modern ways #cf_tokyoBOSH / CF Deployment in modern ways #cf_tokyo
BOSH / CF Deployment in modern ways #cf_tokyo
 
Why PCF is the best platform for Spring Boot
Why PCF is the best platform for Spring BootWhy PCF is the best platform for Spring Boot
Why PCF is the best platform for Spring Boot
 
Zipkin Components #zipkin_jp
Zipkin Components #zipkin_jpZipkin Components #zipkin_jp
Zipkin Components #zipkin_jp
 
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
 
Spring Framework 5.0による Reactive Web Application #JavaDayTokyo
Spring Framework 5.0による Reactive Web Application #JavaDayTokyoSpring Framework 5.0による Reactive Web Application #JavaDayTokyo
Spring Framework 5.0による Reactive Web Application #JavaDayTokyo
 
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsug実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
 
Spring ❤️ Kotlin #jjug
Spring ❤️ Kotlin #jjugSpring ❤️ Kotlin #jjug
Spring ❤️ Kotlin #jjug
 
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3
 
Managing your Docker image continuously with Concourse CI
Managing your Docker image continuously with Concourse CIManaging your Docker image continuously with Concourse CI
Managing your Docker image continuously with Concourse CI
 
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...
Data Microservices with Spring Cloud Stream, Task,  and Data Flow #jsug #spri...Data Microservices with Spring Cloud Stream, Task,  and Data Flow #jsug #spri...
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...
 
Short Lived Tasks in Cloud Foundry #cfdtokyo
Short Lived Tasks in Cloud Foundry #cfdtokyoShort Lived Tasks in Cloud Foundry #cfdtokyo
Short Lived Tasks in Cloud Foundry #cfdtokyo
 
今すぐ始めるCloud Foundry #hackt #hackt_k
今すぐ始めるCloud Foundry #hackt #hackt_k今すぐ始めるCloud Foundry #hackt #hackt_k
今すぐ始めるCloud Foundry #hackt #hackt_k
 

Dernier

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 

Dernier (9)

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 

決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1