キャリア採用
プロジェクトストーリー:マイクロサービスアーキテクチャに基づくシステム更改
ビジネスを加速するための新たな土台
「マイクロサービスアーキテクチャに基づくシステム更改」
当社のシステムは開業当初よりさまざまな機能の追加・改善を行ってきたことで、プログラムが複雑化し、改修コストの増加や開発スピードの低下といった問題を抱えていました。具体的には、アプリケーションの各機能が密接に結合した状態で構成されていたことで、一部のアプリケーションを変更しようとしても、他のアプリケーションやデータベースに対する影響調査に時間がかかるほか、影響有無を確認するためにテスト範囲が増加することで、改修コスト・開発スピード双方に大きな影響を与えていました。
また、口座数の増加に比例して通信量も年々増加していたことから、サーバのスペックも向上させる必要がありました。ただし、有償ソフトウェアを利用している関係上、スペック向上によるソフトウェアライセンス費用の増加という問題にも直面していました。
競合のフィンテック企業やネット銀行が新サービスをリリースしていく中で、当社もBaaSを始めとした革新的なサービスをいち早く導入し続けていくために、こうした問題は解消していく必要がありました。
そこで、我々はマイクロサービスアーキテクチャという近年注目されている新しいアーキテクチャに基づいてシステムを再構成することで、問題の解消を図っています。
プロジェクトメンバー
-
エンジニアK.Y
インターネットバンキングシステム刷新のプロジェクトリーダー。
システム全体構成の方針策定のほか、アプリケーション構成といった各要件に関する要件定義、外部設計、テスト計画の対応、およびプロジェクト全体の統括、ステークホルダーとの調整を担当。 -
エンジニアY.T
インターネットバンキングシステム刷新のプロジェクトマネージャー。マイクロサービスアーキテクチャを活用したシステム基盤の構築から、アプリケーションのリファクタリングまでプロジェクト全体の管理・推進を担当。
-
エンジニアI.S
マイクロサービスアーキテクチャ標準化を見据えたマイクロサービス基盤の実現にかかる要件定義やグランドデザイン、カットオーバー、その後の運用までの全工程を含むプロジェクトマネジメントを担当。
プロジェクト参画にあたっての想い
このプロジェクトにアサインされた際は、どのように感じましたか?
K.Y(エンジニア)
重要度の高いインターネットバンキングシステムを新しいアーキテクチャで再構築するということで、プレッシャーも感じましたが、同時にやりがいも感じました。
システムのロジックであったり、各種メリット・デメリットについては実際に案件を担当する方が深く理解できますので、日々勉強しながら対応しています。
Y.T(エンジニア)
当社のメインシステムであるインターネットバンキングシステムの刷新を担当できることやマイクロサービスアーキテクチャを活用した先進的なシステム構築に挑戦できることへの喜びが大きかったです。
慣れないことへの不安とプレッシャーも同じくらいに感じましたが、システムベンダーも含めたプロジェクトメンバー全員が一丸となって新しいことに挑戦して素晴らしい結果を出すという決意をもってプロジェクトに臨んでいます。
I.S(エンジニア)
私にとって、本プロジェクトを担当することは非常にチャレンジングで、わくわくしました。
最新のアーキテクチャを採用した基盤の立ち上げに、上流工程から携われる機会は多くはありません。もちろん不安もありました。大規模プロジェクトのマネジメント経験も無く、新たな技術習得のための勉強も欠かせません。
しかし、このプロジェクトが自身の成長に繋がると確信したことを覚えています。また何より、いちITエンジニアとして好奇心には敵わないものです。
プロジェクトが始まってみて
実際にプロジェクトがスタートしてからはいかがでしたか。
K.Y(エンジニア)
本プロジェクトはまさに対応が始まったところですが、先進的な取り組みというだけあって、対応に悩む点も多々発生しています。
細かな点をあげればきりがないですが、大きいところで言うと、どの単位でサービスを分割するかという点はシステム構成そのものに関係するところなので難しい課題だと感じています。「マイクロ」サービスというだけあって、既存システムよりサービスを細かく分割していきますが、細かくし過ぎるとサービス間の連携や管理が複雑になるうえ、サービス間通信が増えることで性能への懸念も発生します。メリット・デメリットがある中で、どこに重点を置き、全体構成を考えるのかは案件の醍醐味であると同時に難しい部分だと思います。
I.S(エンジニア)
自分にとってもこのプロジェクトはある種未知の領域であり、まず用語の壁、概念の壁がありました。当たり前のことではありますが、とにかく調べ、臆せず質問することです。自分が理解できないことは他者へ説明できませんし、そのまま進むと後々問題が発生してしまいますので。
また、どこまでを基盤担当、どこから開発担当とするか、いわゆる責任分界点の調整にも頭を悩ませました。基盤担当領域が広いと管理/統制の強度は高くなりますが、その分運用コストも高くなります。また、何より開発者にとっての制限が多すぎると身動きが取りづらく、開発アジリティ向上を妨げてしまいます。この課題に対する開発の生産性を劇的に向上する特定の手法はなく、当社に最適なバランスを今後も追求、改善し続ける必要があると考えています。
現時点で期待できるプロジェクトの成果
どんな完成イメージを持って取り組まれているのでしょうか。
I.S(エンジニア)
一般的にITインフラは、"動いて当たり前"を求められる側面が非常に強いです。またそのうえで、お客さまの大事な資産を取り扱う金融システムであり、強固なセキュリティも必須要件となります。本プロジェクトは、そこからさらに一歩踏み込んで、システムの開発アジリティ・リリースサイクル向上を実現させるものです。
開発しやすい環境は、単なるスピードの話だけでなく、デベロッパーのモチベーションにも影響すると考えます。これらは全て、お客さまから直接見える領域ではありませんが、より便利なサービスを、いち早く、安全に、安定して、お客さまへ提供することが可能となります。
Y.T(エンジニア)
このプロジェクトが完遂できたとき、現在よりも圧倒的に開発効率が向上したシステムが実現できると思います。そうなることによって、世の中に新しいサービスをより高速に提供できるアジリティを実現することができるようになると思います。
また、よりセキュリティが強化され、システムが安定的に稼働するようになるため、お客さまにとって、より安心安全なサービスの提供ができるようになると思います。
プロジェクトを通して感じていること
このプロジェクトは長期にわたる大規模プロジェクトですが、現時点での気づきや、後のプロジェクト推進に向けてのお気持ちをお聞かせください。
K.Y(エンジニア)
先進的なサービスということもあり、初めて触れる知識や概念も多く、新鮮な気持ちで業務に当たっています。
難しい点にも多く直面しますが、周囲の助言ももらいながら貪欲に知識を吸収し、困難な事象でも良い意味で楽しむ、という気持ちを忘れずに取り組んでいきたいと思います。
Y.T(エンジニア)
私は今回のプロジェクトを通して、まったく新しいことに挑戦するシステム開発のプロジェクトマネジメントの難しさに気付きました。
プロジェクトメンバーの間でも担当するチームや役割によって新しく習得するスキルの領域や深度が変わってくるため、従来通りのコミュニケーションでは認識齟齬が生まれやすかったり、そもそも言っていること、言われていることが通じていない場面がたくさんあります。
プロジェクト管理ソフトウェアなど、コミュニケーションを効率化する便利なツールは多々ありますが、地道な会話を通じて相手との認識のギャップがないことを丁寧に確かめながら、伝えたいことが相手に確かに伝わるような泥臭い努力が非常に大事だと感じましたし、続けていきたいと思います。
I.S(エンジニア)
改めて、部門や役職問わず相談ごとがしやすい社風だと感じています。直接的な回答を持ち合わせていなくとも、抑えるべきポイントをアドバイスしてもらえますし、一人で仕事をしているといった感覚ではなく組織全体が目標のためにチームで動いていると感じます。
また、プロジェクトを通して、当社の意思決定スピードの早さ、早さだけでなく的確さも感じています。我々もスピード感を持って取り組んでいきたいと思っています。
「マイクロサービスアーキテクチャに基づくシステム更改」について
マイクロサービスアーキテクチャとは、システムを構成する各アプリケーションを疎結合な構成にするアーキテクチャです。疎結合とある通り、システムを構成するアプリケーションが互いに強く結びつかず独立した形で成り立つことに特徴があります。そのため、いずれかのアプリケーションに修正を加えても、他のアプリケーションには影響を与えないことから、影響調査に必要な時間が短縮できたり、影響有無を確認するテスト範囲も小さくでき、改修コストの低下や開発スピードの向上といったメリットが期待できます。
また、オープンソースの無償ソフトウェアをもとにシステムを構築することで、サーバのスペックを向上したり、サーバの数を増やしても、ライセンス費用が増加することがないというのも大きな利点です。
今後BaaSを始め革新的なサービスを競合他社よりも素早くリリースし、お客さまからの信頼を得ていくために、システムの面でも先進的な取り組みを行っていきます。