社会のニーズは常に変化しています。昨日まで求められなかったものが明日からは必要になる――その時に事業を対応させられるかどうかが、企業の行く末を左右することになるのです。

いつ、どんなものが新たな価値になるのか。これを正確に予測することは困難です。ただ、事業の対応力を高めることはできます。一例を挙げましょう。社会で今稼働しているシステムは、多くがサービスごとにデータベースを用意しています。この "1 対 1" の関係を "1 対多" にするだけでも、先述した対応力を劇的に変えられるのです。

高い技術力を武器に数々の高品質なサービスを展開するエムティーアイは、2019 年 6 月、Azure Databricks、Azure Data Factory、Azure Cosmos DBを 利用して、気象情報を集約したデータ基盤を構築。気象情報を複数サービスが利用できる環境を用意しました。同社の提供するヘルスケアサービスや観光情報サービスは単体でも高い魅力を持ちますが、気象情報と組み合わせればいっそうその価値を高めることができます。to C 向けの既存サービスだけでなく、新規事業や顧客からの要望で気象情報が必要になる場合であっても、即座に応えることが可能。この取り組みは、エムティーアイという企業の対応力を一層引き上げることに繋がっています。

データベースの "構築" から、データの "利用" へ

女性の一生をサポートする健康情報サービス「ルナルナ」、音楽・動画・書籍を配信する総合サイト「music.jp」など、エムティーアイは世に知られた数々の Web サービスを提供しています。同社では自社サービスを通じて得たスキル セットを基に、受託開発も展開。法人や官公庁から得る高い支持は、同社の技術力の証だといえます。

この他にもエムティーアイの技術力を示す好例があります。新サービスの提供や既存サービスの機能拡張、アライアンスによるシステム連携など、同社は毎月 10 件前後のニュース リリースを公開しています。中には数十件を数える月もあり、高い技術力無しにはこれほどのリリースは行えないでしょう。

迅速にサービスをリリースできるのには、エンジニアの技量以外にも理由が存在します。株式会社エムティーアイ テクノロジー本部 システムアーキテクト部の佐藤 好浩 氏は、クラウドをキーワードにこう話します。

「よほどのことが無い限り、当社ではサービス基盤にクラウドを利用しています。機器の調達が不要ということも勿論狙いにありますが、本旨は別の所にあります。『サービス』とこれを提供するための『仕組み』、この関係性を "1 対 1" から "1 対多" へと変えれば、開発プロセスを大幅に圧縮できるのです。私たちのチームでは API によるサービス間連携を強化しており、サービスで開発した機能を積極的に横展開しています。標準化できる仕組みはどんどん共有していく。そうすれば当然リリースまでの期間は短縮できますし、独自性を出すべき領域にエンジニアの開発リソースを割くことが可能となります」(佐藤 氏)。

サービスをまたがって仕組みを共有していく。これは機能に限った話ではありません。エムティーアイではデータ領域においても、"1 対多" という方針を適用しています。同社は 2019 年、Azure Databricks、Azure Data Factory、Azure Cosmos DB を利用して、複数サービスが横断的に気象情報を利用できるデータ基盤を用意。サービス単位でデータベースを "構築" するのではなく、各サービスがデータ基盤にある気象情報を "利用" する形へと、IT の在り方を変えつつあるのです。

株式会社エムティーアイ テクノロジー本部 ソフトウェアデベロップメント部の新村 哲也 氏は、この取り組みの狙いを説明します。

「近年、特定のサービスが抱えるデータを別サービスでも利用したいという要望が増えています。一例を挙げましょう。当社は『ライフレンジャー』というサービスを提供しており、ここでは天気に関する情報を扱っています。データ活用可能な形で加工後の気象情報を用意しておけば、例えば乗り換え情報や交通情報をナビする『乗り換えMAPナビ』で天気をアナウンスしたいとなった場合でもすぐここへ対応できるのです。アプリケーションを作るだけで済むわけですから、既存サービスに転用するだけでなく、気象情報を利用した新たなサービスもどんどん増やしていけます。ニーズが生まれた場合に即座に対応できる。データ基盤を構築することは、こうした事業の対応力、俊敏性を高める上で有力な策だと考えます」(新村 氏)。

