SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
twMVC #33 – 玩轉 Azure 彈性部署
玩轉 Azure 彈性部署
Dino Wang
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
◼ 雲馥數位科技股份有限公司 CloudRiches
◼ twMVC 共同創辦人
◼ ASP.NET MVC 開發美學共同作者
◼ 現任 Microsoft Azure MVP
◼ dino.cool@gmail.com
Dino Wang
2
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
「部署」對應用程式的重要性
3
Performance
Maintainability
Complexity
Availability
Accessibility
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
◼ 雲端上的計算資源,就是跑「你的程式」的地方
今日重點:計算資源的部署
4
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
網站或 API 為例,「計算」在雲的落腳處
5
App Service
Web App
API App
Virtual Machine
Standalone
Scale Set
Container Services
AKS
ACS
Container Instance
Service Fabric
Reliable Services
Reliable Actors
Serverless
Function App
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
◼ Virtual Machine
◼ App Service
◼ Cloud Service (?)
依去年使用量分析,大家用什麼
6
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
◼ 最容易上手,靈活度最高
◼ 已為 web 最佳化
◼ 那為什麼排第二名,有很多 Server 在雲端上
◼ Domain Controller
◼ Exchange Server
◼ SharePoint Server
◼ SQL Server
◼ Dynamic CRM Server
◼ …
App Service
7
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
App Service Plan
8
https://azure.microsoft.com/en-us/pricing/details/app-service/plans/
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
◼ 把 App Service Plan 想像成一台 Web Server (IIS)
◼ 什麼是 App? → Web App, Logic App, Mobile App
◼ Apps 共用同一台 Web Server 上的計算資源
App Service Plan
9
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
◼ 準備部署到雲端,開發階段使用了這些元件與相關技術
◼ Web (PHP)
◼ API (ASP.NET)
◼ MySQL
◼ PHP
Use Case
10
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
◼ Domain-based routing
◼ Path-based routing
考慮 Web accessibility
11
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
◼ Domain-based routing
◼ web1.azurewebsites.net
◼ api1.azurewebsites.net
考慮 Web accessibility
12
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
◼ Path-based routing
◼ myapps.azurewebsites.net/web
◼ myapps.azurewebsites.net/api
考慮 Web accessibility
13
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
◼ Domain-based routing
◼ Path-based routing
選擇你需要的方式,Azure 有起碼兩種以上的方法完美搞定
考慮 Web accessibility
14
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
◼ Virtual Machine
◼ 大家一定懂 VM,新增 VM 安裝 IIS 部署程式打完收工?
◼ 水平擴展
◼ Availability Set → 你要放幾台 VM
◼ Virtual Machine Scale-Set → 製作/更新映像檔
◼ App Service
◼ Web 部署最佳選擇
Deploy Approach
15
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
App Service Plan
16
https://azure.microsoft.com/en-us/pricing/details/app-service/plans/
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
◼ 你想好了嗎?
等等,不考慮微服務嗎?
17
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
Neomonolith
https://inconshreveable.com/10-07-2015/the-neomonolith/
18
Microservices + Monolith = The Neomonolith
Alan Shreve, Founder of ngrok and equinox.io
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
Neomonolith
https://inconshreveable.com/10-07-2015/the-neomonolith/
19
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw 20
Neomonolith
https://inconshreveable.com/10-07-2015/the-neomonolith/
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
Neomonolith in App Services ?
21
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
Publish Settings
22
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
Publish Settings
23
預設設定 多應用程式
twMVC #33 – 玩轉 Azure 彈性部署
現在起,你有更簡單的方式
24
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
Front-Door Services - preview
25
◼ 在靠近終端使用者的邊緣進行 SSL 卸載和應用程式加速
◼ 提供立即容錯移轉的全球 HTTP 負載平衡
◼ 可操作的使用者與後端相關見解
◼ 應用程式防火牆與 DDoS 保護
◼ 用於協調流量的中央控制台
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
Front-Door Services - preview
26
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
◼ 在靠近終端使用者的邊緣進行 SSL 卸載和應用程式加速
SSL Offload
27
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
Host-based routing
28
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
Path-based routing
29
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
Compare routing approach
30
Path-based routing Host-based routing
twMVC #33 – 玩轉 Azure 彈性部署 31
Front Door Service
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
Approach
Cost-
Effective
Failover
DDoS
Protection
Full-
Managed
Traffic Manager + URL Rewrite V
Traffic Manager + Application Gateway V V V
Front-Door Service V V V V
全球部署方式比較
32
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
這些知識取得不難,而優缺點分析、架構建議 你需要諮詢
你和雲端的距離 只差一個 MSP (Managed Service Provider)
功課很難做嗎?
33
34
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
Blog 是記錄知識的最佳平台
35
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
感謝 Jetbrains 贊助贈品
36
https://www.jetbrains.com/resharper/
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
感謝 ALIVE 贊助贈品
37
https://comealive.io/
twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw
業界師資、實戰教學
38
http://skilltree.my
twMVC #33 – 玩轉 Azure 彈性部署
謝謝各位
• 本投影片所包含的商標與文字皆屬原著作者所有。
• 本投影片使用的圖片皆從網路搜尋。
• 本著作係採用姓名標示-非商業性-相同方式分享 3.0 台灣授權。閱讀本授權條款,請到
http://creativecommons.org/licenses/by-nc-sa/3.0/tw/,或寫信至Creative Commons, 444 Castro
Street, Suite 900, Mountain View, California, 94041, USA.
h t t p : / / m v c . t w

