簡體   English   中英

Azure共享應用服務計划中的不同環境

[英]Different environments in Azure shared app service plan

最近,我開始嘗試並熟悉一些Azure產品。 我制作了一個簡單的應用程序,將其與天藍色功能和天藍色存儲連接起來,以及其他一些產品,例如服務總線。

到目前為止一切順利,該應用程序運行良好,我得到了一些偉大的Azure服務。

但是現在我不確定如何最好地繼續下去,因為到目前為止我的應用程序的開發版本。 如果我想制作一個prod版本,我是否必須為開發版本提供一組不同的所有azure資源?

所以基本上,我會有mydevsite.azurewebsites.net和myprodsite.azurewebsites.net。 這個對嗎? 我可以限制mydevsite.azurewebsites.net有一些IP地址限制,因此不公開,但我仍然認為這是一種hacky方式,並且應該有一個更好的方法。

對這樣的場景有一個共同的方法嗎?

這是一個廣泛的問題,但我可以告訴我之前是如何做到的。

常見的設置是三個環境,Dev,Test和Production。 開發人員主要在開發人員的機器上運行(盡可能多)。 我們使用本地IIS安裝來運行Web應用程序,使用本地SQL Server作為數據庫。 Azure Storage和Cosmos DB也可以在本地進行模擬。 某些服務(例如搜索)無法在本地運行,因此您無論如何都必須在Azure中運行這些服務。

測試和生產基本上是兩個相同的資源組,具有相同的資源,只是配置略有不同。 因此,應用服務計划,SQL數據庫等增加一倍。

根據您的想法,您當然可以跨環境共享資源。 但是以某種方式確保他們不會意外地使用其他環境的東西是一個好主意。 而這一點的明顯不好的一面是,您將生產數據放在與測試數據相同的位置,坦白地說,這些數據不應該在一起。

我知道有些組織在Azure中完全運行Dev環境。 這可能有幾個原因:非常繁重的環境無法真正在開發機器上運行,或者他們也想在開發階段測試ARM模板部署。

擁有重復的服務允許您使用ARM模板自動部署和更新基礎架構,這非常好。

如果您使用的是Standard或更高版本,您可能會考慮在App Service中使用部署插槽來處理不同的環境,但它們實際上並不適用於此目的。 我們使用它們來減少部署新版本時的應用程序停機時間,如果更新結果不好則使用它們作為后備。 因此,部署進入“暫存”部署插槽,該插槽與另一個插槽交換,新版本處於實時狀態。 然后我們停止部署插槽,這樣我們就不會在后台不必要地運行舊版本。

但除此之外,我們還有一個單獨的應用服務計划,其中包含各自的Web應用程

部署插槽文檔: https//docs.microsoft.com/en-us/azure/app-service/web-sites-staged-publishing

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM