20250510_JAZUG_Global Azure 2025_統合資格分析ダッシュボードサービスを作ってみた話

205 Views

June 08, 25

スライド概要

profile-image

博士(情報学)。2012年に修士号を取得した後、西日本電信電話株式会社に入社。プライベートクラウド基盤やアプリケーション開発を経験した後、様々な技術(NW、サーバ、クラウド、プログラミング)を組合せることで、データ活用を推進するためのプラットフォームを運営。2019年から社会人ドクターとして研究活動を行い、2023年に博士号を取得。「実社会に役立つデータ活用」を推進する技術者兼研究者。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

© 2025 NTT West Corporation. All Rights Reserved. 統合資格分析ダッシュボード サービスを作ってみた話 ーAzureとFabricのコラボレーションー JAZUG Global Azure 2025 2025/5/10 高須賀 将秀

2.

© 2025 NTT West Corporation. All Rights Reserved. 2 /16 自己紹介 たかすか まさひで 高須賀 将秀 博士(情報学)(2023/3) 研究分野:組合せ最適化,数理最適化,オペレーションズ・リサーチ(OR),グラフ理論 所属:NTT西日本 デジタル改革推進部(2021/8~), 法政大学 デザイン工学部 兼任講師(2024/4~),個人事業(Udemy講師等)(2024/6~) 業務:データドリブン経営を牽引する立場 ・データ活用基盤のシステム開発 ・データ分析手法の研究 ・データ分析活用事例の提案 ・デジタル人材育成 資格:クラウド資格(AWS 15/15,MCP 39/48,GCP 12/12), Microsoft Top Partner Engineer Award(2024), AWS All Certifications Engineers(2024) 高須賀将秀のホームページ

3.

© 2025 NTT West Corporation. All Rights Reserved. 3 /16 私の研究(博論)内容 ◼ 与えられた全ての工事に対して立会者の割当を決定する問題である ◼ 移動距離や立会者のスキル等の様々な条件を考慮し割当を決定している ◼ 条件は万人共通の条件もあれば手配者の思考や嗜好によって異なるものもある 入力 出力 工事4 工事1 1 工事2 4 手配者 工事5 2 1 工事6 3 工事7 工事8 8 工事9 6 工事5 数理モデル 5 工事6 工事3 手配者 の思考/嗜好 = 7 工事2 4 2 5 工事3 立会者1~4 工事4 工事1 立会者4 3 工事7 立会者1 7 立会者2 工事8 ブラックボックス 化 8 工事9 9 9 立会者3 6

4.

© 2025 NTT West Corporation. All Rights Reserved. 4 /16 私の研究(博論)内容 ◼ 高度な技能を有している手配者により意思決定が行われている工事立会者手配 業務に対し実用的な手配結果を算出可能な数理モデルを構築した 長期効果 短期効果 付随効果 過去の工事立会者手配業務 デジタルデータ活用による工事立会者手配業務 人件費 年間1億(関東エリア:年間6万件) 年間0.1億(関東エリア:年間6万件)(想定) 品質 年間工事事故5件 年間工事事故0件(想定) 総移動時間 11,424 s(3.2 h) 11,593 s(3.2 h)※1 総割当ペナルティ 163 pt 81 pt※1 手配時間 3時間2回/1日 5分×2回/1日 やり方 アナログ(手書き) デジタル 手配結果 ※1:数理モデル4で総移動時間を重視すると, 総合移動時間10,697 s, 総品質146 ptとなる.

5.

