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 App Service について
Search
Tatsuro Shibamura
September 29, 2018
Technology
0
1.2k
最近の Azure App Service について
Tatsuro Shibamura
September 29, 2018
Tweet
Share
More Decks by Tatsuro Shibamura
See All by Tatsuro Shibamura
Hack Azure! #5 - Geek of Azure Serverless
shibayan
0
79
.NET Conf 2020 Online - .NET 5 リリース記念パーティートーク
shibayan
0
8.3k
Terraform Provider for Azure に貢献してみた話
shibayan
0
530
Azure Functions と SendGrid の良い関係
shibayan
0
1k
Azure Serverless を活用したリアルタイム Web のすべて
shibayan
1
2.7k
祝 東日本リージョン一般提供! Azure Application Insights 基礎と実践
shibayan
1
40k
なかなか楽にならないSSL/TLS証明書の話
shibayan
2
1.6k
.NET Conf 2018 Tokyo
shibayan
1
3.8k
一休.com がどのように SendGrid と仲良く付き合っているか
shibayan
0
5k
Other Decks in Technology
See All in Technology
コスト削減と精度維持を両立!類似画像検索システムの内製化成功事例
shutotakahashi
0
320
2025-01-24-SRETT11-OpenTofuについてそろそろ調べてみるか
masasuzu
0
130
RevOpsへ至る道 データ活用による事業革新への挑戦 / path-to-revops
pei0804
1
390
DevSecOps入門:Security Development Lifecycleによる開発プロセスのセキュリティ強化
yuriemori
0
200
TSのコードをRustで書き直した話
askua
4
980
SREKaigi.pdf
_awache
2
3k
ハンズオンで学ぶ Databricks - Databricksにおけるデータエンジニアリング
taka_aki
1
2k
実践している探索的テストの進め方 #jasstnano
makky_tyuyan
1
130
ソフトウェアアーキテクトのための意思決定術: Software Architecture and Decision-Making
snoozer05
PRO
5
1.1k
財務データを題材に、 ETLとは何であるかを考える
shoe116
5
1.9k
20250125_Agent for Amazon Bedrock試してみた
riz3f7
2
110
srekaigi2025-hajimete-ippo-aws
masakichieng
0
130
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Rails Girls Zürich Keynote
gr2m
94
13k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
30
2.1k
Bash Introduction
62gerente
610
210k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
20
2.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
It's Worth the Effort
3n
184
28k
Transcript
最近の Azure App Service について @shibayan
はじめに • shibayan (Tatsuro Shibamura) • Azure MVP (2018/7-) •
無職 (2018/8-) • 好きな Azure のサービス – App Service • https://blog.shibayan.jp/
今日話すこと • App Service をざっくり振り返りつつ整理 • Ignite 2018 で発表されたことを少し •
2018 年らしい App Service の使い方 • デプロイ周りを抑えておけば大体良い(個人の感想)
App Service について • 地味に複雑なんですよ • Web Apps • Windows
/ Linux • Web App for Containers (Docker) • Windows / Linux • Mobile Apps • API Apps この二つは開発止まってそうな気配ある
App Service を使ったサービス • Azure Functions • もはや説明は要りませんね • QnA
Maker • アプリ側の実装に Web App が使われている • Mobile Apps • API Apps この二つは開発(ry
App Service Plan について • これも地味に複雑なんですよ • Free (F1) /
Shared (D1) / Consumption (Y1) • Basic (B1-B3) • Standard (S1-S3) • Premium (P1-P3) • Premium v2 (P1v2-P3v2) / Isolated (I1-I3) • Premium Container (PC2-PC4) 高くて遅い、選ぶ理由も存在価値もなし Dv2 ベースなので速い Dv3 ベースなのでもっと速い
選べない Pricing Tier がある • Consumption • Azure Functions のみ
• Premium • 古い Scale unit で動いている場合のみ • Premium v2 • 新しい Scale unit で動いている場合のみ • Premium Container • Web App for Containers (Windows) の場合のみ
VM のスペックについて • Free / Basic / Standard / Premium
• A シリーズ (昔は AMD Opteron HE、今は Intel Xeon) • Premium v2 / Isolated • Dv2 シリーズ • Premium Container • Dv3 シリーズ (Hyper Threading 有効)
Consumption だけは特殊 • 公式には S1 が使われるとなっている、が…
App Service の選び方 • シンプルな ASP.NET アプリを動かしたい • Web Apps
(Windows) を使う • PHP や ASP.NET Core アプリをサクッと Linux で動かしたい • Web Apps (Linux) を使う • 既に Docker を使って開発してるので楽な実行環境が欲しい • Web App for Containers (Linux) を使う
Web App for Containers (Windows) は? • 主に Lift and
Shift 用だと思っている • 世の中にある ASP.NET アプリの 98% は Web Apps で動く • と思っている、感覚的に • 残りの 2% を PaaS に持っていくために使う • GAC にコンポーネントをインストールしないと動かないやつ • 実行環境をカスタマイズしないと動かないやつ
Ignite 2018 での発表 • Linux Consumption Plan が Private Preview
• 謎テクノロジー感 • Premium Functions が Private Preview • Consumption と App Service Plan の中間的な感じ • VNET Integration の改良 • ExpressRoute や Service Endpoints へのアクセスが可能に • Private IP でのアクセスも可能になるらしい
2018 年のトレンド • Run From Package を出来る限り使う • 難しい場合は Zip
Deploy で我慢する • Linux の場合は Docker Image でデプロイする • ACR と組み合わせると便利 • Azure Functions を積極的に組み合わせる • WebJobs の時代はほぼ終わった
デプロイが圧倒的進化 MS Deploy を使った場合 • 謎プロトコルで差分だけ • ロールバック不可能 • 失敗したら中途半端な状態に
• 差分を見るので遅い • ファイルロックされてると死ぬ Run From Package を使った場合 • ファイル一式を zip で上げる • デプロイがアトミックに • 謎テクノロジーでマウント • 高速化、安定性向上 • 1 つの zip を上げるだけなので
Run From Package • Zip Deploy と WEBSITE_RUN_FROM_PACKAGE のセット •
WEBSITE_RUN_FROM_PACKAGE = 1 の時に挙動が変わる • 0 の時は Zip を wwwroot に展開する • 1 の時は Zip を wwwroot に直接マウントする • URL を指定すると再起動の時に自動で最新版を落としてくる
Docker Image の作成 • Multi-stage build ちゃんと使ってますか? • ACR Tasks
(元 ACR Build) も便利 • Automate OS / Framework patching は神機能だと思う • もし App Service でスケールが足りない場合も移行が容易 • AKS もあるし、ACI と Virtual Kubelet とかも使える • 他のクラウドベンダーにも移行できる
WebJobs より Azure Functions • 理由は圧倒的に便利で安全だから • Azure Functions は
WebJobs の上位互換と考えてよい • Long-running なタスクはそもそも適切かどうか検討する • もっと最適な処理単位があるのではないか • Durable Functions でいい感じに処理できないか、など • Application Insights でモニタリングが容易に • WebJobs はモニタリングが弱い
Azure Functions v2 の GA • これも Ignite 2018 でリリース
• v1 からの移行が推奨されている • HttpTrigger での比較で 70% スループットが改善 • .NET Standard 2.0 で書く必要があるので注意 • .NET Core 2.1 の Span<T> / Memory<T> は使えない • SocketsHttpHandler も怪しい • パフォーマンス上で不利になるかも
まとめ • Windows は Web Apps を使う • Linux は
Web App for Containers を使う • Zip Deploy / Run From Package を使う • Docker をちゃんと活用する • Azure Functions は最高、v2 に移行する