【事例】公共系データ連携基盤構築支援

概要

IoT データを活用するためのデータ連携基盤の構築を支援。Azure 上に構築し、認証機能提供、API 実装、性能チューニングを実施。環境構築、API テスト、API 仕様の公開など DevOps のための高度なオートメーションも実現した。

API 仕様を表現したモデルからデータ連携基盤へ API を登録可能にするなどの拡張も行い、さらなる活用分野の拡大を目指している。
 

顧客の目的

  • IoT データ連携基盤を構築・運用する
  • 当初適用分野以外にも利用を拡大する
     

顧客のビジネスドメイン

  • 公共系
     

支援内容

データ連携基盤実装

  • API 認証の実装
    • Azure AD B2C のアクセストークンによる API 認証を実装
    • 独自認証のアクセストークンの発行/認証を実装
  • API 呼び出しの性能改善
    • 負荷テストを行い、ボトルネックの原因を究明 (DBコネクションのオープン数、イベントハブのコネクション数) 、解消
  • SensorThings 互換 API の提供
    • OGC SensorThings 互換の API を実装
  • ポータルサイトの構築
    • CMS(Kentico) を使って API の仕様を公開可能に
  • 公開マニュアル等のドキュメント記述

他分野データ連携基盤実装

  • データ連携基盤の利用支援
    • チーム内でのデータ連携基盤の使い方の指導と制限事項の伝達
  • システム管理系、業務共通系のモデリング
  • システム管理系、業務共通系のAPI設計・実装
  • モデリングツール Enterprise Architect のモデルから API を登録するツールの開発
    • モデリングした API 仕様からデータ連携基盤に API を登録可能に
  • Azure 環境構築の自動化と構築
    • 複数の環境を構築することになるので ARM テンプレートを作成して構築
  • DevOps 環境の構築
    • 開発するアプリ毎に DevOps パイプラインを構築
  • API 自動テスト化
    • API が多数あるため、Excel にテストシナリオとデータを記述するだけでテストが実行できる仕組みを構築
       

効果

  • API の仕様書と実体が一致し、誰でも API を間違いなくリリースできるようになった
  • 誰でも任意のタイミングでテスト環境へリリースできるようになった
    • F社にも簡単な説明でリリースして貰えるようになった
  • 環境構築の手順が簡略化され、かかる時間も日単位で短くなった
  • 誰が見ても分かるテスト仕様書でAPIのテストができるようになった
     

今後の展望

  • データ連携基盤の継続的な運用、機能拡張、利用者拡大
  • 他分野データ連携基盤の運用開始
  • さらなる分野の拡大
     

適用技術

実行基盤

  • Azure

Azureで使用している主なクラウドサービス

  • 認証:Azure Active Directory B2C
  • ロギング:Azure Application Insights
  • アプリケーション実行:Azure App Service、Azure WebJobs、Azure Functions
  • ストレージ:Azure Cosmos DB、SQL Database Elastic Pool、Azure BLOB Storage、Azure EventHub、RedisCache
  • その他:Azure FrontDoor、SendGrid (メール)

開発言語

  • C#

フレームワーク

  • .Net Framework 4 系、Asp.Net MVC 5 系, .Net Core 3 系

環境構築

  • ARM テンプレート

CI/CD

  • Azure DevOps
  • Backlog

コラボレーション

  • Microsoft Teams

モデリング

  • Enterprise Architect

API 設計

  • Swagger

フロントエンド

  • Vue.js
     

適用サービス