Weitere ähnliche Inhalte

Was ist angesagt?

twMVC#36.NetCore 3快速看一波
twMVC#36.NetCore 3快速看一波twMVC#36.NetCore 3快速看一波
twMVC#36.NetCore 3快速看一波twMVC
 
twMVC#43 Visual Studio 2022 新功能拆解
twMVC#43 Visual Studio 2022 新功能拆解twMVC#43 Visual Studio 2022 新功能拆解
twMVC#43 Visual Studio 2022 新功能拆解twMVC
 
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用twMVC
 
twMVC#42 Azure IoT Hub for Smart Factory
twMVC#42 Azure IoT Hub for Smart FactorytwMVC#42 Azure IoT Hub for Smart Factory
twMVC#42 Azure IoT Hub for Smart FactorytwMVC
 
twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢twMVC
 
twMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIS
twMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIStwMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIS
twMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIStwMVC
 
twMVC#33聊聊如何自建 Facebook {廣告} 服務 with API
twMVC#33聊聊如何自建 Facebook {廣告} 服務 with API twMVC#33聊聊如何自建 Facebook {廣告} 服務 with API
twMVC#33聊聊如何自建 Facebook {廣告} 服務 with API twMVC
 
twMVC#43 YARP
twMVC#43 YARPtwMVC#43 YARP
twMVC#43 YARPtwMVC
 
twMVC#26 | Redis資料型別與場景的連結
twMVC#26 | Redis資料型別與場景的連結twMVC#26 | Redis資料型別與場景的連結
twMVC#26 | Redis資料型別與場景的連結twMVC
 
twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧twMVC
 
twMVC#26 | 淺談 ASP.NET Caching 技術與實踐
twMVC#26 | 淺談 ASP.NET Caching 技術與實踐twMVC#26 | 淺談 ASP.NET Caching 技術與實踐
twMVC#26 | 淺談 ASP.NET Caching 技術與實踐twMVC
 
twMVC#23 | 快速上手 Azure Functions
twMVC#23 | 快速上手 Azure FunctionstwMVC#23 | 快速上手 Azure Functions
twMVC#23 | 快速上手 Azure FunctionstwMVC
 
Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2twMVC
 
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)Will Huang
 
twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決twMVC
 
React.js what do you really mean?
React.js what do you really mean?React.js what do you really mean?
React.js what do you really mean?昱安 周
 
