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
280
Azure Serverless overview and updates 2019
「MVP x Student Meetup@つくば 」で発表させていただいたスライドです。
miyake
July 27, 2019
Tweet
Share
More Decks by miyake
See All by miyake
Cosmos DB で持続可能な RAG を実現しよう!~ AOAI Dev Day ふりかえりを添えて / Sustainable RAG with Cosmos DB with recap AOAI Dev Day
miyake
0
260
Mirroring Azure Cosmos DB in Microsoft Fabric
miyake
2
160
LLM 時代におさえておきたい Azure Serverless ファミリーまとめ / serverlessdaystokyo2023-llm-aoai
miyake
9
2.6k
Nuxt Studio を使ってみた / nuxt-studio-intro
miyake
1
830
Microsoft Build 2023 で発表された Cosmos DB の注目アップデート / Microsoft Build 2023 Cosmos DB update
miyake
1
820
祝 🎉 両方とも正式リリース! GitHub Codespaces と Nuxt3 で次世代開発体験 / codespaces-nuxt3
miyake
0
1.4k
Static Site Generator でサイト構築 / building sites with static site generator
miyake
1
320
Design and implementation of Cosmos DB Change Feed-centric architecture
miyake
0
950
Well-Architected Framework を活用した Azure 設計パターン / azure-well-architected-framework
miyake
2
1.4k
Other Decks in Technology
See All in Technology
データベースの負荷を紐解く/untangle-the-database-load
emiki
2
540
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
19k
[OpsJAWS Meetup33 AIOps] Amazon Bedrockガードレールで守る安全なAI運用
akiratameto
1
120
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
780
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
510
RayでPHPのデバッグをちょっと快適にする
muno92
PRO
0
190
JAWS DAYS 2025 アーキテクチャ道場 事前説明会 / JAWS DAYS 2025 briefing document
naospon
0
2.7k
AIエージェント入門
minorun365
PRO
32
19k
AWSではじめる Web APIテスト実践ガイド / A practical guide to testing Web APIs on AWS
yokawasa
8
750
困難を「一般解」で解く
fujiwara3
7
1.6k
遷移の高速化 ヤフートップの試行錯誤
narirou
6
1.9k
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
2
1.5k
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Visualization
eitanlees
146
15k
The Cost Of JavaScript in 2023
addyosmani
47
7.4k
Raft: Consensus for Rubyists
vanstee
137
6.8k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
440
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
51k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
Code Review Best Practice
trishagee
67
18k
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