Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Azure Serverless overview and updates 2019
miyake
July 27, 2019
Technology
0
210
Azure Serverless overview and updates 2019
「MVP x Student
[email protected]
つくば 」で発表させていただいたスライドです。
miyake
July 27, 2019
Tweet
Share
More Decks by miyake
See All by miyake
祝 🎉 両方とも正式リリース! GitHub Codespaces と Nuxt3 で次世代開発体験 / codespaces-nuxt3
miyake
0
860
Static Site Generator でサイト構築 / building sites with static site generator
miyake
1
96
Design and implementation of Cosmos DB Change Feed-centric architecture
miyake
0
540
Well-Architected Framework を活用した Azure 設計パターン / azure-well-architected-framework
miyake
2
1k
2020 年下半期 Cosmos DB の更新まとめ
miyake
0
440
Front-end web applications with Azure Static Web Apps
miyake
0
420
Azure Static Web Apps で実現する Serverless CMS / Serverless CMS with Azure Static Web Apps
miyake
2
1.5k
Hack Azure! #1 - Azure Serverless でオンライン決済基盤をつくる / hack-azure-1
miyake
1
470
Azure PaaS/Serverless の最新情報をキャッチアップしよう / Azure PaaS and Serverless Update
miyake
1
1.2k
Other Decks in Technology
See All in Technology
Dev Containers ことはじめ - 失敗から学ぶ開発環境運用法
streamwest1629
0
290
WebLogic Server for OCI 概要
oracle4engineer
PRO
3
840
もし本番ネットワークをまるごと仮想環境に”コピー”できたらうれしいですか? / janog51
corestate55
0
150
OVN-Kubernetes-Introduction-ja-2023-01-27.pdf
orimanabu
1
230
Raspberry Pi Camera 3 介紹
piepie_tw
PRO
0
110
OpenShiftのリリースノートを整理してみた
loftkun
2
230
立ち止まっても、寄り道しても / even if I stop, even if I take a detour
katoaz
0
150
プログラミング支援AI GitHub Copilot すごいの話
moyashi
0
280
230125 モニターマウントLT ITガジェット翁(Ryu.Cyber)さん
comucal
PRO
0
1.5k
Media JAWS 2023/1
matsuihidetoshi
1
100
USB PD で迎える AC アダプター大統一時代
puhitaku
2
1.6k
Multi-Cloud Gatewayでデータを統治せよ!/ Data Federation with MCG
tutsunom
1
150
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
346
17k
Code Review Best Practice
trishagee
50
11k
Thoughts on Productivity
jonyablonski
49
2.7k
Learning to Love Humans: Emotional Interface Design
aarron
263
38k
Fashionably flexible responsive web design (full day workshop)
malarkey
396
63k
A better future with KSS
kneath
230
16k
The Invisible Side of Design
smashingmag
292
48k
Visualization
eitanlees
128
12k
Robots, Beer and Maslow
schacon
154
7.3k
In The Pink: A Labor of Love
frogandcode
132
21k
Automating Front-end Workflow
addyosmani
1351
200k
How to name files
jennybc
47
73k
Transcript
Azure Serverless 最新情報(2019 年夏編) MVP x Student
[email protected]
つくば
About Me 三宅 和之 @kazuyukimiyake 株式会社ゼンアーキテクツ CTO Microsoft MVP (
for Microsoft Azure ) Vue.js ⽇本ユーザーグループ コアスタッフ typescript-jp コアスタッフ PaaS がかりの部屋(Blog): https://k-miyake.github.io/blog/
Serverless とは Serverless = BaaS ( Backend as a Service)
+ FaaS ( Functions as a Service) martinfowler.com 記事
Serverless のねらい "サーバーが無い" ではなく "サーバーの運⽤管理がほぼ不要" という概念 インフラに費やす時間やリソースを最⼩限に抑えるアプローチ "⾃分のコード(ビジネス)" のみに集中できる
Azure Serverless ファミリー Azure Functions だけが Serverless ではない (⼀部便乗っぽいサービスもあるが) Serverless
ラインナップは拡⼤中
Serverless アーキテクチャ例#1 センサーデータやクリックストリームのデータ処理フローを”⼿軽に”構築 動画(くらでべ - de:code 2019 DP81): https://youtu.be/qBmNi3ZrsUk
Serverless アーキテクチャ例#2 グローバルにスケールするアプリケーションを最⼩限のコードで構築 MS 本社の エンジニア Matias が Azure Friday
でデモを実施したアーキテクチャ 動画( Azure Friday )https://youtu.be/cfZUiVQIhTw
キーテクノロジー: Azure Functions バインディングによりコード量が⼤幅に減る C# だけではない( Node.js オススメ! ) OSS
として開発されている- https://github.com/Azure/Azure-Functions V2 に進化した
トリガーとバインディング (おさらい) トリガー: イベントに応じて Function を発⽕ バインディング: データの⼊出⼒をラッピングする
Azure Functions は V2 へ進化(更新を推奨) Runtime を Host process と
Worker process に分離 新機能はほとんどが V2 のみをサポート (V1 はほぼメンテナンスされていない)
Premium Plan 登場 コールドスタート問題から開放 ⾼速にスケール 200 インスタンスまで
TypeScript サポート Node.js ベースでの Azure Functions 開発が安全・快適に! import { AzureFunction,
Context } from "@azure/functions"; const cosmosDBTrigger: AzureFunction = async function( context: Context, documents: Tweet[] ): Promise<void> { if (!!documents && documents.length > 0) { context.log("Document: ", documents[0].tweetText); } context.bindings.signalRMessages = [ { target: "newMessage", arguments: [documents] } ]; };
キーテクノロジー: Cosmos DB A globally distributed, massively scalable, multi-model database
service. 主な特⻑ サーバーレス - No infrastructure or VM management グローバル分散 - Turnkey geo-replication マルチモデル, マルチ API ストレージとスループットをエラスティックにスケール可能 99th パーセンタイル内に 10ms 以下のレイテンシーを保証
Change Feed Serverless なマイクロサービスを実現するためのキーテクノロジー 同時に複数の Feed を出⼒可能(DB は稼働させながら追加可能)
Azure Functions CosmosDB Trigger Cosmos DB のデータ変更によって Azure Functions が発⽕する
Cosmos DB Trigger が Change Feed Processor ライブラリを利⽤(ラッピング) 複数の Change Feed を独⽴して配置可能 クロスパーテーションでデータにアクセスしたい場合に便利
キーテクノロジー: SignalR Service Web にリアルタイム通信機能を実装できるサービス WebSocket の Hub 機能が Serverless
化
signalr.js によるリアルタイム更新の実装 created: async function(): Promise<void> { console.log("VUE_APP_HOST: ", process.env.VUE_APP_HOST);
// SignalR とコネクションを作成 const connection = new HubConnectionBuilder() .withUrl(this.baseUrl) .configureLogging(LogLevel.Information) .build(); console.log("connecting..."); // SignalR Service への接続 connection .start() .then(() => console.log("connected!")) .catch(console.error); // SignalR からの呼び出し connection.on("newMessage", (tweets: Tweet[]) => this.displayTweet(tweets)); // 切断 connection.onclose(() => console.log("disconnected")); }
キーテクノロジー: SQL DB Serverless ⼀定時間アクセスしなければ、インスタンスが停⽌する 課⾦も⽌まるため、コストを最適化できる 再始動時やオートスケール時はコールドスタートなのでスパイク対策には不向き
Azure Serverless の課題(個⼈的⾒解) フロントエンド SPA ベース Web アプリのデプロイ先が微妙 SPA にとって
App Service はオーバースペック Static Website ホスティング機能がショボい Firebase や Netlify 相当の機能が求められる
ご清聴ありがとうございました Special Thanks! Yoichi Kawasaki (Microsoft) Matias Quaranta (Microsoft) shibayan