エムティーアイでは新村 氏が例に挙げた気象情報について、既にこれをデータ基盤上で集積しています。気象情報だけでなく全ての情報を DWH 化することが理想ですが、気象情報単体でみても同取り組みには大きな意義がありました。

世の中にある気象予報は、ほとんどが気象予報士の分析に基づいたものです。エムティーアイが「ライフレンジャー」等で利用している情報も気象予報士の分析に基づいたものであり、高い精度を持つことが 1 つの特徴です。ただ、一方で、人がその都度で必要なデータを集めて分析すると、どうしても結果が得られるまでに時間がかかります。

株式会社エムティーアイ ライフ・エンターテインメント・スポーツ事業本部 ライフ事業部 新規事業開発室の土肥 啄史 氏は、気象情報を集約したデータ基盤は、今挙げた課題に対する解決策を生み出し得るとし、このように述べます。

「既にある精度の高い気象予報と他のビッグデータを掛け合わせ、新しい価値を生み出すことが、私たちが関わる領域において今後重要になると考えています。例えば、1 つ考えられるのが AI の活用です。データと AI を掛け合わせたアルゴリズムによって "即座の結果出力" を可能にし、人による分析とは別の選択肢を世に提供する。AI の開発に必要な学習データを蓄積したデータ基盤であれば、それが実現できると考えます。また、AI × 気象による課題解決を様々なサービスで利用すれば、これまでに見当もつかなかった新しい価値を社会に周知させていくことができると考えます。あくまで 1 例ではありますが、データ基盤を構築することでサービスの幅は格段に広がると考えています」(土肥 氏)。

  • 株式会社エムティーアイ 佐藤好浩氏、新村哲也氏、土肥啄史氏
  • 気象情報を扱うサービス「ライフレンジャー」
  • ゲリラ豪雨検知アプリの「3D雨雲ウォッチ」
  • エムティーアイでは、「ライフレンジャー」(上) やゲリラ豪雨検知アプリの「3D雨雲ウォッチ」(下) など、気象情報を扱うサービスを既に複数提供している。それぞれが持つ気象情報をデータ基盤に集積すれば、同様の情報が別サービスでも取り扱えるようになる。さらに、AIなどによって新たな事業の可能性を広げることにも繋がる

マイクロソフトの技術支援が、データ基盤の構築を成功に導く

既述の通り、エムティーアイは高い技術力を有する企業です。しかしそんなエムティーアイをしても、データ基盤を構築するのは容易ではなかったといいます。

佐藤 氏は、「サービス開発に関してはプロフェッショナルだと自負しています。ただ、"データの蓄積" を目的としたシステムを開発する、それもここまで大規模なものを作るのは、当社として初の試みでした。」と語り、気象情報はこの構築を困難にする要素を内包していたと述べます。

気象に関する情報としてまず挙げられるのに、気象庁が NetCDF と呼ばれる形式で公開するデータがあります。このデータは dimensions (次元)、variables (変数)、attribute (属性) 等の情報から構成されており、緯度・経度・時間をもった 3 次元空間に気温や風速といった値を格納するという、特有の形式を持ちます。

「NetCDF だけでもかなり複雑なのですが、この他にも image 形式の衛星画像や突風に関するテキスト形式のデータ等、データ基盤に集約すべき情報は多岐に渡ります。複雑かつ形式の異なるデータ群を基にして汎用的なテーブルを構築する。データ基盤の経験に乏しい私たちだけで、果たしてこれができるのか。そんな不安がありました。」(佐藤 氏)。