Micro-frontends with Angular 10 (Modern Web 2020)
Micro-frontends with Angular 10 (Modern Web 2020)Micro-frontends with Angular 10 (Modern Web 2020)
Micro-frontends with Angular 10 (Modern Web 2020)Will Huang
 
SITCON 2016 ─ Modern Front-End Workflow with Webpack
SITCON 2016 ─ Modern Front-End Workflow with WebpackSITCON 2016 ─ Modern Front-End Workflow with Webpack
SITCON 2016 ─ Modern Front-End Workflow with Webpack昱安 周
 
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程twMVC
 
桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作Philip Zheng
 

Was ist angesagt? (20)

twMVC#36.NetCore 3快速看一波
twMVC#36.NetCore 3快速看一波twMVC#36.NetCore 3快速看一波
twMVC#36.NetCore 3快速看一波
 
twMVC#43 Visual Studio 2022 新功能拆解
twMVC#43 Visual Studio 2022 新功能拆解twMVC#43 Visual Studio 2022 新功能拆解
twMVC#43 Visual Studio 2022 新功能拆解
 
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
 
twMVC#42 Azure IoT Hub for Smart Factory
twMVC#42 Azure IoT Hub for Smart FactorytwMVC#42 Azure IoT Hub for Smart Factory
twMVC#42 Azure IoT Hub for Smart Factory
 
twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢
 
twMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIS
twMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIStwMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIS
twMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIS
 
twMVC#33聊聊如何自建 Facebook {廣告} 服務 with API
twMVC#33聊聊如何自建 Facebook {廣告} 服務 with API twMVC#33聊聊如何自建 Facebook {廣告} 服務 with API
twMVC#33聊聊如何自建 Facebook {廣告} 服務 with API
 
twMVC#43 YARP
twMVC#43 YARPtwMVC#43 YARP
twMVC#43 YARP
 
twMVC#26 | Redis資料型別與場景的連結
twMVC#26 | Redis資料型別與場景的連結twMVC#26 | Redis資料型別與場景的連結
twMVC#26 | Redis資料型別與場景的連結
 
twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧
 
twMVC#26 | 淺談 ASP.NET Caching 技術與實踐
twMVC#26 | 淺談 ASP.NET Caching 技術與實踐twMVC#26 | 淺談 ASP.NET Caching 技術與實踐
twMVC#26 | 淺談 ASP.NET Caching 技術與實踐
 
twMVC#23 | 快速上手 Azure Functions
twMVC#23 | 快速上手 Azure FunctionstwMVC#23 | 快速上手 Azure Functions
twMVC#23 | 快速上手 Azure Functions
 
Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2
 
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
 
twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決
 
React.js what do you really mean?
React.js what do you really mean?React.js what do you really mean?
React.js what do you really mean?
 
Micro-frontends with Angular 10 (Modern Web 2020)
Micro-frontends with Angular 10 (Modern Web 2020)Micro-frontends with Angular 10 (Modern Web 2020)
Micro-frontends with Angular 10 (Modern Web 2020)
 
SITCON 2016 ─ Modern Front-End Workflow with Webpack
SITCON 2016 ─ Modern Front-End Workflow with WebpackSITCON 2016 ─ Modern Front-End Workflow with Webpack
SITCON 2016 ─ Modern Front-End Workflow with Webpack
 
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
 
桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作
 

Ähnlich wie twMVC#33玩轉 Azure 彈性部署

twMVC#22 | 一個微信專案從0到.000的效能調教之路
twMVC#22 | 一個微信專案從0到.000的效能調教之路twMVC#22 | 一個微信專案從0到.000的效能調教之路
twMVC#22 | 一個微信專案從0到.000的效能調教之路twMVC
 
開發的效能與效率-twMVC#15
開發的效能與效率-twMVC#15開發的效能與效率-twMVC#15
開發的效能與效率-twMVC#15twMVC
 
