フォトブック作成サービス「Photoback(フォトバック)」を提供するコンテンツワークスは、20年にわたってオンプレミスで稼働してきたシステム環境をクラウド化しました。当初はリフト&シフトのアプローチで段階的にクラウド化する計画でしたが、さまざまな課題に直面することになりました。そこで採用したのが、オンプレから一気にPaaS化するアプローチです。この取り組みの内容をAzureのプロフェッショナル集団として知られるゼンアーキテクツの支援とともに紹介します。

高い品質とデザイン性が特徴の「Photoback」

日本で初めて Web上でフォトブックを作成できるサービス「Photoback」を2004年にリリースし、写真や思い出をテーマにしたデザイン性の優れたコンテンツを提供するコンテンツワークス。Photobackはサービス提供から20周年を迎え、個人向けだけでなく、法人向けフォトブック作成サービス「Photoback for Biz」や、子供向けのさまざまなリアル体験を検索・予約できるサービス「Famiful(ファミフル)」なども提供し、人気を博しています。

Photobackの魅力は、 Web上で自分が作成したフォトブックが、商用印刷物のようなおしゃれな仕上がりと美しいレイアウトで製本され届けられることにあります。その利用シーンはさまざまであると、コンテンツワークスの北林 孝美 氏と加治屋 志歩 氏は話します。

「特別なイベントの思い出をかたちにして残すといった使い方だけでなく、子供の成長を記録したり、ペットとの日常を切り取ったりと、さまざまな使い方がされています。コロナでおうち時間が増えたときは、サービスの利用時間、注文数は大きく増えました。若い方を中心に、紙焼きの写真に新しさを感じる方も増えています」(北林 氏)。

「お客様のライフステージに合わせて、長く利用されるサービスになってきたと感じています。ハネムーンの写真を使って最初のフォトブックを作ったお客様が、今度は出産や育児で撮った写真を使って新しいフォトブックを作るといったケースも多いです。印刷データは削除せずにすべて保存し続けているので、前回のフォトブックを見て作ることもできます」(加治屋 氏)。

このように、ユーザーに寄り添ってサービスを成長させてきた同社ですが、システム面では課題があったといいます。その課題の解消のために取り組んだのが、PhotobackサービスをMicrosoft Azure(以下、Azure)のPaaSサービスへと全面移行することでした。

  • コンテンツワークス株式会社 北林 孝美 氏

    コンテンツワークス株式会社 北林 孝美 氏

  • コンテンツワークス株式会社 加治屋 志歩 氏

    コンテンツワークス株式会社 加治屋 志歩 氏

クラウドへのリフト&シフトで抱えた3つの悩み

コンテンツワークスでは、基本的にすべてのシステムを内製で開発しています。システムは、Windows Server、SQL Server、VB/C# など .NET Frameworkを活用したWindowsベースのシステムで、サービス当初からオンプレミスで稼働させてきました。開発と運用は役割として分かれてはいますが、同じ担当者がそれぞれの業務を担うことも多く、チームとして一体的に推進する体制をとっています。

Photobackの成長とともに、データ容量の増大やアクセス増によるパフォーマンス低下、システムの運用管理などが課題になってきたため、2021年に写真データを保存するストレージシステムをクラウドに移行しました。

当時の取り組みについて、北林 氏は「写真データなどの画像アップロードの仕組みを、オブジェクトストレージのAzure Blob StorageとサーバレスサービスのAzure Functionsを使って一新しました。ユーザーがAzureのストレージに直接画像をアップロードできるようにしてパフォーマンスを高め、フォトブック作成をよりスムーズに行えるようにしたのです。その後、オンプレに残ったシステムをAzureにリフト&シフトする計画でしたが、そこで新たな悩みを抱えるようになりました」と振り返ります。

クラウドへのリフト&シフトで抱えた悩みは、大きく3つありました。1つめは、クラウドにリフト&シフトしただけではインフラの運用管理作業が残ることです。

「物理サーバー上でWindows Serverの仮想マシン約40台を稼働させていました。リフト&シフトしただけでは、セキュリティパッチ適用や障害対応、アプリケーションの監視作業などはそのまま残ります。メンテナンスは毎月末の早朝6時から実施していましたが、PaaS化を終えるまでは、新しい開発と並行してそうした運用や保守を行う必要があり、負担が増える懸念がありました」(加治屋 氏)。

2つめは、リフト&シフトではPaaS化のメリットを享受するまで時間がかかることです。

「2年でリフト&シフトを行い、それから3年くらいかけてPaaSに移行していく計画でした。新しいアプリケーションをすぐにでも開発したいのに、PaaS化が終わる5年後を待っていては事業価値の向上につながらないのではとの不安がありました」(加治屋 氏)。

3つめは、PaaSに関する知識や、PaaSの活用ノウハウが社内にほとんどなかったことです。 IaaSとしてリフト&シフトすることはできても、その後どのようなサービスをどう組み合わせればいいかのポイントがわからなかったといいます。

