1. 程式人生 > >Azure: Web App 構建網站或API,適合單體式應用

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)

參考程式碼及連結

 

博主生活艱難,支付寶掃如下二維碼救助,十塊八塊都行。