twMVC#15 | 開發的效能與效率
twMVC#15 | 開發的效能與效率twMVC#15 | 開發的效能與效率
twMVC#15 | 開發的效能與效率twMVC
 
一個微信專案從0到000的效能調教
一個微信專案從0到000的效能調教一個微信專案從0到000的效能調教
一個微信專案從0到000的效能調教Bruce Chen
 
twMVC#20 | ASP.NET MVC View 開發技巧小錦囊
twMVC#20 | ASP.NET MVC View 開發技巧小錦囊twMVC#20 | ASP.NET MVC View 開發技巧小錦囊
twMVC#20 | ASP.NET MVC View 開發技巧小錦囊twMVC
 
twMVC#11 | 架構設計入門
twMVC#11 | 架構設計入門twMVC#11 | 架構設計入門
twMVC#11 | 架構設計入門twMVC
 
架構設計入門 twMVC#11
架構設計入門 twMVC#11架構設計入門 twMVC#11
架構設計入門 twMVC#11twMVC
 
微服務對IT人員的衝擊
微服務對IT人員的衝擊微服務對IT人員的衝擊
微服務對IT人員的衝擊Philip Zheng
 
輕鬆上手Asp.net web api 2.1-twMVC#14
輕鬆上手Asp.net web api 2.1-twMVC#14輕鬆上手Asp.net web api 2.1-twMVC#14
輕鬆上手Asp.net web api 2.1-twMVC#14twMVC
 
twMVC#14 | 輕鬆上手ASP.NET Web API 2
twMVC#14 | 輕鬆上手ASP.NET Web API 2twMVC#14 | 輕鬆上手ASP.NET Web API 2
twMVC#14 | 輕鬆上手ASP.NET Web API 2twMVC
 
SignalR實戰技巧 twmvc#17
SignalR實戰技巧 twmvc#17 SignalR實戰技巧 twmvc#17
SignalR實戰技巧 twmvc#17 twMVC
 
twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角
twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角
twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角twMVC
 
Global Azure Bootcamp 2015 Taipei: Planning and Migrating your Application fr...
Global Azure Bootcamp 2015 Taipei: Planning and Migrating your Application fr...Global Azure Bootcamp 2015 Taipei: Planning and Migrating your Application fr...
Global Azure Bootcamp 2015 Taipei: Planning and Migrating your Application fr...Jeff Chu
 
讓應用程式雲端化 由 Iaa s 邁向 paas 之路-Global Azure Bootcamp 2015 臺北場
讓應用程式雲端化 由 Iaa s 邁向 paas 之路-Global Azure Bootcamp 2015 臺北場讓應用程式雲端化 由 Iaa s 邁向 paas 之路-Global Azure Bootcamp 2015 臺北場
讓應用程式雲端化 由 Iaa s 邁向 paas 之路-Global Azure Bootcamp 2015 臺北場twMVC
 
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務Alan Tsai
 
從雲端到邊緣 Azure IoT Edge 幫工廠設備長智慧
從雲端到邊緣 Azure IoT Edge 幫工廠設備長智慧從雲端到邊緣 Azure IoT Edge 幫工廠設備長智慧
從雲端到邊緣 Azure IoT Edge 幫工廠設備長智慧Poy Chang
 
aifanfan skywalking in action
aifanfan skywalking in actionaifanfan skywalking in action
aifanfan skywalking in actionEvanLiu39
 
twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有twMVC
 
程式交易介紹及 FinTech 創作分享
程式交易介紹及 FinTech 創作分享程式交易介紹及 FinTech 創作分享
程式交易介紹及 FinTech 創作分享Philip Zheng
 

Ähnlich wie twMVC#33玩轉 Azure 彈性部署 (20)

twMVC#22 | 一個微信專案從0到.000的效能調教之路
twMVC#22 | 一個微信專案從0到.000的效能調教之路twMVC#22 | 一個微信專案從0到.000的效能調教之路
twMVC#22 | 一個微信專案從0到.000的效能調教之路
 
