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

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.
  • 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