SlideShare a Scribd company logo
久森 達郎(日本マイクロソフト株式会社)
吉田 真吾(株式会社セクションナイン)
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
http://readwrite.com/2012/10/15/why-the-future-of-software-and-apps-is-serverless/
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
クラウドの利用形態
ストレージ
サーバー
ネットワーク
OS
ミドルウエア
仮想化
データ
アプリケーション
ランタイム
OS
ミドルウエア
データ
アプリケーション
ランタイム
ユ
ー
ザ
ー
管
理
アプリケーション
データ
ベ
ン
ダ
ー
管
理
Azure 仮想マシンWindows Server
Linux
Azure App Service Office 365
ベ
ン
ダ
ー
管
理
ユ
ー
ザ
ー
管
理
ユ
ー
ザ
ー
管
理
ベ
ン
ダ
ー
管
理
PaaS の悩み
アプリケーション
データ
Azure
App Service
ベ
ン
ダ
ー
管
理
ユ
ー
ザ
ー
管
理
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
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
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
Azure Functions
On-demand serverless code
Develop, debug, test, deploy in Visual Studio
CI/CD support in Visual Studio Team Services and Github
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
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 - 各種サンプルコード リポジトリ
Azure Logic Apps
On-demand serverless workflows
100+ data and app connectors built-in
Integrated Visual Studio tooling
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
 ブラウザでワークフロー定義
 “メールが来たらチャット通知
する”
 “特定のツイートがあったら記
録して通知する”
 Excelファイルがアップロード
されたらCSV変換してテーブ
ルに挿入する
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバーレス開発で考えるべき4点
Design Develop Deploy Monitor
Design
Design Develop Deploy Monitor
•
•
バインディング サービス トリガー インプット
アウトプッ
ト
スケジュール 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 ✔ ✔
/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
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
/funcproc
O365
App
Insights
/index.html
Azure Functions Proxies
/logicproc
Client
- Browser
- Program
Trigger
- HTTP
- etc
Function
- Node
- etc
Function App
環境変数
ファイル
- $req
- $res
リクエスト
Develop
Design Develop Deploy Monitor
JavaScript
 Use Visual Studio Code or any Node debugger
C#
 Visual Studio 2017 Tools for Azure Functions
https://aka.ms/vs2017functiontools
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
Deploy
Design Develop Deploy Monitor
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可能に!
 デプロイ環境を複数作って、それぞれをスイッチさせることが可能
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
Monitor
Design Develop Deploy Monitor
 開発中や運用時、Function一つ一つの状況をみたいときに有効
 ライブメトリクスストリームが便利
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
イベントソース
バッチ系ビッグデータ処理
分析パイプライン
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
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
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
Ask the Speaker のご案内
本セッションの詳細は『Ask the Speaker Room』各コーナーカウンタにて
ご説明させていただきます。是非、お立ち寄りください。
セッションアンケートにご協力ください
 専用アプリからご回答いただけます。
decode 2017
 スケジュールビルダーで受講セッションを
登録後、アンケート画面からご回答ください。
 アンケートの回答時間はたったの 15 秒です!
© 2017 Microsoft Corporation. All rights reserved.
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。

More Related Content

PDF
20170210 jawsug横浜(AWSタグ)
PDF
[AC08] 新世代のアーキテクチャに移行せよ。富士フイルムの事例に学ぶ、クラウドネイティブソリューションのビジョンと設計
PPTX
AWS Elastic BeanstalkとAWS Lambdaのご紹介
PDF
DatadogでAWS監視やってみた
PDF
[AC10] Azure Stack パート2 ~企業が求めるこれからのハイブリッドクラウド設計~
PDF
ハイブリッドクラウドの現実とAzureの使いどころ
PPTX
Azure Service Fabric 概要
PDF
Azure monitoring and alert v0.2.21.0707
20170210 jawsug横浜(AWSタグ)
[AC08] 新世代のアーキテクチャに移行せよ。富士フイルムの事例に学ぶ、クラウドネイティブソリューションのビジョンと設計
AWS Elastic BeanstalkとAWS Lambdaのご紹介
DatadogでAWS監視やってみた
[AC10] Azure Stack パート2 ~企業が求めるこれからのハイブリッドクラウド設計~
ハイブリッドクラウドの現実とAzureの使いどころ
Azure Service Fabric 概要
Azure monitoring and alert v0.2.21.0707

What's hot (20)

