SpringFest2018の「決済システムの内製化への旅 ‒ Spring と PCF で作るクラウドネイティブなシステム開発」聴講メモ

プレゼンター

槙 俊明 Pivotal, Advisory Solutions Architect

Cloud Foundry / Kubernetesの構築・運用支援やその上でSpring Bootを使ったアプリケーション開発支援、Concourseを使ったCI/CD適用支援を行なっている。

鈴木 順也 ソフトバンク・ペイメント・サービス株式会社 シニアアーキテクト

決済システムの開発、運用企画、改善に従事

概略

ソフトバンク・ペイメント・サービス株式会社ではSpringとPivotal Cloud Foundryを使用して、次期決済システムを内製で構築しています。本セッションでは導入の背景や、Spring Boot/Cloudを使用したアーキテクチャの説明、CI/CDやロギング・モニタリングなど取り組み内容のご紹介とあわせて、プラットフォームの導入が開発にどのような効果をもたらすのかをお伝えします。Cloud Foundryを使用した事例となりますが、セッションの内容は他のプラットフォームについても当てはまることが多いため、Spring + クラウドネイティブなプラットフォームの導入を検討をされている方はぜひご参加ください。#sf_h1

聴講メモ

内製化に至る道程

PCFを選んだ理由

  • PCFのサービス
    • Pivotal Container Service
    • Pivotal Application Service ← 今回利用したのはこれ
      • Dockerファイルではなく、BuildPackを書くだけで環境構築ができる
    • Pivotal Function Service
      • OSSのKnaticeとriffベース技術

cf push だけでできること ( 写真挿入 )

  • 12Factorに従うと、開発と運用の責任分解点が明確なので、PCFを選択する理由の一つ
  • PaaS vs Kubernetes
    • どうしてKubernetesが流行っている中で、PaaSなのか
    • PaaSの方が、できることが少ない分、責任を減らせる

全体アーキテクチャ ( 写真挿入 )

  • Spring Cloud GatewayのProxyExchangeで実装
  • スライドで詳細URLあり
  • 加盟店で障害が発生した場合は、DeadLetterQueueにキューを追加

PCFを12Factorの対応 ( 写真挿入 )

  • CI/CDといえばJenkinsだけど、PCF製のConcourseを利用
  • JMeterによる負荷テストの自動化
    • JMeterのレポート機能が綺麗なので、通知して毎日開発前に確認
  • Concourseはコンテナベースなので、Java8~11全てのテストを自動で実施
    • アップデートによる弊害を早期発見
  • Zipkinで処理の実行時間を把握しやすくなる

参考リンク