View
584
Download
0
Category
Preview:
Citation preview
1
Confidential
Spring をフル活用した継続的デリバリーの実践
辻 昌佳
2
Confidential
弊社について
3
ConfidentialSpring Summer 2015
©2015 Money Partners Solutions Co., Ltd.
株式会社 マネーパートナーズソリューションズ
平成 18 年 9 月 15 日設立
FX 、証券、カード事業等を展開するマネーパートナーズグループの一員。マネーパートナーズ社の兄弟会社として、同社のサービスを支える各種システムの開発、保守、運用を中心に事業展開をしています。
会社紹介
4
ConfidentialSpring Summer 2015
©2015 Money Partners Solutions Co., Ltd.
弊社開発事例
マネーパートナーズ社のサービスを支える各種システム
サーバーサイドはすべて Spring フレームワークを使用
• 会員ポータルシステム• FX 取引システム• 口座開設システム
• CRM システム• 帳票システム 他多数
5
Confidential
弊社の開発体制
6
ConfidentialSpring Summer 2015
©2015 Money Partners Solutions Co., Ltd.
ドメインごとに 5 チームポータル開発チーム … 会員専用ポータルシステム等取引基幹系チーム … 証券取引システム等取引ツールチーム … スマホアプリ用ゲートウェイシステム等社内チーム … 帳票システム、CRMシステム等共通開発チーム … ライブラリ・フレームワーク開発、サポート
各チームの開発者数は状況によりばらばら( 2 ~ 10 数名)
開発期間は状況によりばらばら( 1 ヵ月~ 6 ヵ月以上…)
開発~保守・運用体制
安定した開発・保守できるのか?
7
ConfidentialSpring Summer 2015
©2015 Money Partners Solutions Co., Ltd.
小規模~中規模プロダクトを多数かかえている。
いかにして効率よくリリース、保守しつづけていくか?
チームごとに専属の開発者をアサインするのは非効率✓ アーキテクチャが異なると学習のオーバーヘッドが大きい✓ 独自の構成があると担当が限られてしまい問題解決が遅れる✓
課題
8
Confidential
フレームワークによる解決
9
ConfidentialSpring Summer 2015
Spring フレームワークを基盤とした、共通の開発手法を確立。順次、自社プロダクトに適用しつづけ、今に至る。
©2015 Money Partners Solutions Co., Ltd.
Springフレームワークによる解決
参考: 2014 年 JSUG 勉強会発表資料「 Spring Boot を用いたドメイン駆動設計」http://sssslide.com/www.slideshare.net/jkazama/jsug-20141127
10
ConfidentialSpring Summer 2015
©2015 Money Partners Solutions Co., Ltd.
チーム間で開発者を共有できるようになった
• 保守で必要な開発者をキープしつつ、必要に応じて他チームへアサインできるようになっている。
• 他チームにアサインされても少ない学習量で開発を行える。
フレームワークの導入効果
11
ConfidentialSpring Summer 2015
©2015 Money Partners Solutions Co., Ltd.
保守、運用が容易にできるようになった
• 構成が統一されているので、問題発生時も一次調査程度であれば、だれでもできる。
• デプロイやプロセス起動等のマニュアル作業をツール化しており、定型保守作業が容易にできる。
• 運用保守作業においてトラックナンバーが 1 にならない。
フレームワークの導入効果
12
ConfidentialSpring Summer 2015
©2015 Money Partners Solutions Co., Ltd.
統一感を持った見積もりができるようになった
• ベースアーキテクチャが同じなので数値がぶれにくい。
• ドメイン固有の開発作業の見積もり部分のチェックがしやすい。
• テンプレート化した見積もりツールで見積もり作業が楽にできる。
フレームワークの導入効果
13
ConfidentialSpring Summer 2015
©2015 Money Partners Solutions Co., Ltd.
フレームワークの導入効果
会社全体で柔軟性のある開発体制で、サービスのリリース・保守が行えるようになった
チーム間で開発者を共有できるようになった✓ 保守、運用が容易にできるようになった✓ 統一感を持った見積もりができるようになった✓
14
Confidential
フレームワークについて
15
ConfidentialSpring Summer 2015
©2015 Money Partners Solutions Co., Ltd.
Spring Framework+Hibernateエンタープライズアーキテクチャに関心のある層に認知されており、コミュニティやメンテナンスが活発なフレームワークを採用した。
フレームワーク
そのまま一般の開発に渡して開発するにはリスクがある
16
ConfidentialSpring Summer 2015
©2015 Money Partners Solutions Co., Ltd.
MPs eXtension Framework ( MPX フレームワーク)社内での開発生産性向上を目的としたフレームワーク。Spring+Hibernate をベースに、統一感のあるドメインロジックの構築をおこなうための基盤ロジック、エンタープライズ開発に必要となる共通部品を持たせた。
フレームワーク
基盤が共通なら運用も共通化できるはず…
17
ConfidentialSpring Summer 2015
©2015 Money Partners Solutions Co., Ltd.
MPX-Toolプロジェクトの初動を早めるための自動生成ツールと、運用で必要となるデプロイ等の定型作業を集約したスクリプトのセットを用意した。
フレームワーク+ツール
開発から保守まで一貫した基盤が準備できた
18
ConfidentialSpring Summer 2015
©2015 Money Partners Solutions Co., Ltd.
フレームワークのアーキテクチャー
TomcatMVCRemoting
JMS
Springコア
Hibernate
コントローラー ファサード
サービス
ドメインモデル
監査・イベント
分散プロセス制御
マルチテナント制御
ユーティリティ類
データベース / ファイルシステム
UI / 外部サービス
Jasper
19
ConfidentialSpring Summer 2015
©2015 Money Partners Solutions Co., Ltd.
自動生成、ビルド、リリース、運用作業をサポート。
ツールの利用イメージ
リポジトリ
業務設計者
モデル設計
設計成果物 プロジェクト構成
プロジェクト・モデル生成
アーキテクト
CI ツール
ビルド
開発
CI サーバ
開発者
一括リリース、起動 /停止
配付サーバ 稼働サーバ
開発者・運用者
20
ConfidentialSpring Summer 2015
©2015 Money Partners Solutions Co., Ltd.
フレームワーク
Springベースのフレームワークとツールセットを活用して、継続的デリバリを実現
✓ Spring+Hibernate の強力な機能の利用
✓MPX フレームワークによる開発効率化
ツールによる運用支援✓
21
Confidential
フレームワーク適用例
22
ConfidentialSpring Summer 2015
適用パターン –顧客ポータル(1)-
©2015 Money Partners Solutions Co., Ltd.
基幹システム
ポータル固有実装
基幹 API
ポータルAPI
ベースアーキテクチャ
FX 会員サービス
ポータル DB 基幹 DB
メッセージング
Remoting
SSO
DB 参照
23
ConfidentialSpring Summer 2015
適用パターン –顧客ポータル(2)-
©2015 Money Partners Solutions Co., Ltd.
顧客ポータル
会員サービス( FX ・ CFD ・証券・カード)
ポータル DB
FX
CFD
証券
カード
メッセージング等各種連携
24
Confidential
フレームワークデモ
25
ConfidentialSpring Summer 2015
©2015 Money Partners Solutions Co., Ltd.
デモ
自動生成デモ1. Git リポジトリからプロジェクトテンプレートをダウンロード2. サンプルプロジェクトを自動構築3. プロセスの起動4. Swagger からサーバの API を確認5. 組込 H2 データベース上のデータを確認
26
ConfidentialSpring Summer 2015
©2015 Money Partners Solutions Co., Ltd.
デモ
自動生成デモ
27
ConfidentialSpring Summer 2015
©2015 Money Partners Solutions Co., Ltd.
デモ
デプロイ~リリースデモ1. 仮想マシンにデプロイ2. 仮想マシン上にリリース3. プロセスの起動4. Swagger からサーバの API を確認5. 組込 H2 データベース上のデータを確認6. プロセスの終了
28
ConfidentialSpring Summer 2015
©2015 Money Partners Solutions Co., Ltd.
デモ
デプロイ ~ リリースデモ
29
ConfidentialSpring Summer 2015
©2015 Money Partners Solutions Co., Ltd.
デモ
リポジトリ
業務設計者
モデル設計
設計成果物 プロジェクト構成
プロジェクト・モデル生成
アーキテクト
一括リリース、起動 /停止
配付サーバ 稼働サーバ
開発者・運用者
ツールのサポートにより開発者が開発に専念できる
CI ツール
ビルド
開発
CI サーバ
開発者
30
Confidential
これから
31
ConfidentialSpring Summer 2015
©2015 Money Partners Solutions Co., Ltd.
MPX Frameworkのこれから
Spring のライブラリ群の取り込み
当フレームワークを活用したシステムの共同開発
マイクロサービス開発への対応
32
ConfidentialSpring Summer 2015
©2015 Money Partners Solutions Co., Ltd.
TomcatMVCRemoting
JMS
Springコア
Hibernate
コントローラー ファサード
サービス
ドメインモデル
監査・イベント
分散プロセス制御
マルチテナント制御
ユーティリティ類
データベース / ファイルシステム
UI / 外部サービス
Jasper
フレームワークの拡張
OAuth REST AMQP
Security
Cassandra Solr
Boot
テストツール
33
ConfidentialSpring Summer 2015
©2015 Money Partners Solutions Co., Ltd.
弊社のこれから
EC や物流など他業種への展開
サービスの継続性を損なわない、システムの移行開発
当社のノウハウを展開して、開発の効率化をサポート
34
Confidential
ご清聴ありがとうございました
35
ConfidentialSpring Summer 2015
©2015 Money Partners Solutions Co., Ltd.
お問い合わせ先
株式会社マネーパートナーズソリューションズサービス推進室 service@mpsol.co.jp
Recommended