「『リフト&シフトして安心してしまいPaaS化まで進まない』という事態は避けたいと思っていました。さまざまな情報を収集するなかで、以前からSNSをフォローしていた.NET界隈で有名なゼンアーキテクツの芝村さんが発信する情報に勇気づけられていました。『リフト&シフトではなく、オンプレから一気にPaaS化すべき』と説いていたのです。私たちもリフト&シフトの課題を解決すべくマイクロソフトさんに相談しました。そんなときマイクロソフトさんから紹介されたのが、偶然にも芝村さんと同じゼンアーキテクツの三宅さんでした」(北林 氏)。

最初のハッカソンで最もPaaS化が難しいサービスのMVPを開発

当時を振り返り、ゼンアーキテクツの三宅 和之 氏は次のように話します。

「出会いはまったくの偶然でしたが、会ってみたらそれぞれが事情を知っていて、それならとまずはAzureについてのディスカッションを実施しました。それから数週間後の2022年6月に弊社のAzure Light-upに参加いただきました。 Azure Light-upは、アイデアソンからアーキテクチャ案の構想、MVP(Minimum Viable Product)を使った開発、レビューと評価までを2日~3日間で実施するハッカソンです。 Azure Light-upでコンテンツワークスさんが抱えていた実際の課題の解決に取り組み、PaaS化までの具体的な道筋を確認したのです」(三宅 氏)。

  • 株式会社ゼンアーキテクツ 代表取締役三宅 和之 氏

    株式会社ゼンアーキテクツ 代表取締役三宅 和之 氏

Azure Light-up で取り組んだのは、PaaS化が最も難しく、かつ、最も効果が得られる部分のMVP開発で、これが大きな転機となりました。ゼンアーキテクツの芝村 達郎 氏は、難しい部分から潰すのがセオリーであると言い、「Photobackで特徴的なのが、印刷や文字組などのレンダリング系でした。この部分をPaaS化できれば、スピード、拡張性、柔軟性といったPaaSのメリットを享受できるようになります。そこでまず、レンダリング系サービスのPaaS化に取り組みました」と語りました。

  • Light-up初日に描かれたPaaS化の構想

    Light-up初日に描かれたPaaS化の構想

  • ホワイトボード上で白熱した議論が行われた

    ホワイトボード上で白熱した議論が行われた

テクニカルQAサポート『ZEN Advisor』をフル活用して、PaaS化を超短期で実現

実際に3日間でMVPを開発し終えたときは、参加メンバー全員がPaaSの魅力に取り憑かれ、興奮状態になったといいます。

「 Azure Light-upを通して、サービス全体をPaaS化できると確信することができたのです。帰りの電車のなかでみんなが頭をフル回転させてPhotobackの未来を語った記憶があります。それからすぐにゼンアーキテクツさんのQAサポートサービスである『ZEN Advisor』を契約し、わからないことや困り事をすぐに相談できるようにしました。芝村さんをはじめとするゼンアーキテクツのエキスパートのみなさんからは、アーキテクチャの設計からインフラの移行、アプリケーションの改修方法、データベースの移行のベストプラクティス、DevOpsやCI/CD(継続的インテグレーション/継続的デリバリー)、IaC(Infrastructure as Code)など、知識としては知っていたものの実践できていなかったさまざまなことをアドバイスいただきました」(北林 氏)。

ZEN Advisorには、問い合わせと回答のための専用サイトが用意されており、Azureだけでなく C# や GitHub、データベース、Terraform などの周辺技術も含めて幅広いサポートをしてくれました。そこで行われたやりとりは200件を超えたといいます。加治屋 氏は「調査に時間がかかっていた障害対応も、ゼンアーキテクツさんに相談したらすぐに原因を見つけてくれるなど、本当に至れり尽くせりな対応をしてくれました」と言い、サポート内容も驚くほどの手厚さであると評価しました。

ゼンアーキテクツはMicrosoft ソリューションパートナーとして製品や技術に詳しいことはもちろん、Microsoft MVP(Most Valuable Professional)受賞者を多数擁するなど、マイクロソフト製品開発に対する技術貢献度が非常に高いパートナーです。コンテンツワークスは、そんな同社が提供するZEN Advisorを活用したことによって既存システムのPaaS化を一気に進めることができました。

PaaS化にあたって利用したAzureの主なサービスは、Azure SQL Managed Instance、Azure Cosmos DBなどのデータベース、Blob Storage、Static Web Apps、Azure App ServiceやAzure Front Doorなどのフロント系サービス、Azure FunctionsやAzure Event Hubsなどのデータ処理サービス、Application Insights、Azure Monitorなどの監視系サービスなどです。

また、GitHub Actionsを活用したCI/CD環境の構築や、Terraformを使ったAzureサービスの自動デプロイ環境も整備しました。

