Arcules、Cloud SQL で開発に専念できる環境を実現
Google Cloud Japan Team
※この投稿は米国時間 2021 年 1 月 22 日に、Google Cloud blog に投稿されたものの抄訳です。
編集者注: キヤノンのグループ会社である Arcules は、クラウドベースの映像監視、入退室管理、映像解析のすべてを 1 つに統合し、直感的に操作できる次世代のプラットフォームを提供しています。同社が Google Cloud SQL のフルマネージド サービスのメリットを活用し、社内のエンジニアがアーキテクチャの改善に取り組む時間を増やすことができた方法についてご紹介します。
Arcules は統合型のインテリジェントな Security-as-a-Service ソリューションのリーディング プロバイダであり、クラウド アーキテクチャの力を熟知しています。当社は、IP カメラや入退室管理デバイスをクラウド上の単一の統合プラットフォームから操作できるように、小売、サービス業、金融、プロフェッショナル サービスといった企業のセキュリティ リーダーを支援しています。これにより、セキュリティ リーダーは映像解析の結果から実行可能なインサイトを引き出して、より的確な意思決定につなげることができます。Arcules はオープン プラットフォーム モデルを基盤としているため、組織は Arcules のシステムで既存のカメラを使用できます。特定のメーカーに限定されないため、成長中の企業にとってスケーラビリティと柔軟性に優れたソリューションです。
当社は比較的新しい組織であり、私たちのサービスは Google Cloud 上で誕生しました。Google Cloud は MySQL のようなオープンソース ツールをサポートしているため、非常に短期間でサービスを立ち上げることができました。リリース当時は MySQL を多用していましたが、最終的にデータの大部分を PostgreSQL に移行しました。この移行は、セキュリティとデータ分離の両面において効果を上げています。
Arcules のデータの根幹
フルマネージドのリレーショナル データベース サービスである Google Cloud SQLは、当社のアーキテクチャにおいて重要な役割を担っています。Arcules が Cloud SQL に決めた最大の要因は利便性でした。Google Cloud のマネージド サービスがパッチ管理などのタスクを引き受け、見えない所で処理するため、このような管理タスクについて考える必要がなくなります。仮にアプリケーションを Google Kubernetes Engine(GKE)にデプロイして、自社だけで運用管理をしていたら、自分たちでアップデートや移行などの作業にうまく対処しなければならないでしょう。当社のエンジニアは、データベースへのパッチ適用ではなく、サービスのコードや機能の性能を向上させたり、不変のインフラストラクチャを維持、採用するためにその他のインフラストラクチャを自動化したりすることに時間を費やしています。Arcules の不変のインフラストラクチャには多数の自動化が含まれているため、すべてをクリーンかつ再現可能な状態に維持することが重要になります。
私たちの設定には Google Kubernetes Engine(GKE)上のコンテナ化されたマイクロサービスが含まれ、Cloud SQL Proxy のサイドカーを使用してデータに接続します。Arcules のサービスはすべて高可用性であり、マルチリージョン データベースを構築しています。その他ほぼすべては、バックアップとデプロイの観点から完全に自動化されています。マイクロサービスはすべてデータベースを直接処理します。社内の 5 つの部門すべてが業務で実際に Cloud SQL を使っており、そのうち 4 部門はサービスの構築を担当し、1 部門は補助的にサポートを行っています。
Arcules のデータ分析プラットフォーム(数世紀分もの映像データに対応)は PostgreSQL で開発しました。分析には大きく分けて、特定の場所の人の通行全体の計測と場所のヒートマップの 2 種類があります。Arcules のテクノロジーは地理情報に深く関連するため、交差地点には PostgreSQL 用の PostGIS プラグインを使用して、データに対して回帰分析を繰り返し行うことを可能にしています。ヒートマップに関しては、監視カメラが人を感知した場所の映像データをもとに、1 時間や 30 日間などの構成可能な期間に応じて、色付けしたマップを作成しています。そうすることで、たとえば、設定した期間中の建物内の主な通行地点や混雑地点に関する概要を顧客に表示できます。ヒートマップは集計クエリにより作成され、クエリはオンデマンドあるいは定期的な間隔のどちらか早い方のタイミングで実行されます。データベースへのクエリの結果を受けて作成されることもあれば、一定期間における集計データの要約として計算されることもあります。
また、ユーザー管理のために UI にログインしてからの追跡データを Cloud SQL に保存しています。遠隔ビデオなどのデバイスの制御に関するデータも追跡し、ユーザーがビデオカメラをビデオ管理ソフトウェアに接続した時刻や、入退室管理を追加した時刻などを記録できます。これらすべてが Cloud SQL を介してオーケストレートされているため、Cloud SQL は私たちの業務に不可欠です。Arcules はデプロイ パイプラインでデータベースを完全にインストルメント化することを進めており、最終的にはサイト信頼性エンジニアリング(SRE)のプラクティスを各部門に根付かせることを目指しています。
Cloud SQL を活用して専門業務に集中
地理的制約とデータ主権の問題のために、私たちはアーキテクチャの見直し、そしておそらく GKE または Compute Engine へのデータベースのデプロイを迫られています。ただ一つ確実に言えることは、引き続き Cloud SQL にできる限りデータベースをデプロイしていくだろうということです。Google にデータベース管理を任せれば、空いた時間を新しいソリューションの構築作業に有効活用できます。インフラストラクチャにさらに多くのタスクを対応させるにはどうすればよいのか、私たちは繰り返し考えています。Cloud SQL がデータベース管理タスクを行えば、私たちは本来の専門業務のために存分に時間を使うことができます。
Arcules とクラウドベースのサービスの詳細をご覧ください。フルマネージドのリレーショナル データベース サービスにご興味をお持ちの場合は、Cloud SQL の機能の詳細をご確認ください。
-クラウドおよびセキュリティ アーキテクト Benjamin Rowe
-Arcules SRE 責任者 Sakura Mizuno