Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Operation and Management with Azure Functions.

2,589 views

Published on

Serverless Meetup Tokyo #2
で発表した内容。

Published in: Technology
  • Be the first to comment

Operation and Management with Azure Functions.

  1. 1. Operation and Management with Azure Functions. Serverless Meetup Tokyo #2 2017/01/17 Jun Kudo
  2. 2. Who? Name • Jun Kudo ( じゅん くどう ) Keyword • iret Inc. cloudpack • Microsoft MVP for Azure • 社団法人LOCAL(北海道) • 情報セキュリティ勉強会(江戸前、札幌) • オープンソースカンファレンス北海道 • JAZUG/JWASUG • Serverless • LinuxCon • ISOC-JP SNS • Facebook > level69 • Twitter > jkudo
  3. 3. Azure Functions
  4. 4. Azure Functions 超要約 AWSで言うLambdaみたいなもの(って誰かが言ってました EC2プラットフォームではなく、AppServiceプラットフォームを拡張したもの。 開発手法 言語:JavaScript、Node.js、C#、Python、PHP、F# スクリプト:Bash、Batch、PowerShell なかには:Perl、Rubyなんかも NuGetパッケージの導入も可能
  5. 5. Azure Functions DevOpsの統合(継続的インテグレーション) • Visual Studio Team Services • GitHub • BitBucket モニタリングやトラブルシューティングも行える。 価格(SLA99.95) 従量制課金 料金 無料提供(月々) 実行時間 ¥0.001632/GB 秒 400,000 GB 秒 総実行回数 100 万実行回数あたり ¥20.40 100万実行回数
  6. 6. 様々なバインド • タイマートリガー(スケジュール) • HTTP(RETS or Webhook) • BLOBストレージ(Azure Storage) • イベント(Azure Event Hubs) • キュー(Azure Storage) • テーブル(Azure Storage) • テーブル(Azure Mobile Apps) • NoSQL DB(Azure Document DB) • プッシュ通知(Azure Notification Hubs) • Twilio SMS テキスト(Twilio) • Box、DropBox、OneDrive、SendGridなど
  7. 7. シナリオ タイマーベースの処理 Azure サービスのイベント処理 SaaS イベント処理 サーバーレス Web アプリケーション アーキテクチャ サーバーレス モバイル バックエンド リアルタイム ストリーム処理 リアルタイム ボット メッセージング
  8. 8. さて本題です。
  9. 9. Serverless Serverlessを運用するのにサーバーを立てますか? Azure Functionsに限らず、AWS Lambda、Google Cloud Functionsでのログや、監視に大きな課題を抱えている。 Serverlessconf London 2016 : Patrick Debois氏 基調講演 実際に、Serverless開発しリリースを行ったら当然のように運用監視が 必要となります。
  10. 10. では Azure Functions ではどのように運用していくか 非常に多くのツールが用意されています。
  11. 11. Azure Functions ログの取得 Recent success count Recent errors count detailes
  12. 12. Azure Functions Pulse リアルタイムにグラフ化 • Executions Started/Sec • Executions Completed/Sec • Executions Failed/Sec • Avg. Execution Time(ms)
  13. 13. Azure Cli ログのTailが可能 azure site log tail -v <function app name>
  14. 14. Azure Powershell ログのTailが可能 PS C:> Get-AzureWebSiteLog -Name MyFunctionApp -Tail
  15. 15. でも、長期のログ可視化が 行えない。
  16. 16. ログの保存 実際は残っているけど。 可視化を行えない。
  17. 17. Application Insights project.json を用意する。 NuGetが実行され、 “Microsoft.ApplicationInsights ”: “2.2.0”を導入する。 App Service Settingを行う。 TimerトリガーのFunctionsを設定。 Application Insightsと連携 (Keyの指定)する。 最大90日の保存期間 それ以上も連続エクスポート機能によ りストレージに保存可能 1分精度は30日 1時間or1日精度は90日
  18. 18. Application Insights > Analytics 多彩なクエリによる分析 グラフ化を行える。
  19. 19. Application Insights > Alert 閾値の指定 メールによるアラート Webhookによるアラート 様々なサービスと連携できま す • PagerDuty • Datadog • Slack • etc ?
  20. 20. Application Insights > スマート検知機能 失敗の異常 機械学習による障害発生率のア ラート パフォーマンスの異常 応答時間、障害発生率の異常なパ ターンを毎日検索 Azureクラウドサービスの問題 サービスのアラート マイクロソフトのドキュメントより画像転載
  21. 21. さらに統合して運用管理を 行いたい場合
  22. 22. Microsoft Operations Management Suite (OMS) 様々なAzureサービスのログ を収集し解析できる。 • ログの解析 • アラートの設定 • PowerBIへプッシュ • オンプレとの統合 Application Insightsと連 携することができる。 マイクロソフトのドキュメントより画像転載
  23. 23. OMS Log Analytics > アラート Azure Automation による自動化 • Runbook マイクロソフトのドキュメントより画像転載
  24. 24. OMS Log Analytics > PowerBI PowerBIでの可視化 グラフ、Excelでエクスポート マイクロソフトのドキュメントより画像転載
  25. 25. まとめ Azure Functions を起点とし Serverlessな運用が可能 • Azure Functions 標準機能 • Application Insights • Microsoft Operations Management Suite (OMS) • サードパーティーサービスの連携 他にも取り上げなかった、Azureサービスとの柔軟な連携が可能
  26. 26. Thanks.

×