開發的效能與效率-twMVC#15
開發的效能與效率-twMVC#15開發的效能與效率-twMVC#15
開發的效能與效率-twMVC#15
 
twMVC#15 | 開發的效能與效率
twMVC#15 | 開發的效能與效率twMVC#15 | 開發的效能與效率
twMVC#15 | 開發的效能與效率
 
一個微信專案從0到000的效能調教
一個微信專案從0到000的效能調教一個微信專案從0到000的效能調教
一個微信專案從0到000的效能調教
 
twMVC#20 | ASP.NET MVC View 開發技巧小錦囊
twMVC#20 | ASP.NET MVC View 開發技巧小錦囊twMVC#20 | ASP.NET MVC View 開發技巧小錦囊
twMVC#20 | ASP.NET MVC View 開發技巧小錦囊
 
twMVC#11 | 架構設計入門
twMVC#11 | 架構設計入門twMVC#11 | 架構設計入門
twMVC#11 | 架構設計入門
 
架構設計入門 twMVC#11
架構設計入門 twMVC#11架構設計入門 twMVC#11
架構設計入門 twMVC#11
 
微服務對IT人員的衝擊
微服務對IT人員的衝擊微服務對IT人員的衝擊
微服務對IT人員的衝擊
 
輕鬆上手Asp.net web api 2.1-twMVC#14
輕鬆上手Asp.net web api 2.1-twMVC#14輕鬆上手Asp.net web api 2.1-twMVC#14
輕鬆上手Asp.net web api 2.1-twMVC#14
 
twMVC#14 | 輕鬆上手ASP.NET Web API 2
twMVC#14 | 輕鬆上手ASP.NET Web API 2twMVC#14 | 輕鬆上手ASP.NET Web API 2
twMVC#14 | 輕鬆上手ASP.NET Web API 2
 
SignalR實戰技巧 twmvc#17
SignalR實戰技巧 twmvc#17 SignalR實戰技巧 twmvc#17
SignalR實戰技巧 twmvc#17
 
twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角
twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角
twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角
 
Global Azure Bootcamp 2015 Taipei: Planning and Migrating your Application fr...
Global Azure Bootcamp 2015 Taipei: Planning and Migrating your Application fr...Global Azure Bootcamp 2015 Taipei: Planning and Migrating your Application fr...
Global Azure Bootcamp 2015 Taipei: Planning and Migrating your Application fr...
 
讓應用程式雲端化 由 Iaa s 邁向 paas 之路-Global Azure Bootcamp 2015 臺北場
讓應用程式雲端化 由 Iaa s 邁向 paas 之路-Global Azure Bootcamp 2015 臺北場讓應用程式雲端化 由 Iaa s 邁向 paas 之路-Global Azure Bootcamp 2015 臺北場
讓應用程式雲端化 由 Iaa s 邁向 paas 之路-Global Azure Bootcamp 2015 臺北場
 
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
 
Hello openstack 2014
Hello openstack 2014Hello openstack 2014
Hello openstack 2014
 
從雲端到邊緣 Azure IoT Edge 幫工廠設備長智慧
從雲端到邊緣 Azure IoT Edge 幫工廠設備長智慧從雲端到邊緣 Azure IoT Edge 幫工廠設備長智慧
從雲端到邊緣 Azure IoT Edge 幫工廠設備長智慧
 
aifanfan skywalking in action
aifanfan skywalking in actionaifanfan skywalking in action
aifanfan skywalking in action
 
twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有
 
程式交易介紹及 FinTech 創作分享
程式交易介紹及 FinTech 創作分享程式交易介紹及 FinTech 創作分享
程式交易介紹及 FinTech 創作分享
 

Mehr von twMVC

twMVC 47_Elastic APM 的兩三事
twMVC 47_Elastic APM 的兩三事twMVC 47_Elastic APM 的兩三事
twMVC 47_Elastic APM 的兩三事twMVC
 
twMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC#46_SQL Server 資料分析大躍進 Machine Learning ServicestwMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC#46_SQL Server 資料分析大躍進 Machine Learning ServicestwMVC
 