PDF
AWS Cloud Design Pattern for Enterprise
PPTX
NET 開発者のための Azure Service Fabric と、 Azure Container Service - 何が違うねん? -
PDF
コマンド1発でAzureにDC/OS環境を作る方法
PDF
[MW07] OSS on Azure で構築するモバイルバックエンド
PDF
[MW11] OSS on Azure で構築する ウェブアプリケーション
PPTX
15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ
PPTX
JAZUG Sendai Windows Azure Update 20131109
PPTX
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 入門編 -
PDF
[AC06] クラウド・ネイティブなスケーラブル・アプリ開発のために~12 Factor App on Kubernetes on Azure
PDF
Microsoft Azure 概要 (2015 年 4 月版)
PDF
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
PDF
それでもボクはMicrosoft Azure を使う
PPTX
PythonによるAzureサーバレスアプリケーション開発 / Serverless Application Development with Python
PDF
Azure 高速サイトソリューション
PDF
サーバレスアーキテクチャを実戦投入するにあたって知るべきこと
PDF
しみじみサーバーレス
PPTX
re:Invent 2021のS3アップデート紹介 & Glacier Instant Retrieval試してみた
PDF
ルーメン・テクノロジーズ エッジプラットフォーム Varnish・Node.js
PPTX
Azure Service Fabric概要
PPTX
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 応用編 -
AWS Cloud Design Pattern for Enterprise
NET 開発者のための Azure Service Fabric と、 Azure Container Service - 何が違うねん? -
コマンド1発でAzureにDC/OS環境を作る方法
[MW07] OSS on Azure で構築するモバイルバックエンド
[MW11] OSS on Azure で構築する ウェブアプリケーション
15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ
JAZUG Sendai Windows Azure Update 20131109
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 入門編 -
[AC06] クラウド・ネイティブなスケーラブル・アプリ開発のために~12 Factor App on Kubernetes on Azure
Microsoft Azure 概要 (2015 年 4 月版)
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
それでもボクはMicrosoft Azure を使う
PythonによるAzureサーバレスアプリケーション開発 / Serverless Application Development with Python
Azure 高速サイトソリューション
サーバレスアーキテクチャを実戦投入するにあたって知るべきこと
しみじみサーバーレス
re:Invent 2021のS3アップデート紹介 & Glacier Instant Retrieval試してみた
ルーメン・テクノロジーズ エッジプラットフォーム Varnish・Node.js
Azure Service Fabric概要
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 応用編 -
Ad

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

PDF
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
PPTX
Azure serverless!! azure functionsでサーバーを意識しない開発
PDF
ゆるふわAzure Functions
PDF
Azure Functions と Serverless - 概要と企業向け Tips
PDF
20190514 Smart Store - Azure servlerless architecture
PDF
Smart Store サーバーレスアーキテクチャ編
PDF
[Japan Tech summit 2017] APP 003
PDF
Azure Functionsでサーバーレスアプリケーション構築
PDF
Azure Functionsでサーバーレスアプリケーション構築
PDF
Serverless Architecture Overview #cdevc
PDF
Smart store servlerless-20191030-40min
PPTX
できる!サーバレスアーキテクチャ
PPTX
「Azure durable functions」の概要
PDF
[HAKODATE Developer Conference 2018] 「Azure Functions」で始めるサーバーレス アプリケーション開発
PDF
Azureをフル活用したサーバーレスの潮流について
PDF
20190731 Azure Functions x Line at Azure Tech Lab #4
PDF
May the FaaS be with us!!
PDF
サーバーレスで作る スマホアプリバックエンド
PDF
Azure App Service Overview
PPTX
Windows Azure Appfabric as "Middleware as a Services"
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
Azure serverless!! azure functionsでサーバーを意識しない開発
ゆるふわAzure Functions
Azure Functions と Serverless - 概要と企業向け Tips
20190514 Smart Store - Azure servlerless architecture
Smart Store サーバーレスアーキテクチャ編
[Japan Tech summit 2017] APP 003
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築
Serverless Architecture Overview #cdevc
Smart store servlerless-20191030-40min
できる!サーバレスアーキテクチャ
「Azure durable functions」の概要
[HAKODATE Developer Conference 2018] 「Azure Functions」で始めるサーバーレス アプリケーション開発
Azureをフル活用したサーバーレスの潮流について
20190731 Azure Functions x Line at Azure Tech Lab #4
May the FaaS be with us!!
サーバーレスで作る スマホアプリバックエンド
Azure App Service Overview
Windows Azure Appfabric as "Middleware as a Services"
Ad

More from 真吾 吉田 (20)

