Azure: Web App 構建網站或API,適合單體式應用
簡介
使用Web App服務,使用者只需要上傳程式碼到Web App裡面,不需要管理底層的作業系統,就可以很輕鬆地部署一個網站。Web App更加專注於網站或API,適合單體應用,如果要部署比較複雜的應用的話,應該將其微服務化,使用AKS或Service Fabric微服務平臺。Web App最終在虛擬機器上執行,當你建立app service plan(實際是一個WEB叢集)的時候,即指定了虛擬機器的物理資源(比如CPU,記憶體),如果使用者使用到app service plan的基本版及以上版本的話,app service plan裡的虛擬機器都是獨享,使用者需要為它付費,但使用者無法接觸到虛擬機器。
- Web App 是沒有防火牆的的,它只開通了http80、https443埠,以及ftp(s)地址。
- 我們在使用Web App的時候,是無法接觸到虛擬機器的,我們只能接觸到部署伺服器,即只是一個FTP的地址。所有的程式碼會部署到WEB叢集裡面,但真正的程式碼是儲存在檔案伺服器裡面的,使用雲端儲存的方式做冗餘;只需要上傳一份程式碼到部署伺服器,由多個計算結點來訪問一個檔案伺服器來實現橫向擴充套件。
- 多個APP可以在一個app service plan裡面,這些APP共享一個app service plan裡面的物理資源,比如CPU,記憶體。
- app service plan 建立了就會收費,不管裡面是否有網站。
- Web App架構中,Web App中有兩層負載均衡器,Azure Load Balancer是一個四層的負載均衡器,基於原IP和原埠號;第二部分有一個IIS ARR的七層的負載均衡器,Web app天然支援七層Load Balancer,所以它能做會話的保持;
We App概念-應用服務計劃
應用服務計劃:託管應用服務的物理資源集合,相當於Web 應用叢集。
Web App限制
-
單個Web App例項最大計算單元是4Core/7GB
-
Azure Web Apps支援最大的橫向擴充套件20個節點
-
只支援開放80埠和443埠
通過Portal建立一個Web App
建立的過程相對簡單,這裡就不截圖了,下面是建立成功的截圖。
直接訪問上面的網址,就可以訪問到它預設的網站內容了。
部署方式
點選上面的Deployment Center, 會發現裡面有很多種部署方式(包括github,Azure Repos, GIT,FTP等)。
(1)FTP部署
點選FTP後,它要求你輸入密碼,然後在你在上圖的右側找到FTP地址和使用者名稱,就可以找開FTP的檔案夾了,把編譯過後的程式碼放在裡面的/site/wwwroot/資料夾下就可以執行起來了。下面是編輯過後的程式碼。
下圖是可以正常訪問的網址
(2) Visual Studio部署
通過Visual Studio可以實現增量部署,它比上面的FTP全量部署好得多,可在第一圖中的overview中,點選get publish profile 下載這個profile檔案,然後部署的時候匯入些檔案,直接進行部署,這裡就不演示了。
(3) GitHub部署
使用它可以實現DevOps,依然很簡單這裡就不再演示了。
部署槽(Delopyment slots)
使用部署槽,可以讓你的應用程式在stage環境和prod環境,快速的切換,減少生產環境的downtime。假如你有一個新版本v2要釋出,先放在stage槽裡測試,通過後,可以快速地將它與prod環境的版本v1切換,將v2部署到 prod環境,之前在prod環境的 版本v1就切換到stage槽了。如果你發現新版本v2上線後有BUG,也可以切換回來,還原來的版本v1到prod環境。
應用程式設定講解(Application settings)
Managed service identity
備份(Backups)
自定義域名(Custom domains)
證書繫結(SSL settings)
Scale up(縱像擴充套件)
Scale out(水平擴充套件)
WebJobs
跨域(CORS)
參考程式碼及連結
博主生活艱難,支付寶掃如下二維碼救助,十塊八塊都行。