エムティーアイが本プロジェクトで Microsoft Azure (以下、Azure) を利用した背景には、この不安が強く関わっています。これについて、佐藤 氏はこうしたサービスとしての有用性以上に評価した事があったとし、このように述べます。

「2018 年の de:code に参加した際、データ基盤関連のサービスの豊富さから、『この領域では Azure が抜けている』という印象を持ちました。Azure Data Factory と Azure Databricks を利用すれば形にはできそうだと、そう感じたことを覚えています。ですが、先ほども述べた不安から、中々ここへ着手することができずにいました。そんな折、マイクロソフトより、同社エンジニアと一緒にアーキテクチャ設計、ジョブのロジックを議論して POC まで行う Hackfest の場を提供いただきました。当社において、データ基盤の構築にはクラウド環境だけでなくスキルセットも必要でした。マイクロソフトはこの両者を提供してくれる。マイクロソフトとならばプロジェクトを成功に導くことができる。そう判断し、採用を決めたのです」(佐藤 氏)。

データ基盤向けの Azure ファミリーを駆使することで、データの処理性能とコストの最適化を両立

佐藤 氏とともにプロジェクトに臨んだ株式会社エムティーアイ テクノロジー本部 システムアーキテクト部の平野 氏は、マイクロソフトの技術支援があったことで最適なデータ基盤を構築できたと笑顔を見せます。エムティーアイはどのような設計によって、複雑かつ多様な形式を持つデータ群を統合したのでしょうか。

株式会社エムティーアイ テクノロジー本部 ソフトウェアデベロップメント部 ソフトウェアデベロップメント1部の髙橋 一希 氏は、佐藤 氏、平野 氏とともに、データ基盤の設計ポイントをこう説明します。

「今回、最終的にはデータを Azure Cosmos DB と Azure Data Lake Storage Gen2 に集積していますが、ここに至るデータ フローはファイルの配信で起動する『Event Pattern』とスケージュールされた間隔によって起動する『Schedule Pattern』の 2 種を用意しています。配信間隔が長い、もしくは早めに反映したいデータには『Event Pattern』を利用し、その他は情報ソースごとに定義した間隔で『Schedule Pattern』によって複数ファイルを一度に取り込む。これにより、気象情報に求められる要件に合わせた処理性能と、運用上のコストを最適化しているのです」(髙橋 氏)。

「Azure Data Factory では、GUI 上でドラッグ & ドロップしていくだけでこのジョブ プロセスを定義していくことができます。2 種のデータ フローを用意するという複雑なプロセスではありましたが、それほど頭を悩ませずに設計していくことができましたね。また、Azure ファミリーの持つ高い連携性もポイントです。例えば、Azure Databricks ではデータ種類ごとの処理を Notebook というものに記載するのですが、Azure Data Factory は自動でこれを抽出してくれます」(平野 氏)。

「非構造化データが多いこと、RDB で必要となるリレーション設計の負荷を減らしたかったことを理由に、今回 Azure Cosmos DB にチャレンジしました。実は Azure Cosmos DB では "性能が出ないのでは?" と疑問を抱いていました。ただ、データに合わせた最適な構造の設計、Azure Databricks との親和性の高さ、前出した 2 種のデータ フローによって、システム全体として十分以上の性能が担保できています。また、これは余談ですが、Azure Databricks ではAzure Blob Storage や Azure Data Lake Storage Gen2 などのストレージを、まるでローカル環境下にあるようにスムーズにマウントできます。ストレスなく開発作業が進められるため、かなり気に入っています」(佐藤 氏)。

  • 株式会社エムティーアイ 平野祐一氏、髙橋一希氏
  • データ基盤のアーキテクチャ設計。「Schedule Pattern」「Event Pattern」という 2 つのデータ フローを通じてデータが集積されている1
  • データ基盤のアーキテクチャ設計。「Schedule Pattern」「Event Pattern」という 2 つのデータ フローを通じてデータが集積されている2
  • データ基盤のアーキテクチャ設計。「Schedule Pattern」「Event Pattern」という 2 つのデータ フローを通じてデータが集積されている。平野 氏は、「最適な設計を採れば Azure Cosmos DB は高い性能を出せる。このことは、本プロジェクトにおける 1 つの発見でした。」と語った。

  • Azure Data Factory では、GUI ベースでデータ基盤のジョブ プロセスを設計、制御することが可能。 ※画像は、マイクロソフトのサイトで公開しているサンプル画面

    Azure Data Factory では、GUI ベースでデータ基盤のジョブ プロセスを設計、制御することが可能
    ※画像は、マイクロソフトのサイトで公開しているサンプル画面

