概要
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 が多数あるため、Excel にテストシナリオとデータを記述するだけでテストが実行できる仕組みを構築
効果
- API の仕様書と実体が一致し、誰でも API を間違いなくリリースできるようになった
- 誰でも任意のタイミングでテスト環境へリリースできるようになった
- F社にも簡単な説明でリリースして貰えるようになった
- 環境構築の手順が簡略化され、かかる時間も日単位で短くなった
- 誰が見ても分かるテスト仕様書でAPIのテストができるようになった
今後の展望
- データ連携基盤の継続的な運用、機能拡張、利用者拡大
- 他分野データ連携基盤の運用開始
- さらなる分野の拡大
適用技術
-
実行基盤
- 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
- フロントエンド