Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Azure Serverless overview and updates 2019
Search
miyake
July 27, 2019
Technology
0
230
Azure Serverless overview and updates 2019
「MVP x Student Meetup@つくば 」で発表させていただいたスライドです。
miyake
July 27, 2019
Tweet
Share
More Decks by miyake
See All by miyake
Mirroring Azure Cosmos DB in Microsoft Fabric
miyake
1
43
LLM 時代におさえておきたい Azure Serverless ファミリーまとめ / serverlessdaystokyo2023-llm-aoai
miyake
8
2.1k
Nuxt Studio を使ってみた / nuxt-studio-intro
miyake
0
310
Microsoft Build 2023 で発表された Cosmos DB の注目アップデート / Microsoft Build 2023 Cosmos DB update
miyake
1
620
祝 🎉 両方とも正式リリース! GitHub Codespaces と Nuxt3 で次世代開発体験 / codespaces-nuxt3
miyake
0
1.2k
Static Site Generator でサイト構築 / building sites with static site generator
miyake
1
230
Design and implementation of Cosmos DB Change Feed-centric architecture
miyake
0
770
Well-Architected Framework を活用した Azure 設計パターン / azure-well-architected-framework
miyake
2
1.2k
2020 年下半期 Cosmos DB の更新まとめ
miyake
0
550
Other Decks in Technology
See All in Technology
サーバー間 GraphQL と webmock-graphql の話 / server-to-server graphql and webmock-graphql
qsona
2
190
プラットフォームってつくることより計測することが重要なんじゃないかという話 / Platform Engineering Meetup #8
taishin
1
370
Building Dashboards as a Hobby
egmc
0
220
自己改善からチームを動かす! 「セルフエンジニアリングマネージャー」のすゝめ
shoota
6
720
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
120
Delivering Millions of Messages within seconds @ Duolingo
pelelgrino
0
350
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
0
220
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
290
ServiceNow Knowledge 24の歩き方 EYストラテジー・アンド・コンサルティング
manarobot
0
200
MySQL の SQL クエリチューニングの要所を掴む勉強会
andpad
3
6.4k
Cracking the KubeCon CfP
inductor
2
250
アクセス制御にまつわる改善 / Improving access control
itkq
0
540
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
274
13k
Why Our Code Smells
bkeepers
PRO
331
56k
Atom: Resistance is Futile
akmur
259
25k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
Done Done
chrislema
178
15k
Scaling GitHub
holman
457
140k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
355
18k
Raft: Consensus for Rubyists
vanstee
132
6.3k
Ruby is Unlike a Banana
tanoku
96
10k
Become a Pro
speakerdeck
PRO
11
4.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
31
46k
Transcript
Azure Serverless 最新情報(2019 年夏編) MVP x Student Meetup@つくば
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