.NET 7 家族新成員: Microsoft Orleans v7
.NET 7 家族新成員:Microsoft Orleans v7.NET 7 家族新成員:Microsoft Orleans v7
.NET 7 家族新成員: Microsoft Orleans v7twMVC
 
twMVC#46 一探 C# 11 與 .NET 7 的神奇
twMVC#46 一探 C# 11 與 .NET 7 的神奇twMVC#46 一探 C# 11 與 .NET 7 的神奇
twMVC#46 一探 C# 11 與 .NET 7 的神奇twMVC
 
twMVC#44 如何測試與保護你的 web application with playwright
twMVC#44 如何測試與保護你的 web application with playwrighttwMVC#44 如何測試與保護你的 web application with playwright
twMVC#44 如何測試與保護你的 web application with playwrighttwMVC
 
twMVC#43 C#10 新功能介紹
twMVC#43 C#10 新功能介紹twMVC#43 C#10 新功能介紹
twMVC#43 C#10 新功能介紹twMVC
 
twMVC#36C#的美麗與哀愁
twMVC#36C#的美麗與哀愁twMVC#36C#的美麗與哀愁
twMVC#36C#的美麗與哀愁twMVC
 
twMVC#30 | Bootstrap 搶先玩
twMVC#30 | Bootstrap 搶先玩twMVC#30 | Bootstrap 搶先玩
twMVC#30 | Bootstrap 搶先玩twMVC
 
twMvc#30 | 技術人員與業務團隊的無礙的溝通法則
twMvc#30 | 技術人員與業務團隊的無礙的溝通法則twMvc#30 | 技術人員與業務團隊的無礙的溝通法則
twMvc#30 | 技術人員與業務團隊的無礙的溝通法則twMVC
 
twMVC#29 | 當.Net Core 遇到AWS Lambda
twMVC#29 | 當.Net Core 遇到AWS LambdatwMVC#29 | 當.Net Core 遇到AWS Lambda
twMVC#29 | 當.Net Core 遇到AWS LambdatwMVC
 
twMVC#29 | 從電影推薦預測開始學機器學習
twMVC#29 | 從電影推薦預測開始學機器學習twMVC#29 | 從電影推薦預測開始學機器學習
twMVC#29 | 從電影推薦預測開始學機器學習twMVC
 
twMVC#28 | visual studio 2017 新功能介紹
twMVC#28 | visual studio 2017 新功能介紹twMVC#28 | visual studio 2017 新功能介紹
twMVC#28 | visual studio 2017 新功能介紹twMVC
 
twMVC#27 | C# 7.0 新功能介紹
twMVC#27 | C# 7.0 新功能介紹twMVC#27 | C# 7.0 新功能介紹
twMVC#27 | C# 7.0 新功能介紹twMVC
 

Mehr von twMVC (13)

twMVC 47_Elastic APM 的兩三事
twMVC 47_Elastic APM 的兩三事twMVC 47_Elastic APM 的兩三事
twMVC 47_Elastic APM 的兩三事
 
twMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC#46_SQL Server 資料分析大躍進 Machine Learning ServicestwMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
 
.NET 7 家族新成員: Microsoft Orleans v7
.NET 7 家族新成員:Microsoft Orleans v7.NET 7 家族新成員:Microsoft Orleans v7
.NET 7 家族新成員: Microsoft Orleans v7
 
twMVC#46 一探 C# 11 與 .NET 7 的神奇
twMVC#46 一探 C# 11 與 .NET 7 的神奇twMVC#46 一探 C# 11 與 .NET 7 的神奇
twMVC#46 一探 C# 11 與 .NET 7 的神奇
 
twMVC#44 如何測試與保護你的 web application with playwright
twMVC#44 如何測試與保護你的 web application with playwrighttwMVC#44 如何測試與保護你的 web application with playwright
twMVC#44 如何測試與保護你的 web application with playwright
 