これらにより、知識ほぼゼロの状態のため5年でのPaaS化を計画していたところを、わずか1年という超短期で実現することができたのです。

  • PaaS移行後のシステム構成図

    PaaS移行後のシステム構成図

PaaS化で得られた3つの効果

2023年6月、オンプレミスで稼働していたPhotobackサービスのPaaS化が完了しました。サービスとして安定稼働を続けていることはもちろん、PaaS化によって大きく3つの効果を得ることができたといいます。

1つめは、アプリケーション開発に集中できるようになったことです。マネージドサービスのPaaSを利用することで、これまで必要であったハードウェアの運用保守、OSやミドルウェアの運用管理、セキュリティパッチの適用などの業務が不要となりました。また、自動化の取り組みも一層進み、設定ファイルを手動で更新するといった手間の削減にもつながりました。

「オンプレミスの環境では、セキュアなことと運用しやすいことはトレードオフになりがちでしたが、PaaSに移行したことでセキュアかつ運用しやすい環境を実現することができました。毎月のメンテナンスは不要になり、さまざまなサービスを使って高いセキュリティを確保できています。その結果、事業価値向上につながるようなアプリケーション開発に集中できるようになったのです」(北林 氏)。

2つめは、サービス品質を高めるための障害解析がしやすくなったことです。

「これまではユーザーのアクセス情報などをログとして収集し、時間をかけて分析していました。Azureが提供しているサービスを組み合わせると、そうしたさまざまな情報をダッシュボード上に整理してわかりやすく可視化できます。障害の特定も素早くできるようになり、会員の満足度を高めるようなパフォーマンスの分析もしやすくなりました」(加治屋 氏)。

3つめは、サービス展開における拡張性が得られたことです。特にインフラのPaaS化にともなってCI/CDパイプラインなどのDevOps環境やTerraformによるインフラのデプロイ環境もあわせて整備したことで、市場やユーザーの変化を捉えた開発がしやすくなりました。

「生成AIなどのサービスを組み込むことで、新しい付加価値が埋めないかなど検討を始めているところです。お客様のニーズを見ながら、そうした新しい技術を活用していきたいと考えています」(北林 氏)。

  • 株式会社ゼンアーキテクツ Distinguished Engineer 芝村 達郎 氏

    株式会社ゼンアーキテクツ Distinguished Engineer 芝村 達郎 氏

心強いサポートによって、ワクワクしながら取り組んだPaaS化

当初5年計画だったPaaS化をわずか1年という超短期で実現したことで、よりスピード感を持って次の取り組みを進めることができるようになったため、ビジネス面でも大きな成果につながったといいます。この点について北林 氏は、ゼンアーキテクツのAzure Light-upやZEN Advisor、そしてエンジニアの力を高く評価します。

「ゼンアーキテクツさんのサポートがなければ、この短期間でのPaaS化は実現していなかったと思います。もしかしたらリフト&シフトした後にPaaS化まで進まずに止まっていたかもしれません。ゼンアーキテクツのみなさんはいつも楽しそうに熱量をもってAzureの話をされるので、一緒に取り組みを進めるなかで、われわれエンジニアはいつもワクワクしていました。不安を感じたときも『きっとなんとかしてくれるだろう』とセーフティネットのように感じていましたし、ベストブラクティスを提案してくれるからこそ安心してチャレンジができたと思っています」(北林 氏)。

これに対し芝村氏も、サービスを一緒に運営している気持ちで、ゴールを共有しているためやりがいを感じながら取り組んでいると述べ、また外部にいるからこそ的確なアドバイスができると語った。

「Azureのサービスは環境によって得手不得手があります。ここで使ってはいけないというサービスをお勧めはすることはしません。また、PaaSはIaaSよりも付加価値が乗っている分、提供コストが高くなりやすいです。ユーザーの立場でみるとコストはできるだけ安いほうがいいので、サービスの開発状況をみながら現状での最適な構成を採用し、コストを最適化していくことがPaaS活用のポイントです」(芝村 氏)

三宅氏も、PaaS化によってコスト最適化の余地はIaaSよりも大きくなると指摘します。

「例えば、C#の開発環境にフレームワークのASP.NET Coreを採用することでアプリケーションのパフォーマンスを数倍にしながら、開発コストを数分の1にするといったことも可能です。PaaS化したら終わりではなく、むしろ改善の余地はPaaS化してからが本番です。PaaSで土台をつくり、そのうえで新しい取り組みをどんどん行っていきます。これからもっと楽しくなるということです」(三宅 氏)

当初はオンプレミスから直接PaaS化することに、ハードルの高さを感じていたコンテンツワークス。そんな同社がわずか1年でPaaS化を実現できた背景には、オンプレミスからのスムーズな移行を可能にするAzureの各種サービス、そしてZEN Advisorをはじめとするゼンアーキテクツのきめ細かな伴走支援がありました。

今後もコンテンツワークスの新しいチャレンジをゼンアーキテクツとともに、マイクロソフトは支えていきます。

[PR]提供:日本マイクロソフト