跳到主要內容

發表文章

目前顯示的是有「App Service」標籤的文章

[AWS功能整理] Elastic Beanstalk

前言 當我們開發完一個WEB專案之後, 接下來要做的就是測試跟部屬, 通常在部屬的時候, 往往都是找一台機器開始灌OS, 切partition, ...OS灌完之後還要再安裝Application Server, 像Tomcat, IIS 等等 然後設定環境, 如網路,憑證,備份,,等等 最後才開始部屬WEB application, 可是到這個時候, 差不多也浪費掉了一兩天的時間 Elastic Beanstalk(簡稱EBS)是Amazon提供的PAAS服務, 開發人員不需要考慮如何配置以及維護環境, 甚至也不需要煩惱scaling的問題, 只要專心寫程式, 然後上傳到EBS上, 所有跟環境有關的工作EBS都會幫你完成 EBS會幫我們做Heath check, 程式有問題時馬上就會知道, 如果流量增加, EBS也可以幫我們做load balancing, 除此之外, 版本管控的功能也可以讓我們隨時方便的做Roll back Deployment policy EBS 提供四種部屬方式 All at once 直接部屬到所有的instance上, 在部屬期間服務會被停止, 部屬失敗的話需要額外再做Roll back Rolling 選擇這個方式, EBS會一個接著一個將程式部屬到每個instance上, 對外服務不會被停止但整體的performance會下降, 對於很吃performance的WEB APP來說並不適用, 部屬失敗時也需要額外的動作去做Roll back Rolling with additional batch policy 會額外再多建立新的instance去做部屬, 然後再一個接一個部屬下去, 好處是部屬時不會造成performance下降, 部屬失敗時也需要額外的動作去做Roll back Immutable 所有的instance會先部屬在分身上面, 當部屬成功後分身會取代本尊成為服務的提供者, 而先前的instance會被刪除(非常適合Missions critical production), 部屬失敗時影響最小, 只要砍掉分身就好 Config EBS允許我們使用特定的config檔案去客製化EBS上的環境, 例如安裝那些套件, 建立那些特定的...

[Azure APP Service] C# ASP.NET 讀取應用程式設定, Get value from APPSettings

前言 通常開發WEB服務時, 對於一些比較敏感的資訊, 我們會盡可能的不要寫死在程式碼裡(如資料庫帳密以及某API的ACCESS KEY)避免資訊外流的問題發生 又或是說, 當程式呼叫的某些REST API 有分正式與開發的版本的時候, 如果Endpoint是寫死在程式碼裡面, 絕對是非常非常的不方便, 開發的時候改成開發的, 上線前還要再改回來, 然後重新編譯 一般而言, 我們可以將這些資訊保存在外部檔案中,  Runtime的時候再來取得這些資訊 又或是將這些資訊寫在環境變數之中, 等Runtime的時候再來取得這些資訊 若你的WEB服務是部屬在 Azure App Service的話, 我們可以善用Application Settings這項功能, 我們可以將想要存的都寫在裡面 列如: 假設Application Settings 裡定義了BOT_NAME 以及 PROJECT_ID 我們可以使用以下程式碼來取值 System.Configuration.ConfigurationManager.AppSettings[] 首先, Step 1. Add Reference Step 2. Import Configuration           using System.Configuration; Step 3. Get Value 假設我們要取PROJECT_ID的值, 那程式可以這樣寫              var  ProjectId =  System .Configuration.ConfigurationManager.AppSettings[" PROJECT_ID "]                                        ??...