twMVC#43 C#10 新功能介紹
twMVC#43 C#10 新功能介紹twMVC#43 C#10 新功能介紹
twMVC#43 C#10 新功能介紹
 
twMVC#36C#的美麗與哀愁
twMVC#36C#的美麗與哀愁twMVC#36C#的美麗與哀愁
twMVC#36C#的美麗與哀愁
 
twMVC#30 | Bootstrap 搶先玩
twMVC#30 | Bootstrap 搶先玩twMVC#30 | Bootstrap 搶先玩
twMVC#30 | Bootstrap 搶先玩
 
twMvc#30 | 技術人員與業務團隊的無礙的溝通法則
twMvc#30 | 技術人員與業務團隊的無礙的溝通法則twMvc#30 | 技術人員與業務團隊的無礙的溝通法則
twMvc#30 | 技術人員與業務團隊的無礙的溝通法則
 
twMVC#29 | 當.Net Core 遇到AWS Lambda
twMVC#29 | 當.Net Core 遇到AWS LambdatwMVC#29 | 當.Net Core 遇到AWS Lambda
twMVC#29 | 當.Net Core 遇到AWS Lambda
 
twMVC#29 | 從電影推薦預測開始學機器學習
twMVC#29 | 從電影推薦預測開始學機器學習twMVC#29 | 從電影推薦預測開始學機器學習
twMVC#29 | 從電影推薦預測開始學機器學習
 
twMVC#28 | visual studio 2017 新功能介紹
twMVC#28 | visual studio 2017 新功能介紹twMVC#28 | visual studio 2017 新功能介紹
twMVC#28 | visual studio 2017 新功能介紹
 
twMVC#27 | C# 7.0 新功能介紹
twMVC#27 | C# 7.0 新功能介紹twMVC#27 | C# 7.0 新功能介紹
twMVC#27 | C# 7.0 新功能介紹
 

