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.

Azure Functions と Serverless - 概要と企業向け Tips

1,545 views

Published on

Tech Summit 2017 #APP003

Published in: Software
  • Be the first to comment

Azure Functions と Serverless - 概要と企業向け Tips

  1. 1. Microsoft Tech Summit 2017
  2. 2. Keiji Kamebuchi pnop Inc. https://buchizo.wordpress.com/ https://azure.moe/ @kosmosebi Microsoft MVP for Azure Microsoft Regional Director buchizo@kosmosebi
  3. 3. 2017年11月9日
  4. 4. 大事なこと *
  5. 5. Server-less
  6. 6. Serverless Architecture * *
  7. 7. コード イベント + データ Azure Functions
  8. 8. 関数  トリガー  バインディング
  9. 9. Azure Functions = Serverless な FaaS
  10. 10. Triggers Input Bindings Output Bindings
  11. 11. バインディング トリガー
  12. 12. 種別 サービス トリガー インプット アウトプット スケジュール (Timer) Azure Functions ✅ - - HTTP (REST / Webhooks) Azure Functions ✅ - ✅* Blobストレージ Azure Storage ✅ ✅ ✅ キュー Azure Storage ✅ - ✅ テーブル Azure Storage - ✅ ✅ テーブル Azure Mobile Apps Easy Tables - ✅ ✅ NoSQL Database Azure Cosmos DB ✅ ✅ ✅ ストリーム / イベント Azure Event Hubs ✅ - ✅ Push通知 Azure Notification Hubs - - ✅ *
  13. 13. 種別 サービス トリガー インプット アウトプット キュー / トピック Azure Service Bus Queue / Topic ✅ - ✅ SaaS ファイル Box ✅ ✅ ✅ SaaS ファイル Dropbox ✅ ✅ ✅ SaaS ファイル OneDrive ✅ ✅ ✅ SaaS ファイル OneDrive for Business ✅ ✅ ✅ SaaS ファイル FTP - ✅ ✅ SaaS ファイル SFTP - ✅ ✅ SaaS ファイル Google Drive - ✅ ✅ SendGrid email SendGrid - - ✅
  14. 14. 種別 サービス トリガー インプット アウトプット SMS テキスト Twilio - - ✅ Excel テーブル Microsoft Graph - ✅ ✅ OneDrive ファイル Microsoft Graph - ✅ ✅ Outlook メール Microsoft Graph - - ✅ Microsoft Graph イベント Microsoft Graph ✅ ✅ ✅ 認証トークン Microsoft Graph - ✅ - *
  15. 15. 1st Support * .bat などから実行できるランタイムがあれば他の言語も動作は可能(未サポート)
  16. 16. .NET Core 2.0 (C#, F#) Java https://github.com/Azure/azure-webjobs-sdk-script/wiki/Azure-Functions-runtime-2.0-known-issues
  17. 17. https://blogs.msdn.microsoft.com/appserviceteam/2017/09/25/develop-azure-functions-on-any-platform/
  18. 18. https://github.com/Azure/azure-webjobs-sdk-script https://github.com/projectkudu/AzureFunctionsPortal https://github.com/Azure/azure-webjobs-sdk-templates
  19. 19. * ** * Consumption Plan では利用不可 ** Consumption Plan のみ
  20. 20. ↑ App Service にもある機能 Functions 固有の設定 →
  21. 21. Azure Functions /proxy1 /proxy2 /proxy3 http[s]://<otherfunc>/api/func1 http[s]://<webapps>/api/api1 http[s]://<othersite>/hook1 /mock Request/Response 上書処理
  22. 22. https://docs.microsoft.com/ja-jp/azure/azure-functions/durable-functions-overview
  23. 23. 無料ですぐに始められます  https://functions.azure.com/?trial=true * ** Visual Studio 15.3 (Update 3) 以降 + Azure 開発ワークロードが必要
  24. 24. SCM を使用して CI/CD その他
  25. 25. Azure Resource Manager を使用したデプロイ  https://azure.microsoft.com/ja-jp/resources/templates/?term=functions
  26. 26. Application Insights 連携
  27. 27. Consumption Plan
  28. 28. Azure Functions 専用のプラン 実行に必要なコンピューティング リソースを Azure が管理 • インスタンスのスケールなど利用者が管理しなくてよい • 実行された時間 実行回数 https://azure.microsoft.com/ja-jp/pricing/details/functions/
  29. 29. 3.75 GB-s 使用GB-sは制限をかけることが可能(毎日UTC 0:00にリセット) * 制限を超過した場合、Function App は停止
  30. 30. Authentication/Authorization Azure Functions Function Azure ADなど Azure Storage Authentication/ Authorization アプリの登録
  31. 31. using System.Net; using System.Threading; public static HttpResponseMessage Run(HttpRequestMessage req, TraceWriter log) { var identity = Thread.CurrentPrincipal.Identity; return identity == null ? req.CreateResponse(HttpStatusCode.BadRequest, "none") : req.CreateResponse(HttpStatusCode.OK, "Your ID: " + identity.Name); }
  32. 32. https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/resources/webhooks
  33. 33. * ユーザーのフロー内で 連携 (直接・間接) バックグラウンド フロー内で連携
  34. 34. * * • Azure Functions ランタイム** 使いどころは要検討
  35. 35. Azure Stack VNET Hybrid Connections
  36. 36. https://github.com/Azure/azure-webjobs-sdk/wiki/Creating-custom-input- and-output-bindings * Azure Functions Runtime 2.0 (Beta) が必要 ご利用は計画的に
  37. 37. Azure Functions は Serverless 盲信しない・適材適所
  38. 38.  Durable Functions (より高度な利用)  Application Insights
  39. 39. Azure Functions は Microsoft が提供する Serverless な関数実行プラットフォーム(FaaS) 企業内システムでも威力を発揮 Try Azure Functions! https://functions.azure.com/?trial=true
  40. 40. ■  https://azure.microsoft.com/ja-jp/services/functions/  https://azure.microsoft.com/ja-jp/documentation/services/functions/ ■   http://stackoverflow.com/questions/tagged/azure-functions   https://social.msdn.microsoft.com/Forums/azure/en- US/home?forum=azurefunctions   https://github.com/Azure/AzureFunctions
  41. 41. Session ID Title APP004 Visual Studio Team Services を使った Serverless のための 継続的デリバリ

×