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.

サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践

122 views

Published on

2017.5.23 de:codeで発表した資料です。

Published in: Technology
  • Be the first to comment

  • Be the first to like this

サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践

  1. 1. 久森 達郎(日本マイクロソフト株式会社) 吉田 真吾(株式会社セクションナイン)
  2. 2. http://readwrite.com/2012/10/15/why-the-future-of-software-and-apps-is-serverless/
  3. 3. クラウドの利用形態 ストレージ サーバー ネットワーク OS ミドルウエア 仮想化 データ アプリケーション ランタイム OS ミドルウエア データ アプリケーション ランタイム ユ ー ザ ー 管 理 アプリケーション データ ベ ン ダ ー 管 理 Azure 仮想マシンWindows Server Linux Azure App Service Office 365 ベ ン ダ ー 管 理 ユ ー ザ ー 管 理 ユ ー ザ ー 管 理 ベ ン ダ ー 管 理
  4. 4. PaaS の悩み アプリケーション データ Azure App Service ベ ン ダ ー 管 理 ユ ー ザ ー 管 理
  5. 5. Monolithic Frontend Middle tier Backend Microservice 1 Microservice 2 Microservice 3 Microservice 4 Microservice 5 Function 1 Function 2 Function 3 Function 4 Function 5 Function 6 Function 7 Function 8 Function 9 Function 10 Function 11 Function 12
  6. 6. Azure Functions On-demand serverless code Develop, debug, test, deploy in Visual Studio CI/CD support in Visual Studio Team Services and Github
  7. 7. https://github.com/Azure/Azure-Functions • Azure WebJobs SDK script - Azure Functions ランタイム • Azure WebJobs SDK - Azure Functions ランタイム コアとバインディング • Azure WebJobs SDK extensions - バインディング リポジトリ • Azure Functions CLI - Azure Functions CLI コマンドライン ツール • Azure Functions Portal - Functions 開発ポータル • Azure Functions templates - 各種 Functions テンプレート • Azure Functions samples - 各種サンプルコード リポジトリ
  8. 8. Azure Logic Apps On-demand serverless workflows 100+ data and app connectors built-in Integrated Visual Studio tooling
  9. 9.  ブラウザでワークフロー定義  “メールが来たらチャット通知 する”  “特定のツイートがあったら記 録して通知する”  Excelファイルがアップロード されたらCSV変換してテーブ ルに挿入する
  10. 10. サーバーレス開発で考えるべき4点 Design Develop Deploy Monitor
  11. 11. Design Design Develop Deploy Monitor
  12. 12. • • バインディング サービス トリガー インプット アウトプッ ト スケジュール Azure Functions ✔ HTTP (REST または Webhook) Azure Functions ✔ ✔ Blob Storage Azure Storage (Azure Storage) ✔ ✔ ✔ イベント Azure Event Hubs ✔ ✔ キュー Azure Storage (Azure Storage) ✔ ✔ キューとトピック Azure Service Bus ✔ ✔ Storage テーブル Azure Storage (Azure Storage) ✔ ✔ SQL テーブル Azure Mobile Apps ✔ ✔ NoSQL DB Azure DocumentDB ✔ ✔ プッシュ通知 Azure Notification Hub ✔ Twilio SMS テキスト Twilio ✔ SendGrid 電子メール SendGrid ✔ SaaS (Preview) Box ✔ ✔ ✔ Dropbox ✔ ✔ ✔ File System ✔ ✔ ✔ FTP ✔ ✔ ✔ OneDrive ✔ ✔ ✔ OneDrive for Business ✔ ✔ ✔ SFTP ✔ ✔ ✔ Google Drive ✔ ✔
  13. 13. /FB /FA Function A /FC API proxy endpoints HttpTrigger function endpoints Key: Design: APIを抽象化してまとめよう Function App A Function C/FC Function App C Function B/FB Function App B
  14. 14. /funcproc O365 App Insights /index.html Azure Functions Proxies /logicproc
  15. 15. Client - Browser - Program Trigger - HTTP - etc Function - Node - etc Function App 環境変数 ファイル - $req - $res リクエスト
  16. 16. Develop Design Develop Deploy Monitor
  17. 17. JavaScript  Use Visual Studio Code or any Node debugger C#  Visual Studio 2017 Tools for Azure Functions https://aka.ms/vs2017functiontools
  18. 18. Deploy Design Develop Deploy Monitor
  19. 19. Resource deployment • Azure Resource Managerテンプレートでデプロイ Content deployment • Visual Studio からデプロイ • Azure CLI (Logic App) からデプロイ • CI/CD (VSTS) 経由でデプロイ Safe deployment practices (New!) • WebAppsでおなじみのデプロイスロット機能が実装されました • AppService PlanならFunctionもBlue-Green Deploy可能に!
  20. 20.  デプロイ環境を複数作って、それぞれをスイッチさせることが可能 App Service Plan sample1.azurewebsites.net sample2.azurewebsites.net sample3.azurewebsites.net devスロット sample2-dev.azurewebsites.net testスロット sample2-test.azurewebsites.net prodスロット sample2-prod.azurewebsites.net stagingスロット sample2-staging.azurewebsites.net
  21. 21. Monitor Design Develop Deploy Monitor
  22. 22.  開発中や運用時、Function一つ一つの状況をみたいときに有効
  23. 23.  ライブメトリクスストリームが便利
  24. 24. イベントソース バッチ系ビッグデータ処理 分析パイプライン EVENT INGESTION ENGINE SQL DATA WAREHOUSE DATA LAKE STORAGE & ANALYTICS STREAM ANALYTICS WEB CUSTOM SERVICES ウェアラブル POS デジタル サイネージ ボット キオスク 端末 スマホアプリ センサー WORKFLOW ORCHESTRATION ENTERPRISE INTEGRATION CUSTOM INTELLIGENCE INTELLIGENT SERVICES CUSTOM FUNCTIONS MACHINE LEARNING COGNITIVE SERVICES
  25. 25. Azure IoT Edge IoT Hub Devices Local Storage Azure Machine Learning (Container) Container Management Device Twin Device Twin Azure Stream Analytics (Container) Azure Functions (Container) Cognitive Services (Container) Custom Code (Container) Module Twin Module Twin Module Twin Module Twin Module Twin Module Twin Module Twin Module Twin Module Twin Module Twin Functions Runtime
  26. 26. Ask the Speaker のご案内 本セッションの詳細は『Ask the Speaker Room』各コーナーカウンタにて ご説明させていただきます。是非、お立ち寄りください。
  27. 27. セッションアンケートにご協力ください  専用アプリからご回答いただけます。 decode 2017  スケジュールビルダーで受講セッションを 登録後、アンケート画面からご回答ください。  アンケートの回答時間はたったの 15 秒です!
  28. 28. © 2017 Microsoft Corporation. All rights reserved. 本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。

×