twMVC#33玩轉 Azure 彈性部署

  • 1. twMVC #33 – 玩轉 Azure 彈性部署 玩轉 Azure 彈性部署 Dino Wang
  • 2. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw ◼ 雲馥數位科技股份有限公司 CloudRiches ◼ twMVC 共同創辦人 ◼ ASP.NET MVC 開發美學共同作者 ◼ 現任 Microsoft Azure MVP ◼ dino.cool@gmail.com Dino Wang 2
  • 3. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw 「部署」對應用程式的重要性 3 Performance Maintainability Complexity Availability Accessibility
  • 4. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw ◼ 雲端上的計算資源,就是跑「你的程式」的地方 今日重點:計算資源的部署 4
  • 5. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw 網站或 API 為例,「計算」在雲的落腳處 5 App Service Web App API App Virtual Machine Standalone Scale Set Container Services AKS ACS Container Instance Service Fabric Reliable Services Reliable Actors Serverless Function App
  • 6. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw ◼ Virtual Machine ◼ App Service ◼ Cloud Service (?) 依去年使用量分析,大家用什麼 6
  • 7. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw ◼ 最容易上手,靈活度最高 ◼ 已為 web 最佳化 ◼ 那為什麼排第二名,有很多 Server 在雲端上 ◼ Domain Controller ◼ Exchange Server ◼ SharePoint Server ◼ SQL Server ◼ Dynamic CRM Server ◼ … App Service 7
  • 8. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw App Service Plan 8 https://azure.microsoft.com/en-us/pricing/details/app-service/plans/
  • 9. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw ◼ 把 App Service Plan 想像成一台 Web Server (IIS) ◼ 什麼是 App? → Web App, Logic App, Mobile App ◼ Apps 共用同一台 Web Server 上的計算資源 App Service Plan 9
  • 10. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw ◼ 準備部署到雲端,開發階段使用了這些元件與相關技術 ◼ Web (PHP) ◼ API (ASP.NET) ◼ MySQL ◼ PHP Use Case 10
  • 11. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw ◼ Domain-based routing ◼ Path-based routing 考慮 Web accessibility 11
  • 12. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw ◼ Domain-based routing ◼ web1.azurewebsites.net ◼ api1.azurewebsites.net 考慮 Web accessibility 12
  • 13. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw ◼ Path-based routing ◼ myapps.azurewebsites.net/web ◼ myapps.azurewebsites.net/api 考慮 Web accessibility 13
  • 14. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw ◼ Domain-based routing ◼ Path-based routing 選擇你需要的方式,Azure 有起碼兩種以上的方法完美搞定 考慮 Web accessibility 14
  • 15. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw ◼ Virtual Machine ◼ 大家一定懂 VM,新增 VM 安裝 IIS 部署程式打完收工? ◼ 水平擴展 ◼ Availability Set → 你要放幾台 VM ◼ Virtual Machine Scale-Set → 製作/更新映像檔 ◼ App Service ◼ Web 部署最佳選擇 Deploy Approach 15
  • 16. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw App Service Plan 16 https://azure.microsoft.com/en-us/pricing/details/app-service/plans/
  • 17. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw ◼ 你想好了嗎? 等等,不考慮微服務嗎? 17
  • 18. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw Neomonolith https://inconshreveable.com/10-07-2015/the-neomonolith/ 18 Microservices + Monolith = The Neomonolith Alan Shreve, Founder of ngrok and equinox.io
  • 19. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw Neomonolith https://inconshreveable.com/10-07-2015/the-neomonolith/ 19
  • 20. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw 20 Neomonolith https://inconshreveable.com/10-07-2015/the-neomonolith/
  • 21. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw Neomonolith in App Services ? 21
  • 22. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw Publish Settings 22
  • 23. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw Publish Settings 23 預設設定 多應用程式
  • 24. twMVC #33 – 玩轉 Azure 彈性部署 現在起,你有更簡單的方式 24
  • 25. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw Front-Door Services - preview 25 ◼ 在靠近終端使用者的邊緣進行 SSL 卸載和應用程式加速 ◼ 提供立即容錯移轉的全球 HTTP 負載平衡 ◼ 可操作的使用者與後端相關見解 ◼ 應用程式防火牆與 DDoS 保護 ◼ 用於協調流量的中央控制台
  • 26. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw Front-Door Services - preview 26
  • 27. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw ◼ 在靠近終端使用者的邊緣進行 SSL 卸載和應用程式加速 SSL Offload 27
  • 28. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw Host-based routing 28
  • 29. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw Path-based routing 29
  • 30. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw Compare routing approach 30 Path-based routing Host-based routing
  • 31. twMVC #33 – 玩轉 Azure 彈性部署 31 Front Door Service
  • 32. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw Approach Cost- Effective Failover DDoS Protection Full- Managed Traffic Manager + URL Rewrite V Traffic Manager + Application Gateway V V V Front-Door Service V V V V 全球部署方式比較 32
  • 33. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw 這些知識取得不難,而優缺點分析、架構建議 你需要諮詢 你和雲端的距離 只差一個 MSP (Managed Service Provider) 功課很難做嗎? 33
  • 34. 34
  • 35. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw Blog 是記錄知識的最佳平台 35
  • 36. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw 感謝 Jetbrains 贊助贈品 36 https://www.jetbrains.com/resharper/
  • 37. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw 感謝 ALIVE 贊助贈品 37 https://comealive.io/
  • 38. twMVC #33 – 玩轉 Azure 彈性部署 http://mvc.tw 業界師資、實戰教學 38 http://skilltree.my
  • 39. twMVC #33 – 玩轉 Azure 彈性部署 謝謝各位 • 本投影片所包含的商標與文字皆屬原著作者所有。 • 本投影片使用的圖片皆從網路搜尋。 • 本著作係採用姓名標示-非商業性-相同方式分享 3.0 台灣授權。閱讀本授權條款,請到 http://creativecommons.org/licenses/by-nc-sa/3.0/tw/,或寫信至Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. h t t p : / / m v c . t w