© 2025 NTT West Corporation. All Rights Reserved. 5 /16 JAZUGネタ一覧 • データ活用ネタ • データ活用基盤の開発~運用・運営 • • EntraとかPF(PowerAutomate,PowerBI)を利用 SnowflakeからAOAI(Azure Open AI)を連携した話 • 数理最適化を使ったデータ活用 • • Microsoft Fabric,Azure App Serviceとかを利用 数理最適化体験アプリケーションの構築 • 数理最適化を活用したNW設計業務への変革 ←なんでもCopilot(日程未定) ←すきやねんAzure拡大号(6/27) • 資格分析ダッシュボードサービスを作ってみた話 ← 今回 • 人材育成ネタ • Microsoft Applied Skillsを用いた実践的なクラウド人材育成 • Multi Cloud 検証環境の運営を一人でやっている話 • ←前回JAZUG#52(2/19) Azure,AWS,Google Cloud,OCI,Snowflakeが利用可 • その他 • MCPとMAS(Microsoft Applied Skills)をいろいろ取得してみた話

6.

© 2025 NTT West Corporation. All Rights Reserved. 6 /16 統合資格分析ダッシュボードとは • 複数の資格管理サービスを横断的に統合・分析できるサービス Azure Credly Accredible GCP 今回対象外 AWS https://credly-data-analyzer.azurewebsites.net/ Lecos MS Learn ※検索結果データ(もともと公開データ)はFabricにてデータ収集される旨ご了承ください BK plan GCP https://st-app-credly-504242909255.asia-northeast1.run.app/ AWS https://credly-data-analyzer.49evafhcg41s4.ap-northeast-1.cs.amazonlightsail.com/

7.

© 2025 NTT West Corporation. All Rights Reserved. 7 /16 利用方法 統合資格分析ダッ シュボード(Azure) • 各資格管理サービスのURLに表示されるユーザ名を打ち込む • 後程のデモで利用するため,ご協力お願いします! Username Credly Accredible Locos ★

8.

© 2025 NTT West Corporation. All Rights Reserved. 8 /16 サービスを作ったきっかけ(モチベーション・課題) • 資格管理サービスが複数あり、管理しづらい 1 • 有効期限の管理 • そもそもどの資格を保持しているかの管理 2 • Credlyで発行機関順のソート機能がなくなり管理しづらい • 資格取得数が多く,ロードに時間がかかる(該当の資格を探すのに時間がかかる) 3 • ALL Certの提示時に困る • 取得した資格のデータ分析を行うことで次の資格取得のモチベーション向上 1 2 3 統合資格分析ダッ シュボード(Azure)

9.

© 2025 NTT West Corporation. All Rights Reserved. 9 /16 アーキテクチャ 統合資格分析ダッ シュボード(Azure) ・Fabricのデータを用いてデータ可視 化(今回は未対象,Frontの Streamlitで実装) ・App Service(Container)利用 ・Scrapingでchromedriver利用 ・Fabricへのデータ書き込みでodbcド ライバ利用 ・GrapthAPIを利用してFabricに取得データ を書き込み ・Fabricへの認証にEntra IDを利用

10.

© 2025 NTT West Corporation. All Rights Reserved. 10 /16 App Service(Container) 統合資格分析ダッ シュボード(Azure) • App Service にはContainer とCode の2種類あるが,独自ミドルウェア・ツールチェイン対応 (chromedriver,odbc driver)が必要なため,App service(Container)を採用 • 独自ミドルウェア・ツールチェイン対応が不要な場合,簡単にデプロイ可能なApp Service(Code) を使うことをお勧めする Build Run Runのみ app.py ・Streamlit GUI ・Scraping ・Fabric書き込み ・データ可視化 等 requirements.txt ・selenium ・webdrivermanager 等 Dockerfile ・chromedriver ・odbc driver ・依存関係 等 Docker File Docker Image Docker Container

11.