技術力、そして "データそのもの" が自社の武器になる

処理性能の高さは、データをストレスなく各サービスで利用できることを意味します。これを実現するデータ基盤を構築した本プロジェクトは、エムティーアイがデータ基盤に集積する情報を気象情報以外にまで拡大していく上で、大きなモデル ケースとなりました。

さらに、このプロジェクトは、事業部門と開発部門の距離をより近づけることにも繋がったといいます。髙橋 氏と土肥 氏は、このように語ります。

「当社では、開発部門と事業部門がチームになって各サービスを開発・運用しています。ただ、両者のスキル セットにはギャップがありますから、これまでどうしても認識に齟齬が出たりプロジェクト進捗が上手く共有できなかったりしました。今回、アーキテクチャの設計やロジックの開発にあたって Azure DevOps を利用したのですが、優れた GUI によって両者の認識を統一できたように感じます。開発にあたっては事業部門側の意思決定が無いと先に進められないことが多々ありますから、最初の構築だけでなくその後の CI/CD (継続的インテグレーション / 継続的デリバリー) にあたっても、Azure DevOps は有用です」(髙橋 氏)。

「事業部門はサービスのフロントに立っているため、社会のニーズの変化をいち早く拾えます。ただ、拾ったニーズは迅速にサービスに反映していかないと意味を持ちません。Azure DevOps を一種の共通言語にすることで、我々のリクエストをすぐに開発部門に伝えることができる。過不足なくこれを反映してもらえる。地味かもしれませんが、事業の速度を維持向上する上では極めて重要なことだと考えています」(土肥 氏)。

  • Azure DevOps では、Dashboardsを通して開発の状況を表示することが可能

    Azure DevOps では、Dashboardsを通して開発の状況を表示することが可能

  • プロジェクトの各工程の進捗を可視化するウィジェットもあり、CI/CD を加速させるための様々なサービスを提供している

    プロジェクトの各工程の進捗を可視化するウィジェットもあり、CI/CD を加速させるための様々なサービスを提供している

アーキテクチャと体制の強化。本プロジェクトを通じてこの両軸から事業スピードを加速したことは、取り組みの大きな成果だと言えるでしょう。新村 氏は、エムティーアイの持つ対応力、俊敏性をもって今後より事業を発展させていくとし、構想をこう述べました。

「データ基盤の情報を活用するのは、当社だけに限りません。我々は自社開発だけでなく、お客様のサービス開発にも携わっています。これまでは技術力への評価から当社へ開発を依頼いただいてきましたが、今後はデータという価値もここへ付与していくことができます。Azure を利用してデータ基盤を構築したことは、当社の事業を飛躍させる大きな 1 歩になると考えています」(新村 氏)。

エムティーアイは他に類を見ないスピードでサービスをリリースし続けています。新村 氏は、データ基盤の拡大を進めていけば、今以上のクオリティのサービスをリリースしていけると語ります。IT の在り方を変革し事業スピードを大きく加速させたエムティーアイ。未来の見通しが立てにくいこれからの時代にあっても、同社は高い価値を社会に提供し続けてくれるはずです。

  • 株式会社エムティーアイの皆様

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