富士フイルムソフトウエア株式会社の導入事例:GCP の導入で安定稼働のオーダー管理システムを 3 か月半で構築。コンテナ技術で優位性の高い Google Kubernetes Engine で 10 年使える統合基盤を実現
Google Cloud Japan Team
富士フイルム株式会社(以下、富士フイルム)の製品・サービスの価値を高めるソフトウエアの開発、および IT インフラ サービスを事業とする富士フイルムソフトウエア株式会社(以下、富士フイルムソフトウエア)。富士フイルムのネットショップ『FUJIFILM Prints & Gifts』のバックエンド刷新を担当したキーマン 4 名に、コンテナ技術を採用したプロジェクトの取り組みについて話を伺いました。
1990 年 9 月の設立以来、医療システム、写真プリント システム、デジタル カメラ、印刷システムなど、富士フイルムの主力システム製品の企画から運用保守まで、製品のライフ サイクル全体にわたるソフトウエアの開発を事業として展開。
利用している Google Cloud Platform サービス
Google Compute Engine、Google Kubernetes Engine、Google Cloud Storage、Google Stackdriver、Google BigQuery、Cloud SQL、Cloud Pub/Sub、Google Cloud Functions など
写真左から
- サービス本部 ITソリューショングループ
ネットサービスソリューションチーム 渕田 行彦 氏 - ソフトウエア開発本部 イメージングソリューショングループ
研究員 小林 大助 氏 - ソフトウエア技術本部 基盤技術グループ 宮石 仁紀 氏
- サービス本部 ITソリューショングループ
ネットサービスソリューションチーム 杉山 淳一 氏
富士フイルムが運営するネットショップのバックエンドを GCP で刷新
富士フイルムでは、以前よりイメージング領域において、オンライン プリント ビジネスを展開。写真のプリント、フォトブックやポストカードの作成、パネル加工、写真の変換・保存、グッズ作成、カメラや写真用品の購入が可能なネットショップ『FUJIFILM Prints & Gifts』を運営しています。ここで必要なシステムを、富士フイルムソフトウエアが開発しています。
「富士フイルムのネットショップは、サービス開始 20 周年を迎え、老朽化したシステム全体を刷新することを決定します。富士フイルムソフトウエアでは、オーダー管理システム(以下、OMS)と呼ばれるバックエンド システムの開発を担いました。小林さんは、「OMS も 10 年以上が経過し、アーキテクチャが老朽化していました。」と話します。
旧システムは、オンプレミスで稼働しており、また、内容を理解している技術者も少なくなり、メンテナンスの負荷が大きくなっていました。そこで、オンプレミスからクラウドに移行することを決定します。
「機能が分散していた OMS を一元化し、今後 5 年、10 年利用できる統合基盤を作ることが必要でした。」(小林さん)
AI や IoT、クラウド技術の製品適用など、最先端技術をいち早く取り込み、製品の差別化やスピーディな新サービス開発を目指す富士フイルムソフトウエアでは、ネットショップの OMS の刷新にあたり、基盤となるクラウド サービスとして、Google Cloud Platform(GCP)が採用されています。
フロント エンドの変化に柔軟に対応する OMS(バックエンド)を Google Kubernetes Engine で実現
ネットショップのフロント エンドは、新たなイベントやキャンペーンなどの実施に伴い、新機能が追加されるなどの変化が頻繁に発生します。こうしたフロント エンドの変化に対し、OMS も柔軟かつ迅速に対応することができる高い拡張性が求められました。そこで有効になるのが、コンテナ技術の活用でした。マイクロサービス アーキテクチャにより、変化に強いバックエンドを作ることがコンテナ技術を利用した目的でした。「コンテナ技術の利用にあたり、オーケストレーション ツールである Kubernetes を使うことで運用を効率化できます。そこで 2018 年 1 月~ 3 月の期間で、いくつかのサービスを実際に動かし、技術検証をした結果、Google Kubernetes Engine(GKE)の採用を決めました。Kubernetes は、Google がはじめたオープン ソースで、GKE は技術的な優位性が高いと感じたこと、また当時 GKE だけが正式サービスだったことも採用の決め手でした。」(小林さん)
「GKE は、Google が自社サービスで利用している実績があるので、安心して利用することができました。」と小林さん。さらに OMS では、GCP の他のサービスも活用したシステム構成となっています。今回、コンテナ サービスである GKE をベースにして、ストレージ サービスとして Google Cloud Storage、ログ分析や監視ツールとして Google Stackdriver と Google BigQuery の組み合わせ、外部データベースとして Cloud SQL、メッセージング サービスとして Cloud Pub/Sub を採用。また、システム間連携用には、Google Cloud Functions というように、マネージド サービス中心で構成し、IaaS でしか実現できない機能は、Google Compute Engine を採用し、それぞれの機能に適したサービスで運用コストが最小限になるように設計。
検証作業と並行して構築はしていたものの、GCP の導入を決めて、実質 3 か月半という短期間で OMS を構築。2018 年 7 月に無事にローンチしています。小林さんは、「今回、構築した OMS は、バージョン 1 にあたるもので、今後、バージョン 2、バージョン 3 と進化させる計画です。すべてを一気に刷新するのではなく、段階的な刷新を進めていくための基盤づくりが目的で、数年かけてオンプレミスを撤廃する計画です。」と話しています。
今回、OMS の刷新に GCP を採用した最大の効果は、システムの安定稼働です。杉山さんは、次のように話します。「以前のシステム構築では、稼働後に運用の問題が発生することがありましたが、GCP はほとんど問題がなく、非常に安定して稼働しています。アラートが来ることもないので本当に助かっています。事前に検証したこともありますが、運用実績があるマネージド サービスを多用していることが背景にあります。」
また、宮石さんは、「弊社では、PaaS(マネージド サービス)を活用した、開発のリードタイム短縮や運用コスト ダウンに取り組んできました。今回、OMS の移行先として GKE を試行し、有用性が確認できました。今後の開発でも、GKE を 1 つの選択肢として検討したいと思います。」と語ります。
「オンプレミスでは、アプリ開発とインフラ運用が分断されている部分があります。お互い協力関係はあるものの、それぞれの分野を優先してしまうためです。今回、上流工程からがっちり手を組んで開発を進めました。クラウド サービスを使った開発は、開発と運用の境目が曖昧になることがありますが、開発と運用の連携のモデルケースを作ることができ、結果として DevOps 的な開発手法を実践できました。」(杉山さん)
さらに Google のサポートについて、渕田さんは、次のように話します。「GCP は初めての利用だったので、基本的な質問も多かったのですが、丁寧にサポートしてもらえました。問い合わせのレスポンスも速く、弊社の業務を理解した適切なアドバイスにより選択肢が増え、視野が広がりました。急ぎの場合には、電話対応もしてもらえましたし、Google のサポート担当者は、とにかく技術力が高く安心感がありました。」
「週 1 回のオンラインによる打ち合わせなど、手厚いサポートを提供してもらえました。かなり無理なお願いにも快く対応してもらい、専任の技術者にサポートしてもらえたことも評価しています。現在は、GCP の勉強会もしてもらっています。Google のサポートがなかったら、プロジェクトの成功はなかったと思っています。」(宮石さん)
今後の展望を小林さんは、次のように話します。「今回、良い事例ができたので、社内に横展開していきたいと思っています。まだ詳しいお話はできませんが、すでに GKE を使いたいプロジェクトが 2 つくらいあります。」
また宮石さんは、「まだ検討段階ですが、店舗に設置されているキオスク端末などのログを収集し、AI や機械学習で分析して、新たな価値を創出していきたいと思っています。これにより、コールセンター業務の効率化や、アップセル / クロスセルの精度向上による、さらなる売上拡大などが期待できます。医療機器のトラブルの予兆を捉えることにも利用できるかもしれません。単なる PaaS であれば、他社のクラウドでもできますが、コンテナや AI、機械学習、ビッグデータなどの先端技術を利用するのであれば、GCP が有効だと考えています。」と話しています。
その他の導入事例はこちらをご覧ください。