PDF
SageMakerでもAUTOMATIC1111したい
PDF
JAWSUG_yokohama_10yrs
PDF
アウトプットしよう これはあなたの成長の物語
PDF
ServerlessとNoOps
PDF
コミュニティ型組織でヒーローを育てる
PPTX
仮想サーバは、もう不要?!今からIoTやるなら 「サーバレス・コンピューティング」
PDF
アジャイルな開発組織のOKRベストプラクティス&アンチパターン
PDF
AWS re:Invent 2018 re:Cap
PDF
多様性・アジャイル・クラウドで変化に強いIT組織を作る
PDF
これからのクラウドネイティブアプリケーションの話をしよう
PDF
宇宙一早い AWS re:Invent 2018 re:cap
PDF
Architecting on Alibaba Cloud - Fundamentals - 2018
PDF
CYDASアジャイル開発状況報告LT
PDF
AWSによるサーバーレスアーキテクチャ
PDF
Kubernetesのない世界 すべてがサーバーレスになる
PDF
Storylineでデザインする心地よい会話体験
PDF
Kubernetes on Alibaba Cloud
PDF
Alexaスキルを作ろう
PDF
Serverless for VUI
PDF
VUXデザイナー
SageMakerでもAUTOMATIC1111したい
JAWSUG_yokohama_10yrs
アウトプットしよう これはあなたの成長の物語
ServerlessとNoOps
コミュニティ型組織でヒーローを育てる
仮想サーバは、もう不要?!今からIoTやるなら 「サーバレス・コンピューティング」
アジャイルな開発組織のOKRベストプラクティス&アンチパターン
AWS re:Invent 2018 re:Cap
多様性・アジャイル・クラウドで変化に強いIT組織を作る
これからのクラウドネイティブアプリケーションの話をしよう
宇宙一早い AWS re:Invent 2018 re:cap
Architecting on Alibaba Cloud - Fundamentals - 2018
CYDASアジャイル開発状況報告LT
AWSによるサーバーレスアーキテクチャ
Kubernetesのない世界 すべてがサーバーレスになる
Storylineでデザインする心地よい会話体験
Kubernetes on Alibaba Cloud
Alexaスキルを作ろう
Serverless for VUI
VUXデザイナー

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

Editor's Notes

  • #6: 【吉田追加】
  • #7: Evolution of “software” over time Happening across two main axis: Hardware abstraction: with HW virtualization, moving HW to the cloud, reducing HW operations with PaaS and Serverless. HW abstraction focuses on reducing the cost (time) of setting up and long term HW management. Basically, it takes about a minute to setup a VM that someone else manages, HW, for you. Software architecture: from Monolithic, to N-Tier, to Micro-Services (SOA), to Functions (Serverless). I will argue, that the main advances in Application Software architecture focuses on reducing the long term cost of maintaining complex software system. Everyone agrees that monolithic architecture approach, is supper inefficient over the long run because it is hard to test and verify changes and it just doesn't’t scale- Not from engineering or management. The move to smaller and smaller chunks of code that are self-contained is happening. The latest buz word such as MicroServices and Functions are a good example. If you think about it, Serverless is the first time we can actually use a single word, “Serverless”, to describe both the HW and Software improvments On one hand, everyone understands Serverless mean a fully managed, self-contained ; system that abstract the use of servers On the other hand, Everyone agree Serverless is event-based programing model
  • #12: 【吉田追加】
  • #13: 【吉田追加】
  • #14: 【吉田追加】
  • #16: 【吉田追加】
  • #19: 【吉田追加】
  • #22: 【吉田追加】
  • #23: 【吉田追加】
  • #24: Resources: https://docs.microsoft.com/en-us/azure/azure-functions/functions-best-practices
  • #27: Resource: https://docs.microsoft.com/en-us/azure/azure-functions/functions-proxies Bring multiple resources under a single API. Provide a single API definition which routes to various backends as needed. The real value of proxies is in versioning. Shim function B and eventually have slots+TiP. This enables true microservices development. You can mock something under the proxy and this enables development across the full system. Example: Function app A (exposing GET /FA) Function app B (exposing GET /FA) Function app C (exposing GET /FC) For a single host exposing GET /FA, GET /FB, and GET /FC add a proxy to function app A hosted at GET /FB then point this to the URL of /FB on Function App B.
  • #32: Core Tools used to be called Azure Functions CLI. This is now feature complete and commands are established with final release in next few months.
  • #33: Make text black in master.
  • #40: Resources: https://docs.microsoft.com/en-us/azure/azure-functions/functions-best-practices http://www.reactivemanifesto.org https://azure.microsoft.com/en-us/blog/microservices-an-application-revolution-powered-by-the-cloud/
  • #43: 【吉田追加】
  • #44: 【吉田追加】
  • #52: 【吉田追加】