© 2025 NTT West Corporation. All Rights Reserved. 11 /16 (参考)他のAzureコンテナサービスとの比較 統合資格分析ダッ シュボード(Azure) 項目\サービス Azure Function App Service(Code) App Service (Container) Container Apps (コンテナーアプリ) AKS 抽象度 (IaaS~FaaS) 非常に高い FaaS 高 PaaS 高 PaaS 中 PaaS / サーバーレス 低 IaaS寄り 主な用途 イベント駆動バッチ / 軽量 API 標準的なWebアプリ,API カスタム環境のWebアプリ マイクロサービス,API群 複雑な分散システム,MLな ど 実行単位 関数単位 Webアプリ単位 コンテナ単位(Webアプリ) コンテナ単位 コンテナ群単位 スケーリング トリガーベースで自動 自動 or 手動 自動 or 手動 KEDAでイベントベース自動 HPAなどで手動構成 デプロイ形式 ZIP, Git, CI/CD ZIP, Git, CI/CD Dockerイメージ Dockerイメージ Dockerイメージ 環境カスタマイズ 非常に制限あり 中程度(App Settings程 度) 高 高 非常に高い(完全制御) 使えるランタイム .NET, Python, Node, PowerShell .NET, Java, Python, Node.js 任意(自前で構築可能) 任意(自前で構築可能) 任意(自前で構築可能) 開発生産性 高 非常に高 高(Docker構築は必要) 中(CLIやYAML理解必 要) 低(K8s知識が前提) スタートアップ時間 速い(ただしコールドスタート あり) 速い 速い やや遅め 初期は遅め 運用のしやすさ 非常に簡単 簡単 簡単(レジストリ管理あり) 中(Revisionなどの考慮) 複雑(SRE的な運用要) コスト管理 安い(従量課金) 中~ 中~ 柔軟(スケーリングで削減) 高(常時VM稼働)

12.

© 2025 NTT West Corporation. All Rights Reserved. 12 /16 Scraping 統合資格分析ダッ シュボード(Azure) ロード中

13.

© 2025 NTT West Corporation. All Rights Reserved. サービス利用のデモ動画 13 /16 統合資格分析ダッ シュボード(Azure)

14.
[beta]
© 2025 NTT West Corporation. All Rights Reserved.

14 /16

Fabricへのデータ書き込み

統合資格分析ダッ
シュボード(Azure)

• 外部からFabricのウェアハウスにデータを書き込む
• SQLエンドポイント,データベース名,Entra IDのアカウント,
PASSが必要
def get_fabric_connection():
try:
# ODBC接続文字列の構築
conn_str = (
f'DRIVER={{ODBC Driver 18 for SQL Server}};'
f'SERVER={SERVER};'
f'DATABASE={DATABASE};'
f'UID={USERNAME};'
f'PWD={PASSWORD};'
f'Encrypt=yes;TrustServerCertificate=no;Authentication=ActiveDirectoryPass
word;'
)
return pyodbc.connect(conn_str)
except Exception as e:
st.warning(f"Microsoft Fabricへの接続エラー: {str(e)}")
return None

コード抜粋①

# レコード挿入
if issue_date_str:
cursor.execute(f"""
INSERT INTO {schema_name}.{table_name}
(id, platform, username, credential_name, issuer, issue_date,
image_url, update_date)
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
""", id_value, platform, username, credential_name, issuer,
issue_date_str, image_url, now_str)
else:
cursor.execute(f"""
INSERT INTO {schema_name}.{table_name}
(id, platform, username, credential_name, issuer, image_url,
update_date)
VALUES (?, ?, ?, ?, ?, ?, ?)
""", id_value, platform, username, credential_name, issuer, image_url,
now_str)

コード抜粋②

15.

© 2025 NTT West Corporation. All Rights Reserved. 15 /16 Fabricへのデータ書き込み 統合資格分析ダッ シュボード(Azure) • 更新を押すとFabric側のデータを手動更新可能 更新 UTC表記でJSTと13h時差あり Fabric のGUI

16.

© 2025 NTT West Corporation. All Rights Reserved. まとめ • 統合資格分析ダッシュボードサービスとそのアーキテクチャ,構築 方法について解説した • App Service を始めとした,コンテナサービスの使い分けについ て解説した • 外部からFabricのウェアハウスにデータを書き込む方法について 解説した • 次回,数理最適化×クラウド(Azure,Fabric)を活用した 話に乞うご期待! 16 /16