前面介紹過使用 Cost Management 這服務來察看服務費用和分析,也陸續針對常見的服務分別介紹了定價層和如何選擇以及和成本相關的注意事項,再來就要介紹一個免費的服務 Azure Advisor,它會針對所有 Azure 資源做健檢並給出評分,健檢的內容包含了成本、安全性、可靠性、效能等項目,而其中成本的項目會幫我們分析服務的使用並給出合適的建議和調整。
Azure 成本管理 05 - 使用 Azure Advisor 來察看成本相關建議
- 189
- 0
- Azure 成本管理
前面介紹過使用 Cost Management 這服務來察看服務費用和分析,也陸續針對常見的服務分別介紹了定價層和如何選擇以及和成本相關的注意事項,再來就要介紹一個免費的服務 Azure Advisor,它會針對所有 Azure 資源做健檢並給出評分,健檢的內容包含了成本、安全性、可靠性、效能等項目,而其中成本的項目會幫我們分析服務的使用並給出合適的建議和調整。
OpenAI 可以讓我們很方便快速的串接跟做出一些相關的應用,用使用的很開心之餘,還是要面對一下費用,不然一不小心可能就讓費用超出預算太多了,比如前陣子一個熱門的專案 Auto-GPT 只需要給它初始的目標,它就會自動的對話然後產生出結果,因為它會自動的一直呼叫 API 來產生最後的結果,所以可能一次的結果就呼叫了很多次的 API 導致產生的費用超出想像,所以還是瞭解一下計算方式以及費用,就比較容易在成本和預算的考量下挑選出最適合的模型。
雖然微軟或 OpenAI 都有提供 PlayGround 可以方便我們測試 OpenAI ,但是最後還是得串接 API 來客制化或整合 OpenAI 到現有程式或產品中,一開始在常識的過程都只能直接呼叫 REST API 或是只有 Python 套件,身為懶惰的開發人員當然不想自己包套件去呼叫 REST Api,最近在找資料過程發現微軟也終於推出 prerelease 版的 SDK 套件 Azure OpenAI client library for .NET,雖然還在 Preview 階段,但是還是記錄一下使用的經驗
前面介紹了如何申請和建立服務以及建立模型的部署,都完成之後,我們就可以正式的來使用 OpenAI 了,本文將會透過 Azure OpenAI Studio 來測試我們建立的模型部署,Azure OpenAI Studio 是微軟針對 OpenAI 提供的 GUI 介面,讓我們可以方便快速的測試和使用 OpenAI,在測試完成之後後續可以再透過 API 來整合或是開發相關的應用,就可以加快驗證想法的可行性和調整 Prompt 的內容。
在使用 OpenAI 的時候,Token 是會影響到呼叫的模型可接受的上限和回應結果以及計費時候也是以 Token 數量來計算,所以如何計算 Token 在要正式部署服務時候就很重要了,而不同模型間計算的方式也有所不同,本文後續就針對 Token 來做深入的探討和測試。
在開始使用 Azure OpenAI Service 的時候,看到一堆模型,一開始會不知道該選擇哪一個,所以還是得先瞭解一下目前 Azure OpenAI Service 上面目前有哪些可以使用的模型,又它們適合的情境會是在哪一方面。
現在開發上越來越依賴使用 NuGet 來管理套件,專案和團隊變大之後就會開始把一些共用的函示庫抽離並打包成 NuGet 套件,而這些套件屬於公司內部使用,所以就會需要有私有的 NuGet,這時候可以有兩種方案,一個是使用一個共用的資料夾或是 Azure DevOps 上的 Artifacts 來管理套件,這時候如果有設定 Azure DevOps 的 CI/CD 的話,就需要多一點設定才可以連接到這些非官方 NuGet 的外部套件來源,本文就來介紹如何設定以及需要注意的點。
在 Azure 上面執行排程程式除了 Azure Function、Logic App 等服務以外,最方便的方式還是使用 App Service 裡面的 WebJob,它可以執行很多種類型的程式,所以我們可以簡單的開發一個 Console 程式去執行我們的排程程式,而當然也要讓它可以自動化部署,在設定上會有一些細節需要注意,所以特別針對一些設定和參數來記錄一下部署的流程。
本系列的第三篇文章,這次要部署的服務就是 Azure Kubernetes Services,現在很多服務架構上都會使用上 K8S,而在 Azure 上面也提供一個受控的 K8S 服務,就是 Azure Kubernetes Services,它可以減少我們管理 K8S 的一些成本,需要更新 K8S 版本的時候也可以一鍵點選就可以升級節點的 K8S 版本,需要增加節點的時候也可以很方便的透過手動或是設定自動調整,如此一來我們就可以專注在程式的部署上就好,不用太擔心整個 K8S 叢集的維護和管理。
在前一篇「使用 Azure DevOps 部署到 App Service 預備環境 (Slot) 並進行切換」介紹了將程式部署到 App Service,那另一個常見的情境則是 VM,這次就針對部署到 Azure Windows VM 來作為情境介紹。
App Service 有一個很實用的功能就是預備環境 (Slot),他可以方便我們在部署程式的時候可以先佈到預備環境,測試完成之後可以直接和正式環境進行切換 (Swap),也可以在發現有沒測試到的嚴重問題的時候可以再切換一次,就可以快速的退到前一版的環境,那要結合 Azure Devops 的話就可以達到自動化的部署和切換,而且可以加上審核的關卡,測試完成之後審核完成就自動的進行切換,本文就來針對這樣得情境進行介紹如何完成這樣的自動化流程。
在之前的文章 App Service 實做身份識別存取 KeyVault 中我們實做了使用身份識別在 App Service 中存取儲存體,而身份識別目前也在 Azure 很多服務都支援,其中一個就是常見的服務 VM,本文就來實做 VM 中的 IIS 執行的 ASP.NET 站台上使用身份識別存取儲存體。
工作上剛好遇到需要將儲存體打包並下載的功能,所以整理了一下程式碼並寫成簡單範例。包含了列出儲存體容器內的檔案和打包下載的功能,壓縮的部分則是使用 SharpZipLib
套件來完成。
在微軟公告停止 Azure DevOps 上的負載測試服務之後,在 Azure 上要進行負載測試就得透過第三方服務或是自行架設 VM 來進行測試,終於微軟推出專用的服務 Azure Load Testing,可以讓我們透過定義好的 JMeter 腳本來進行負載測試,本文就來介紹要如何進行設定和測試,以及服務的費用說明。
微軟在 Azure 上面提供了 Private Link 這一個服務,可以將 Azure 上的 Pass 變成私有的服務,僅能透過 Private Link 才可以連線到,從外部網路是無法直接連線到,如此對於資安有較大要求的情境,就可以設計出僅在特定網路下才可以連線的架構,但是在這樣的架構下也會產生額外的需求,比如說 App Service 的部署,在這個情境下就不能像之前文章「使用 Visual Studio 部署網站到 App Service」的方式直接部署上去,因為這時候是無法從外部網路直接連線到 App Service 的,而解決的辦法最簡單的方式就是建立一台跳板機 VM,設定和 Private Link 同一個虛擬網路,再透過這一台機器進行部署,但是這樣的方式就得在每次要部署時候在連到跳板機器再去部署,還是不夠方便,因此我們可以透過 Azure DevOps 自動化部署,後面文章就來說明實做設定的流程了。
繼前面「Azure Container Apps 初體驗」之後要來實做持續部署的設定,而在 Azure Container Apps 服務裡面目前支援的是 GitHub Action,而不是 Azure DevOps,本文就針對實做的一些細節和心得作分享。
身為使用微軟解決方案的開發者,一定都會使用到 NuGet 套件,不管是官方或是非官方的,一定多少都會使用到。然後在實務上一定會有需求會要建立私人的 NuGet 提供庫,比如說公司內部共用的類別庫,這些很多都牽扯到商業邏輯,不可能直接發佈到官方公開的 NuGet 上,這時候就可以使用 Azure DevOps 內的 Artifacts 來管理和提供套件,既然都已經使用到 Azure DevOps 了,那當然也希望可以自動打包並部署到 Artifacts,不然得在每次 commit 之後還得自己執行指令來打包和推送套件上去,這樣太花時間了,本文就針對 .NET Core 來說明如何設定自動化和使用 Artifacts 取得套件。
在使用 Azure DevOps 的 Boards 的時候,我們新增工作項目時候會很常使用到 Tag 功能來針對項目作標記,方便後續呈現和篩選時候使用,按照預設值應該專案成員都會有新增(定義) Tag 的功能,但是針對新進成員設定權限時候,卻發現成員無法新增 Tag,但是可以選擇已有新增的 Tag,本文記錄解決這個問題的筆記,怕之後遇到會再忘記了XD
微軟在前幾天的 Ignite 2021 宣佈推出了 Azure Container Apps,這是一個基於 Kubernetes 的無伺服器容器執行服務,可以更方便我們管理和部署容器服務,快速的玩了一下,把一些基本介紹和使用心得整理一下。