免費學習,考證免費!不要錯過微軟 2023 Build 大會的 Cloud Skill Challenge - Bonus 我的 Tibame 課程也能夠免費
這個系列是 AZ 104 的線上課程裡面所規劃的 Lab 用圖文方式呈現出要如何完成
這個 Lab 的主要目的是讓學生熟悉如何使用 Azure Portal 去做資源管理
在這個 Lab 裡面總共有 3 個任務:
在今年的 02/07 到 02/09 號之間,在 Southeast Asia 和 East Asia 這兩個 region 的服務都有受到影響,甚至導致資源無法存取
剛好藉著這個事件,我們這篇來探討一下在 Azure 裡面最基本的高可用(High Availability)概念,也就是 Regional、Availability Zone 和 Availability Set
取決於應用的等級,應該用什麼等級的高可用,這篇我們來看一下
功能 | Azure Region | Availability Zone | Availability Set |
---|---|---|---|
定義 | 包含一個或多個資料中心的地理區域 | 擁有獨立電力和網路的單一資料中心 | 在資料中心內的虛擬機器的邏輯分組 |
目的 | - 能夠部署應用在更靠近使用者的地方 - 提供高可用 |
提供更高的高可用 | 提供高可用 |
SLA | 保證 99.99% 的運行時間 | 每個 Zone 保證 99.99% 的運行時間 | 每個 Set 保證99.95% 的運行時間 |
隔離 | 與其他 Region 隔離,擁有獨立資源 | 與其他 Zone 隔離,擁有獨立資源 | 多台 VM 橫跨在多個 Fault Domain |
費用 | 價格因 Region 而異 | 除 VM 和儲存空間外,無額外費用 | 除 VM 和儲存空間外,無額外費用 |
VN11-JD8 事件的影響 | East Asia Region 的部分服務受到影響 | 如果有部署到 2 個或以上 Zone 的服務受到服務影響 | 部署到有影響的 Datacenter 應用因此受到服務中斷 |
在上一篇 為什麼我的 Azure Windows Virtual Machine (虛擬機器) 連線不到?故障排除指南指南 | FAQ 其中有提到,如果在建立過程把 Public IP 拿掉的話,那麼最後當然就不會建立出來,那麼就只透過內網的 Private IP 來連線
不過建立完之後,想要加載 Public IP Address 會怎麼做呢?
這篇我們來看一下
對於任何第一次上手任何雲端服務的時候,第一件事估計都是建立出 Virtual Machine (虛擬機器),算是雲端的 Hello World 吧。
這個時候,如果遇到無法連線(這邊的連線指的是透過 Remote Desktop Protocol)進去估計會很沮喪,導致撞墻不想繼續下去。
我這篇想要先介紹一下,如果遇到這件事,可以從什麼角度去嘗試排除問題。
這邊主要是會以 Azure 的 Windows VM,不過基本概念在任何雲端平台都是一樣的概念。
在 上一篇 我們看了如何從需求的角度來找出適合的 VM 規格
不過假設今天是要反過來呢?
也就是假設已經有用了某個規格,想要知道有沒有更好的規格那怎麼辦呢?
今天介紹的 Azure VM Comparision 就是要解決這個問題
來看看怎麼使用
一年一度台灣社群最大的 .NET 相關活動又來了
和前幾年一樣,也是協力主辦和講師的身份參與到活動
在這篇分兩個部分,一個部分是這次分享的主題,另外一個則是協助的一些小插曲
當真的開始要在正式環境管理 Azure 資源的時候,就會開始遇到一些管理上面的問題
舉例來說,不應該給權限的就不應該要給。譬如說假設某些人員不應該有刪除的權限,那麼就不應該給他
但是假設今天是他本來就應該有權限,但是不小心誤刪怎麼辦?
或者說把 Production 機器誤以為 QA 環境結果把機器給關機了怎麼辦?
這個時候就不是設定權限給太大的問題
這時候就應該要好好利用 Resource Lock
這篇,來看一下 Resource Lock 是什麼以及該怎麼用
以前有考過微軟和開發相關證照的人一定會對於像是 70-483 或者 70-486 這種代碼有印象(如果沒看過很好,表示還年輕 XD),那種證照比較專注於實際怎麼開發,但是大家會發現那些現在都 retire 掉了。
而微軟目前和開發比較沾上邊的就只有 AZ-204:Developing Solutions for Microsoft Azure。
而 AZ-204 最主要的講的就是怎麼做出 Cloud Native App。
當大家在搜尋和雲端開發相關知識的時候,相信也常常會看到 Cloud Native Application 或者雲原生應用這個名詞。
這個到底指的是什麼?什麼 Application 才算是 Cloud Native App?
這篇我們來簡單看一下這個概念。
上雲的其中一個好處是能夠善用它的彈性 (elasticity),也就是當流量變大的時候,要做 scale out 的時候可以很容易做到。
還有另外一個優點是可以善用跨 region 的好處,讓服務可以部署到不同 region,靠近使用著所在的位置,以及提供 High Availability (HA,高可用)
不管是為了 scale,還是速度或者是 HA,這時候 Load Balancer (負載平衡) 就變得很重要。
那挑選什麼 Load Balancer 也變得很重要,這篇來看一下相關可以使用的服務。
當思考假設任何應用程式的時候,第一個要思考的肯定是運算相關的服務。
也就是要使用什麼方式來執行應用程式。
這個時候取決於幾個不同的考量點,可能會使用不同的服務。
這篇,來看一下,那些需要思考的點,以及可以參考的地方。
有時候自己已經聽過或者知道某個服務,但是想要找一些參考資料做學習或者看相關的架構文件,有時候沒有那麼容易可以找到。
在這篇將會介紹一個網站叫做:Azure Charts,這個網站可以讓我以服務的角度快速找到相關資訊。
來看看能夠做到什麼。
Azure 服務這麼多,到底什麼情況下可以挑選什麼,是這個系列想要介紹的內容。
舉例來說,今天我有運算相關需求,到底什麼時候要用 VM 什麼時候要用 App Service,或者什麼時候應該要用 Container Instance。
這些問題應該是要結合當下的情景,然後再來作出挑選。
那這些情景應該用什麼條件做判斷?
在上一篇 ([10] 關聯式資料庫及大數據分析服務介紹 - MSSQL、MySQL、PostgreSQL、HDInsight 、 Synapse Analytics [從 Microsoft Learn 學 Azure]) 介紹了有那些關聯式資料庫的服務以及 Big Data 服務之後。
這篇要實際建立看看 - 看一下要建立出一個 Azure Sql Database 需要做什麼。
那如果遇到過啟用 Azure Sandbox 但是還是進入了自己的 Subscription 也不用慌,這次一次一起介紹。
在上一篇 ([09] NoSQL 存儲 - Azure Cosmos DB 介紹 | [從 Microsoft Learn 學 Azure]) 看完了 Azure Cosmos DB 這個 NoSQL 的服務之後。
接下來看看對於常見的關聯式資料庫 (RDMS) 這個部分 Azure 有什麼服務可以使用。
以及近幾年非常流行的大數據、AI 等,這些大數據存儲或者分析可以用什麼服務處理。
這篇將會介紹到:MSSQL、MySQL、PostgreSQL、Azure HDInsight、Azure Synapse Analytics 等服務。
在上一篇 ([08] 透過 Azure Sandbox 建立第一個 Azure 服務 - WordPress 網站 | [從 Microsoft Learn 學 Azure]) 透過 Azure Marketplace 建立出一個 App Service 運行 WorodPress。
在那個過程了解了實物上什麼是 Subscription、Resource、Resource Group 等 Azure 最基本的核心的概念。
完成了上面的 Module 之後,剛好完成了 Learning Path:Azure Fundamentals part 1: Describe core Azure concepts。
在接下來,將會開始進入下一個 Learning Path:Azure Fundamentals part 2: Describe core Azure services
在這個 Learning Path,將會看最核心的幾個服務:compute (運算)、storage (存儲)、network (網路)。
先從 storage 開始 - 看 No Sql 服務 Azure Cosmos DB。
上一篇 ([從 Microsoft Learn 學 Azure][07] 搞懂基本管理結構 - Subscription、Resource Group 以及 Region) 看完了一些 Azure 基本的組成概念,包含了 Subscription、Management Group、Resource、Resource Group、Region 等最基本的概念之後。
接下來在這個 Module 裡面,我們將實際透過 Azure Marketplace 建立出一個在 Web App 上面的 WordPress 網站。
在這個過程將會把之前提到的那些基本組成概念,在實務上面都看一遍。
在上一篇 ([從 MS Learn 學 Azure][06] 應用第一個 Module 學習到的內容 - Discuss Azure fundamental concepts) 把第一個 Module 的內容在次應用了一下,以 Case Study 情境列出了雲端運算 (cloud computing) 裡面的特色以及優劣之後。
在這篇將會看看更靠近 Azure 入門時候會遇到的問題。
什麼是 Subscription、Management Group、Resource、Resource Group、Region 以及 Region Pair。
在上一篇 ([從 Microsoft Learn 學 Azure][05] 第一個 Module 下篇 Introduction to Azure Fundamentals - 了解 Azure 服務及基本概念) 結束之後,對於 Cloud Computing (雲端運算) 應該就很有感覺了。
那接下來看的有點像是複習,但是有點不太一樣是針對 Azure 的部分,在做一些深入的討論。
這篇來看一下第二個 Module:Discuss Azure fundamental concepts
在上一篇 ([從 Microsoft Learn 學 Azure][04] 第一個 Module 上篇 Introduction to Azure Fundamentals - 了解 Cloud Computing 基本概念) 看了第一個 Module Introduction to Azure Fundemental。
看了第一個部分,裡面介紹了所謂的 Cloud Computing 的基本概念 - 為什麼會想要從地端搬到雲端。
接下來在這個 Module 的下半段就是在介紹 Azure 有什麼類型的服務可以使用。
在上一篇 ([02] Microsoft Learn 的基本組成 - 如何找到有興趣的內容或者考證照學習資源) 了解了如何找到有興趣的 Module 以及 Learning Path,並且如果今天是考認證的角度,也可以用認證的方式找到適合的資源。
到目前為止,就算不登入的情況下也可以學習,那這樣為什麼會想要登入呢?
這篇來看一下登入之後可以做什麼。
在上一篇 ([從 Microsoft Learn 學 Azure][01] 這個系列想要介紹什麼?) 介紹了這個系列的初衷,以及這個系列會介紹什麼之後,下一步當然就要來了解一下我們會主要使用到的學習系統,Microsoft Learn。
這篇來看一下,想要透過 Microsoft Learn 學習需要什麼,以及整個的網站是透過什麼方式來組成,了解到 Module (模組),Learning Path (學習途徑),以及怎麼找到自己感興趣的內容。
時間過得好快呀,一眨眼一年又過去了,又到了今年鐵人賽開始的時間。
在去年的時候,用了影片的方式建立了「我和 Azure 有約」系列。
那個系列是從無到有的介紹一些 Azure 常會使用到的服務。
這個過程其實也蠻好玩的,從一開始音質非常不 ok,然後調整到了之後,買了麥克風等等,到最後現在音質應該比較沒問題。
那今年我其實也有考慮過是否把那個系列繼續下去,但是後來想一下,還是想說開另外一個系列(不過不太表那個系列不會繼續下去 XD),不過為什麼會想要開這個系列呢?
這篇我們來看一下,並且看看這個系列要做什麼事情。
好久沒有參加/舉辦 Study4 的活動了,這次由 Poy 大大邀約想要做一次 Study4 的線上和線下的結合活動。
也就是說,有線上直播的同時,也有現場的觀眾。
這次有幸能夠擔任其中一個講者,主題是:架構這件事 - Azure 可以幫助什麼
這篇就來記錄一下當天的情況。
在上一篇 ([03] 怎麼申請考試) 介紹了如何申請考試之後,理論上應該是先介紹有那些資源可以用來準備考試。
不過,剛好有人在 FB 問我說如果想要線上考試,應該怎麼做。
所以,我調整了一下順序,先和大家介紹一下要考試的時候,要準備什麼,以及大概流程是如何。
這篇先從如果是要在家裡或者在辦公室考試,要準備什麼。
上篇了解了 Access Tier 這個 概念之後以及其重要性
下一個問題就是:
那應該如何設定?
除了手動設定之外,有定期性的需要調整,有沒有什麼 schedule 可以用? 這篇來看看 如何設定以及使用 Lifecycle Management
費用相信是上雲的一個很大會被考量到的部分
那省錢不省錢完全取決於怎麼使用服務
在 Blob Storage 有個可能會被不小心忽略的地方,就是所謂的Access Tier
這篇來看看,Access Tier 是什麼?以及怎麼樣影響到費用
上篇看完了怎麼自己手動呼叫snapshot來保留檔案的歷史之後
可是,snapshot畢竟還是要自己手動呼叫,有沒有什麼能夠自動記錄的功能呢?
這篇來看看preview的功能:version 能夠自動在檔案異動的時候建立版本 (snapshot)
上篇看完了Soft Delete知道了如何透過開啟他來避免誤刪或者誤修改之後
延伸的問題是,如果今天是我想要控制備份的時間點可以怎麼做?
這篇來看看snapshot,也是Soft Delete底層使用到的功能
上篇看完了Azure File和Azure Disk的差異之後,相信對於什麼時候選擇什麼服務比較有概念
接下來看一些blob storage裡面偏管理比較方便的功能
先從如何避免誤刪檔案開始,看看什麼是Soft Delete,怎麼開啟,並且使用
上篇看完了Azure File和Azure Blob Storage的比較之後,再來看一個也和File類似的Storage,也就是Azure Disk
先了解一下兩種不同類型的Disk - managed vs unmanaged
再來在看看什麼時候適合File,什麼時候適合Disk
上篇了解了什麼是Azure File並且如何建立出File並且Mount在OS作為網路磁碟之後
接下來來比較一下,什麼時候適合使用File?
這篇,先看看File和Blob storage的比較 從價錢以及那個適合什麼情景看起
看完了Blob之後,來看Storage的另外一種服務,也就是File
File服務可以讓我們透過使用SMB 3.0的Protocol把他掛載成為network drive 非常適合做Lift and Shift的Migration
這篇來看看Azure Storage File, PaaS的File Server服務
在05/06的時候有幸在Azure Taiwan介紹了主題:Azure 成本控管。
這篇簡單記錄一下主要介紹的內容,以及提供一些參考資料。
Azure Storage 的好處其中之一就是他的SLA保證
假設,今天想要從地端備份資料到雲端,那麼Azure Storage Blob絕對是一個可以考慮的服務 但是,怎麼樣才能夠自動讓他每天備份呢?
這個時候就需要CLI工具,而AzCopy就很適合 來看看怎麼使用AzCopy
在上一篇 ([02]微軟有那些證照可以考,以及開發者適合那些) 了解樂證照類型之後,下一步當然是了解自己的目標是那一張證照。
原則上,建議可以從Associate等級開始考起,基本上只要有大約1~2年的使用經驗在加上系統學習,一般問題不大。
那麼,最大的問題肯定是:沒有時間學習。
依照我個人的經驗,這個解決方式就是:把考試訂下來,那麼就有時間去學習。因為怕考沒過浪費錢,因此訂了考試,就會逼自己去學XD。
所以,這篇先來以AZ-203的證照為例,看看怎麼申請考試。
在上一篇([01]該不該考證照?要注意什麼?MCP是什麼?MCID是什麼?這個系列的索引文章)介紹了為什麼可能想要考證照了之後,接下來的下一個問題就是:那我可以考什麼?
在這一篇將會介紹一下微軟證照裡面,針對Developer的有那些,以及可以考慮往那一邊做準備。
好久沒有寫參加活動的文章啦,雖然這一次也沒拍什麼太特別的照片。
不過也算是記錄一下當天介紹的內容以及簡單介紹一下整體活動。
最近大家應該常被我在FB或者其他平台轟炸,又考過了xxx微軟Azure的證照。
如果因為這樣而萌生起考證照的話,或者只是想要挑戰自我,那麼應該要怎麼開始呢?
這是我想寫這系列的原因之一,想要把我對於考證照的一些心得以及感想分享給大家。
這篇將會是這個系列的索引,因此先來和大家介紹比較大方向的部分。
Azure DevOps是一個很好用,整合了DevOps環節都需要的服務
不過,當要開始導入到實際專案的時候,繞不過去的問題就是,他會需要多少錢? 雖然有免費等級,但是超過了之後怎麼辦? 以及之前介紹Test Plan感覺想用,那到底需要多少錢?
這篇來看一下
要注意,金額會隨著時間而變化,因此,建議評估的時候還是要看一下最新的情況哦
Azure DevOps系列之Test Plan迎來了最後一集啦
當一個功能做好了或者設計好了,那麼讓Stakeholder提供一些feedback非常重要 怎麼讓他們能夠簡單記錄feedback,又能夠整合到系統呢?
這篇來看看Feedback的部分
在上一集看到了,Test & Feedback這個套件 了解了如何使用裡面的Standalone模式來做Exploratory Testing 並且能夠匯出一個通用的格式報告
但是,還遺留了一個問題,Standalone產生完了之後還需要手動建立回Azure DevOps上面 難道沒有什麼方式可以做完之後自動建立bug、test或甚至是test case嗎?
這篇來看看Connected模式 - 看看如何做到這件事情
在上一集看到了,當Test Plan建立好了,就可以開始進行測試。
但是,每一個step之間怎麽不能夠記錄實際測試的截圖? 還有,如果今天要做Exploratory Testing怎麽樣才能夠把每個問題記錄清楚,並且用統一的一種格式呢?
這就是 Test & Feedback可以幫忙的地方。 這集來看看基本介紹,以及Standalone模式 - 瞭解如何透過他得到統一格式的報告
在上一篇介紹完了如何建立出Test Plan以及建立出Test Case之後
接下來要做的事情就是依照計劃執行測試,而測試的結果也非常重要
因此,這篇介紹如何依照計劃執行測試,並且看到執行的内容是什麽
在上一篇瞭解了測試有什麽困難,以及Azure Test Plan的一些關鍵字介紹
這一篇來實際看一下如何建立出Test Plan以及Test Case
測試都是保證程式碼品質的一個最好的方式
假設,今天公司要導入手動測試 (Manual Test) 遇到的第一個問題就是,我要怎麽計劃這些測試?並且我要怎麽樣知道每一個人的執行狀況?
Azure Test Plan 是 Azure DevOps的其中一個專門用來做這件事情的服務 這篇先瞭解測試有什麽困難點,以及Azure Test Plan的一些關鍵名詞。
這篇算是個番外篇 鐵人賽30天算是結束了,今天直接來個大亂入
這30天以來非常感謝給與我訂閲的大家 - 讓我可以在這個月每個指標都是 999% XD 這篇,看看這30天以來得到的結果是什麽,以及和大家分享一下一些可以期待的東西 別慌,這個系列不會結束,所以有興趣還是可以持續關注哦
上一篇介紹完了 SAS - 相信對於針對單一檔案開放權限應該沒什麽問題啦 但是,只是用SAS其實在管理上面不是很方便
Access Policy是爲了解決這個問題 這篇來看一下他可以做到什麽事情哦
在上一篇介紹了如何使用Azure Storage的Emulator進行開發 並且看了如何用程式碼的方式操作了Blob Storage
但是,遺留了一個問題:如果今天我只有想對單一blob對外開放怎麽辦? 這就是 Share Access Signature (SAS)的目的哦 這篇來看看如何使用
在上一篇瞭解了什麽Azure Storage Explorer 並且怎麽使用Storage Explorer來管理多個Azure Storage Account
但是如果在開發階段沒有Azure Credit怎麽辦? 微軟已經有做好模擬器可以使用 這篇來看看怎麽使用Storage Emulator,並且怎麽用程式方式進行操作
在上一篇瞭解了如何在Azure Portal建立出Account 並且在Portal上面對Blob進行了簡單操作
不過如果今天要管理很多Account用Portal不便利 這篇來看看另外一個工具,Azure Storage Explorer 看看能夠做到什麽
在上一篇瞭解了整個Azure Blob Storage的組成了之後
這篇來實際看一下:
在上一篇瞭解了Azure Storage提供了哪些服務之後
今天就比較深入的來看看Azure Blob Storage 先從幾個比較關鍵的概念開始 - 瞭解什麽東西會影響到費用
在上一篇介紹完了Azure SQL Database在費用計算上面的方式 暫時來説,Azure SQL Database就介紹到這邊
那對於一個軟體來説另外一個遇到問題就是,我的檔案要儲存在那邊? 這篇來看一下Azure Storage的一個基本的介紹
在上一篇介紹完了如何設定Always On了之後 Azure SQL Database應該聽起來都是一個很好的選擇
這時候就會遇到一個問題,那它的費用模式是如何? 怎麽收費?怎麽切換等級? 這篇來看看
在上一篇看完了如何使用Data Migration Assistant把資料庫搬遷上去了之後 在運行上,肯定會很擔心高可用的問題
這篇來瞭解一下如何透過Geo-Replication設定Always On 並且如何模擬FailOver
來看看用PaaS的好處 - 幾個按鈕就搞定複雜的設定
在上一篇介紹完了如何自己產生Sql Script以及用bacpac的方式來做資料migration 這篇來介紹另外一個工具,Data Migration Assistant 讓資料庫上雲不會卡卡
來看看它能夠做到什麽,以及有什麽不同
在上一篇介紹完了如何在Azure建立SQL Server以及Azure SQL Database 並且看了如何使用SSMS連線上去
但是,如果現有資料上不去的話,其實沒有任何意義 所以,這篇來看一下如何做資料Migration - 先從用scripts以及bacpac開始
在上一篇介紹完了Azure Sql Database的基本概念之後 接下來就是實際操作建立起來是什麽感覺
這篇來看看如何建立一個Azure Sql Database
在上一篇介紹完了Azure App Service的CORS設定之後 基本上App Service服務差不多了 - 還有一些細節以及監控相關就之後在介紹
這一篇來介紹所有軟體會需要的一個服務,也就是儲存資料用的資料庫 來看看Azure提供了哪些SQL相關的服務
在上一篇介紹了如何透過Visual Studio 做 Remote Debugging
這一篇介紹一下Web API長用到的設定 怎麽設定CORS (Cross-Origin Resource Sharing)
在上一篇介紹了一些azure的diagnosis工具來偵錯問題
但是有時候還是會希望像是在local debug一樣的來偵錯 是否能夠做到呢? 這篇來看看remote debugging的功能
在上一篇介紹了Kudu的服務以及能夠做到什麽之後 最後提到了其實很多kudu功能整合到了Portal上面
在這一篇將會用一個案例來看一下,當網站出錯之後怎麽用這些服務來做問題排除
在上一篇介紹了什麽是App Service Editor,以及如何透過Service Editor來快速檢視/編輯部署上去的程式 其中,介紹到了網址的部分看到了kudu這個工具
那kudu是什麽?它能夠做到什麽事情呢? 這個是今天要看看的内容
在上一篇更深入瞭解了Web App的設定,包含怎麽避免Deployment Slot Swap 的時候,設定不會跑掉,以及怎麽快速編輯設定。
這篇來看一下維護的時候也常會需要用到的部分 如何透過App Service Editor看到/編輯部署上去的程式 以及爲什麽使用它,和FTP差異在那邊
上一篇瞭解了怎麽透過設定環境的方式切換設定
不過可能有一些設定不想要放在AppSetting裡面讓開發者看到怎麽辦? 這篇來看看Configuration的一些使用小技巧,讓有些設定放在Azure就好
上一篇瞭解了如何把程式碼部署到不同的環境之後
然後透過Deployment Slot來做到Blue Green Delployment 這一篇來看看環境設定這件事情,看看如何在Azure Configuration切換環境
在上一篇瞭解了如何透過publish檔案用Visual Studio部署程式上去之後
這一篇來看看所謂的Deployment Slot 瞭解一下如何幫助部署程式,以及如何用它做到Blue Green Deployment
在上一篇介紹完了如何用最常見的方式FTP來部署了之後
這一篇來看一下如何透過Visual Studio做publish的方式快速更新上去
在上一篇瞭解了如何把Azure Web App建立出來之後
接下來的問題就是:怎麽把我建立好的網站或者服務部署上去?
在這一篇將來看一下如何透過最常見的方式,FTP,來把網站部署上去
在上一篇瞭解了什麽是App Service之後
在這一篇將會介紹如何建立出App Service Web App
介紹費用選擇的差異以及如何建立出來之後調整scale up以及scale out
什麽是App Service呢?
他是由什麽東西組成的呢?
App Service支援那些環境呢?如果非Windows (.NET) 是否可以呢?
這篇來看一下
上一篇瞭解了怎麽操作Azure Portal了之後
這一篇來實際看看Azure上面的第一個服務Resource Group
瞭解一下什麽是Resource Group,Resource Group能夠做什麽?爲什麽要使用Resource Group?
有了Azure Subscription之後,接下來就是可以開始使用Azure來建立服務。
不過在使用之前,第一個遇到的問題是,怎麽操作Azure Portal?
這一篇將會介紹:
要開始使用Azure之前第一件事情就是要搞定Subscription。
怎麽可以建立出Subscription?以及怎麽樣可以免費開始使用Azure?
這篇將會介紹
iThome 第11屆鐵人賽 的系列教學影片 - 我和阿九(Azure)有約 的第一篇開篇影片
主要介紹一下個人背景,以及這個系列要介紹什麽東西。
在上一篇([faq]Azure DevOps如何透過設定Service Connection連到非同帳號的Azure 訂閲 - GUI篇)介紹了如何透過GUI的方式在Azure建立出Service Principal用來在Azure DevOps設定Service Connections的時候用來作爲登入的驗證方式。
不過GUI雖然直覺,但是Azure如果有改版那麽很有可能資訊的位置會換,這個時候要在產生Service Principal又可能要找一下。
更好的方式其實可以透過用script的方式得到結果 - 這樣不管誰來做,得到的結果都會是一樣的 - 並且需要的資訊也可以一目瞭然,不用切來切去找不同訊息的位置。
這篇來看一下,如何透過powershell的方式,快速建立出Service Principal。
Azure DevOps裡面的Pipeline功能讓做軟體開發裡面的CI (Continuous Integration) 以及CD (Continuous Develiery) 非常的容易。
其中,在CD的時候把結果部署到Azure上面是很常見的一個需求。
在Azure DevOps裡面設定可以部署到那個Azure訂閲裡面是透過設定Service Connection,如果目前登入到Azure DevOps的帳號有權限操作Azure訂閲,那麽設定Service Connection非常的容易。
但是如果沒有呢?畢竟管理Azure DevOps和管理Azure很有可能是兩個不同的帳號。
這個時候怎麽辦呢?
這篇來看看如何透過在Azure建立App以及Service Principal,然後在Azure DevOps使用這些資訊建立出Service Connection能夠CD部署到Azure上面。
辛辛苦苦開發的Asp .Net Core網站做完了,在local測試也沒什麽問題了,接下來肯定是要發佈到正式機器讓世界看看你的傑作。
但是,當發佈到Azure Web App上面,卻出現了An error occurred while starting the application
,然後其他除了執行環境訊息之外什麽訊息都沒有。
這個時候該怎麽辦?我只是想要把網站run起來怎麽那麽困難!!!
這篇將介紹如何偵錯這類的問題。
在上一篇([12]人臉識別的AI服務 - 用Face API Explorer看看Identify的應用)介紹完了Face API Explorer裡面的Identify功能之後,這個系列就已經到了一個尾聲。
雖然說并不是所有的Face API方法都有介紹,但是相信就算要使用的話,因爲有了其他方法的介紹做基底,要理解應該不會太難。
這篇將會對這個系列有介紹的服務做一個統整的介紹(像是一個目錄),并且留下一些參考資料。
上一篇([11]人臉識別的AI服務 - Identify 找出圖片的臉是誰)介紹完了如何透過Identify的方式找出圖片裡面的臉是屬於那個人之後,這個系列要介紹Face API的服務就差不多告一個段落。
介紹純API的呼叫是看看最底層的用法,當整合到Application裡面,用途就多了。
這一篇將用Face API Explorer這個工具,看看在裡面是如何整合Identify的功能。
在上一篇([10]人臉識別的AI服務 - Verify 驗證臉是不是屬於某個Person)介紹了PersonGroup train出來的Model的其中一個用途,也就是用來確認某個臉和某個person是否為同一人。
這一篇來看看另外一個用途:identify
,也就是直接從臉找到是誰。
在上一篇([09]人臉識別的AI服務 - Face Api Explorer - GUI工具來建立Person Group Model)介紹完了Face Api Explorer這個工具之後,相信在建立PersonGroup Model就易如反掌啦。
建立好了Model,下一步當然是看如何使用這個Model。
總共有兩個方法:
Verify
之前介紹過([06]人臉識別的AI服務 - 使用Verify確認兩張圖片的人臉是否為同一人),不過那個時候是兩張臉比較,這篇介紹一下如果拿人比較如何使用。
在上一篇([08]人臉識別的AI服務 - 建立自己人物的臉Model - 瞭解PersonGroup、Person以及Face的概念)介紹了PersonGroup、Person以及Face之間的關聯,并且透過用直接呼叫API的方式建立出了一個myFriends
的Model,下一步就是要看如何使用這個Model。
不過在進入如何使用這個Model之前,肯定是要先把Model Training好用起來才好用。但是要透過Postman一個一個建立Person以及加入Face有點不方便,尤其是看不出來目前那些person有哪些face (上篇沒有介紹取得的API,但是是可以取得建立的信息,但是畢竟都是文字看起來還是不容易看)
難道沒有GUI的界面嗎?這邊就來介紹一個大大所建立的Open Source專案,Face API Explorer。
在上一篇([07]人臉識別的AI服務 - C#整合Verify驗證兩張圖片的人是否同個人)介紹完了Face Api裡面的Verify功能,在介紹這個Api的時候遇到了其中一個呼叫方式的參數叫做personGroupId
。
這個Person Group Id只得是什麽呢?如何建立呢?
這邊來看一下在Face Api裡面的Person Group、Person以及Face的概念,以及如何呼叫API來建立這些概念。
在上一篇([06]人臉識別的AI服務 - 使用Verify確認兩張圖片的人臉是否為同一人)介紹了如何使用verify
這個功能來驗證兩個人臉(faceId)是否為同一人。
這篇將來看看再C#裡面如何呼叫verify
這個方法。
在上一篇([05]人臉識別的AI服務 - 使用Python框出圖像裡面人臉的部分)看完了如何在Python裡面呼叫Face Api裡面的Detect服務,并且把圖片裡面的人臉部分用紅色框起來,然後把年紀用藍色列在了頭像下面,基本上識別相關的服務就介紹到這邊。 剩下的應用就是看想象力了。
能夠識別圖片裡面的人臉只是服務的一部分,另外一個常用情景是,能不能識別人臉是不是屬於同一個人?這種類型的應用非常的多,例如環安裡面當是同一個人門要開啓就可以使用到這個服務。
這篇來看看如何使用Verify這個服務,看看如何呼叫,并且回傳的内容是什麽。
在上一篇([04]人臉識別的AI服務 - 整合Face Api的Detect功能到C#程式裡面)看完了如何用C#呼叫Face Api取得圖像裡面人臉的資訊并且印在console上面之後,這篇連看看另外一個使用情景。
Python是一個最近很火紅(或者説一直以來都很火紅)的一個語言,可不可以用Python呼叫Face Api?
這篇來看看如何用Python把圖像裡面屬於人臉的部分框起來。
這篇的程式碼github頁面是alantsai-samples/mhat-cognitive-service-face-api:blog/chapter-05
也可以透過檢查Azure Notebook來看到原始碼:https://notebooks.azure.com/alantsai/libraries/blog-sample-cs-face-api/html/chapter05-face-api-detect.ipynb
在上一篇([03]人臉識別的AI服務 - 用Postman測試Detect服務能做什麽)透過使用Postman的方式瞭解了Face Api裡面的Detect服務的所有功能之後,接下來就是要看看如何在程式裡面使用Detect服務。
這篇將使用C#搭配.NET SDK來看看在程式裡面呼叫Detect有多麽的簡單。
在上一篇([02]人臉識別的AI服務 - 要使用Face Api的準備)介紹完了要使用Face Api所需要準備的東西之後。
這篇來實際看看Face Api裡面的Detect服務能夠做到什麽。
在上一篇([01]人臉識別的AI服務 - Face API能夠做什麽?)介紹了什麽是Face Api,以及Face Api能夠做到什麽事情。
接下來就是要看看實際上如何使用Face Api。
Face Api是微軟的Cognitive Service(認知服務)Vision(視覺)裡面的一個服務。
最主要的目的是用來處理和人臉識別有關的AI功能。
這篇從Overview的角度來看看Face API能夠做什麽,然後這個系列會介紹什麽。
在上一篇([42]回顧整個系列 - 開發Chatbot的整個生命周期)把整個系列文章review完了之後,算是把整個系列寫下了一個句點。
不過,下一步是什麽?依照關注的方向點不同可以往不同的地方鑽研。這篇將介紹接下來可以看的不同方向。
在上一篇([41]使用Chatdown做Chatbot的UI Prototyping),介紹完了可以用來做Prototyping的UI工具Chatdown之後,這個系列想要介紹的東西都介紹完了。
這篇想要整個重新在review一次整個開發chatbot的開發流程(lifecycle),并且看看再每一個環節這個系列都介紹了什麽可以使用。
在上一篇([39]Video Indexer - 讓影片可以被搜索和分析出影片的重點)介紹完了Cognitive Service的整合服務Video Indexer了之後,這篇來介紹微軟怎麽讓開發著使用Cognitive Service便的更加的容易。
看看管理Cognitive Service的好工具:Microsoft Visual Studio Tools for AI能夠做到什麽。
在上一篇([38]用Application Insight看使用者都在QnA Maker查什麽)介紹完了QnA Maker之後,接下來來看看另外一個也很有意思的服務 Video Indexer。
這個服務和QnA Maker一樣,他是一個用很多服務整合出來的Solution。和QnA Maker整合的都是Azure服務不同的是,Video Indexer整合的都是Cognitive Service的服務爲主。
這篇來看一下Video Indexer是什麽,并且看看能夠做到什麽。
在上一篇([37]維護QnA Maker的知識庫 - 設定url或者檔案為來源、多人維護以及離綫定義知識庫)介紹完了如何更容易的去維護Knowledge Base了之後,這篇來看另外一個問題:就算再怎麽維護Knowledge Base,如果裡面内容不符合使用者的查詢,那麽一點意義都沒有。
因此瞭解到使用者怎麽詢問這些Knowledge Base非常的重要。
在這一篇將來看看如何透過Application Insight看看使用者都在搜索什麽問題。
上一篇([36]Chatbot整合QnAMaker - 使用對話查找知識集)介紹完了如何把QnA Maker整合到Bot Builder SDK裡面,讓使用者可以透過問答的方式去搜索設定好的Knowledge。
這篇要來介紹維護Knowledge Base這件事。如何透過設定截取網頁内容或者截取檔案内容來設定Knowledge、怎麽多個人維護和怎麽Offline 透過LUDown這個工具來Offline備份以及設定。
在上一篇([35]使用QnA Maker打造問答知識類型資料集服務)介紹了QnA Maker的主要目的,以及如何使用之後,下一個問題就是要怎麽把QnA Maker整合到程式裡面。
在這一篇將介紹如何把QnA Maker的服務整合到Chatbot裡面。
在上一篇([34]賦予Chatbot用語音下指令以及翻譯的功能)介紹完了Translator Speech Api之後,基本上這個系列想要介紹的Cognitive Service基本服務都介紹完了,這些服務包含了文字、圖片以及語音的智能處理。
在這系列接下來的部分將在介紹幾個Cognitive Service的進階服務、以及管理和維護這些Cognitive Service工具以及微軟在AI這方面還提供什麽樣的未來藍圖。
這篇先介紹知識庫類型的服務QnA Maker,看看這個服務能夠做什麽。
在上一篇([33]C#使用Translator Speech API服務達到語音轉文字加翻譯)瞭解了如何用C# Console使用Translator Speech Api的服務達到語音轉文字加翻譯。那麽要整合到Chatbot就更加沒有問題了。
這一篇將介紹如何把Translator Speech Api整合到Chatbot裡面,語音能夠轉文字就能夠達到用說來叫Chatbot做事,并且提供一些多國語言的使用情景,例如不會說中文的客戶,可以透過chatbot達到及時語音翻譯。
在上一篇([32]Cognitive Service語音服務相關介紹)介紹了Cognitive Service裡面對於語音相關的服務介紹,在接下來將會關注在語音轉文字加翻譯的服務上面。
上篇提到有兩個服務在做這件事情,分別為Speech Service以及Translator Speech API。個人使用經驗是Translator Speech API比較準確,因此在這篇將環繞在如何在C#使用Translator Speech API。
在上一篇([31]Custom Vision Train好的Model匯出離線和給app使用)介紹完了把Custom Vision的Model匯出并且用Docker File版本讓他本地執行之後,在Cognitive Service裡面的圖片相關就介紹到一個段落。
在接下來的篇幅將來介紹另外一種常見的輸入方式,也就是透過語音的方式。任何科幻電影的指令輸入模式都是語音,例如《鋼鐵人》裡面的助理系統Jarvis,想象一下如果可以用説的就讓電腦做事有多方便。
這邊就來看看Cognitive Service裡面對於語音這塊處理有什麽幫助。
上一篇([30]Confusion Matrix - 用來衡量Classifier Model的方式 Precision和Recall)介紹了Confusion Matrix并且如何使用Precision和Recall這兩個指標來衡量一個Classifier Model的好壞。
這一篇又回到了Custom Vision。在Custom Vision Train好的Model是否能夠拿來離線和或者別的應用例如app裡面使用呢?
Custom Vision有提供匯出Model的功能,這篇將對這個部分介紹。
在上一篇([29]維護Custon Vision Model - 使用歷史查詢記錄做訓練以及如何版控)看完了如何用歷史的搜索結果來持續training Model(模型)并且透過iteration做到Model的測試訓練以及版控,不過上一篇也遺留了一個問題,怎麽看目前的Model是好還是壞?
這裡面就牽扯到了一些數學概念,因此在這一篇將介紹怎麽評判一個Classifier Model是好還是壞,透過Confusion Matrix以及Precision和Recall來瞭解一個Classifier Model的情況。
在上一篇([28]整合Custom Vision到chatbot - 拍照就可以識別價錢)把Custom Vision Training好的Model和Chatbot結合達到了拍照就可以辨識飲料價錢的功能。
這一篇來看看如何透過歷史查詢的圖片持續精進Model,讓他的準確度越來越高,并且透過Iteration做版控避免更糟糕的Model不小心上綫。
在上一篇([27]Custom Vision - 自己的Model自己Train 建立圖片的分類模型)瞭解了如何使用Custom Vision去train一個圖片的classifier模型,并且用了一些測試照片去測試模型的準確度。
是時候把這個功能整合到chatbot裡面了。這一篇將來實作整合進入chatbot的功能并且實現上篇提到的情景 - 透過拍照就可以知道這個飲料是多少錢。
上一篇([26]賦予chatbot OCR的能力 - 加入對發票的功能)介紹完了Computer Vision裡面的OCR服務整合到Bot Builder SDK的程式了之後,來看看另外一個和Vision有關的服務,Custom Vision。
在這一篇將介紹Custom Vision是一個什麽樣的服務,并且如何用Custom Vision來建立一個之後會用到的模型。
在上一篇([25]使用Computer Vision - 如何設定、看文件以及使用REST API測試)看完了如何建立Computer Vision的Key,瞭解如何看REST Api的文件并且用Postman做服務測試。
這一篇將把OCR的功能整合到chatbot裡面,看看實際開發起來是個什麽感覺。
在上一篇([24]圖像識別的服務 - Computer Vision概觀介紹)看完了Cognitive Service 裡面和 Vision 有關的服務,以及Computer Vision的一些簡單的功能介紹了之後,在這一篇將來看看實際上怎麽使用Computer Vision。
這篇將會先介紹如何建立Computer Vision需要的Key,再來用Postman呼叫OCR服務的REST API作爲測試。
在上一篇([23]LUIS管理工具 - luis-api和LUDown介紹)瞭解完了LUIS管理工具之後,基本上文字處理方面的神器LUIS介紹完了。當然,文字相關的處理還有一些服務可以介紹,例如QnA Maker
,不過這個在之後的篇幅再來説明。
接下來的篇幅將來看看另外一種越來越常見的輸入方式:圖像。有沒有什麽可以讓開發者處理圖像變得簡單?
這篇先來介紹一下微軟Cognitive Service裡面和視覺(Vision)有關的服務,并且概觀瞭解已經Training好的圖像識別服務Computer Vision
,看一下這個服務是什麽并且能夠做到什麽。
在上一篇([22]LUIS管理及維護 - 持續加强app、多人維護、備份以及加入別的region key)看了一些luis.ai的portal裡面提供維護LUIS app的功能,透過web界面這個讓一般使用者可以很容易的進行一些微調。
不過如果從開發者的角度,如果我想要透過script的方式去維護可不可以?然後在定義intent、utterance以及entities的時候是否可以不直接透過web界面就做到?
這篇,將來看看luis-apis
以及LUDown
這兩個小工具。
在上一篇([21]LUIS深入使用 - 如何在Bot Builder SDK使用entities)介紹完了如何在程式碼裡面使用LUIS截取的Entities之後,基本上LUIS的設定以及和程式碼如何搭配使用就基本上介紹完了。
程式最困難不是在開發,而是上綫之後的維護,LUIS的app也是如此,怎麽樣讓LUIS的app越來越好是接下來幾篇要介紹的部分。
這篇先從四個部分開始:依照使用者輸入内容來加强app、如何使用不同region的LUIS、多人維護 app和備份/匯入 app。
在上一篇([20]LUIS深入使用 - 定義Entities來截取參數)看完了如何定義entities之後,在這篇將來看看如何把定義的entities在程式裡面使用起來。
這一篇將先從加入訂房的intent,并且會依照使用者輸入的内容解析出來的entities作爲初始的表單值。
一起來看看如何在程式使用entities。
上一篇([19]把LUIS和Bot Builder SDK整合)看完了如何把LUIS model發佈出來并且在Bot Builder SDK怎麽整合在一起之後。
接下來在更深入的看看如何把LUIS使用到最大化。先從Entities開始介紹起。
在上一篇([18]在LUIS建立app - 概念變成實作)看完如何建立一個app,然後定義intent以及utterance。
這篇將來看看如何把上篇建立好的model發佈出去,并且用在實際的程式裡面。這篇將整合LUIS建立出來的Model到目前的chatbot裡面,讓chatbot的判斷不再是呆板的if else。
在上一篇([17]語義識別服務 - LUIS概念介紹)介紹完了微軟的語義識別服務LUIS的概念之後,在這一篇將把理論變成實作。
來看一下怎麽實際建立出一個符合目前chatbot的模型。
在上一篇([16]Bot Builder SDK開發總結 - 下一步是搭AI服務)快速的總結了目前爲止的内容以及接下來的重點,Cognitive Service的AI服務包含的内容。
這篇將來看看最會被用到的服務,語義識別的AI 服務 LUIS的基本概念介紹。
在上一篇([15]上綫 - 透過Direct Line把chatbot和任意程式做連接)介紹完了Direct Line Channel之後,Azure Bot Service 和 BotBuilder 搭配開發chatbot的部分就到了一個尾聲。當然,裡面還有很多細節可以介紹,但是以目前介紹的内容來説,要開發出一個能用的chatbot已經不是什麽問題。
那下一步是什麽?在介紹Bot Builder SDK的過程會發現,開發chatbot其實蠻死板的,有沒有辦法讓他更加智能一些?如果搭上最近幾年很火的AI服務就可以。
這篇將快速回顧一下目前Bot Builder SDK所學到的内容,以及下一步如何搭配AI服務來增加可用性。
在上一篇([14]上綫 - 把facebook粉絲頁和chatbot接上)介紹了如何把chatbot和Facebook Messenger做了連接。bot channel registration還有好幾個内建的其他channel可以設定做關聯,至於怎麽設定可以透過google的方式去找到相關資料,因此其他内建的channel 這邊不在做介紹。
不過,雖然任意網站可以用web control channel來連接,并且有些内建的channel,可是如果想要在不是内建的channel關聯chatbot怎麽辦?舉例來説,如果今天想要和Line關聯或者微信怎麽辦?或者如果想要在任何程式和chatbot 做關聯?
這就是Direct LIne Channel的目的,只要可以用程式來控制,那麽就可以透過Direct LIne Channel來和chatbot關聯。
這篇將會透過開發一個console程式和chatbot程式溝通。
在上一篇([13]上綫 - 開啓web control channel)看了如何開啓web control的channel,透過iframe讓chatbot可以在任意網站出現。
這篇將看看如何把chatbot和別的平臺的聊天工具整合,這邊將介紹内建有支援的channel,Facebook Messenger。
透過上一篇([12]準備上綫 - 用Bot Channel Registration注冊chatbot),chatbot已經和bot channel registration設定好了,可以上綫了。
接下來需要做的就是設定對應的channel。
這篇將來看看最容易的channel,web control。看如何取得相關的資訊讓chatbot可以在任意網站上面出現。
在上一篇([11]準備上綫 - chatbot發佈到Azure App Service)介紹了如何用visual studio把chatbot部署到了Azure的PaaS服務,App Service。
這一篇將來看另外一個部分,也就是如何把chatbot和不同的channel連接在一起的服務,Azure Bot Service裡面的Bot Channel Registration (以下簡稱Channel Registration)。
在上一篇([10]用IDialog全部重構 - 階段性總結)我們把所有的程式用Dialog重構了之後,對於chatbot開發暫時到了一個段落。當然,目前功能還非常的雛形,但是以目前介紹的東西已經足夠寫出一個好的chatbot,因此各位可以自由發揮。
接下來我們要開始看看上綫的部分。當chatbot開發完了之後,該怎麽讓他上綫?需要搭配什麽服務。這篇將會看第一個部分,把chatbot先host在azure的app service上面。
在上一篇(用acs-engine在azure透過VMSS建立出kubernetes (k8s) 自動延展的cluster - 上篇)介紹了如何使用acs-engine這個工具產生出了可以在azure上面部署的ARM template,并且成功部署上了Azure。
在這篇將會延續上篇建立出來的vm,并且透過工具對建立出來的k8s cluster做操作,并且看看azure和k8s怎麽的深度結合。
最近有機會接觸到要用azure的IaaS服務建立出可以自動擴展的kubernetes (以下簡稱k8s) 叢集 (以下簡稱cluster)。
雖然常碰azure的一定會知道,其實azure有提供k8s的PaaS服務(不管是Azure kubernetes Service (AKS) 還是 更高一層的 Azure Container Instance (ACI))但是有些地方是沒有那些服務的(可以期待9月)或者如果想要自己控制完整的vm那要怎麽辦呢?
這篇將會快速介紹一下用acs-engine產生在Azure IaaS上面可以使用的k8s自動延展的cluster,在下一篇在介紹如何操作并且看到azure怎麽和k8s整合。
這麽多年以來,參加活動有以學員的身份、講師的身份及現場工作人員的身份參加過活動,但是還真沒有以擺攤的身份參加過。
因此這篇更多是在周邊的介紹,話説這個應該是我見過免費裡面最大手筆的一次活動,主辦單位很用心,一起來看看吧。
在5/21的時候在北京剛舉辦過的微軟人工智能大會在今天深圳也舉辦了一次。上次北京沒參加到,這次在深圳當然要去學習學習。
這篇記錄一下今天發生的事情。
這次Study4的4月的活動在北京辦了2018 年的Azure bootcamp。小弟我有幸在其中一堂分享了Azure Migration 上雲之路的内容。
這篇將會把整個活動的資源整理一下,并且對于這次的簡報感想做個總結。
最近在製作上傳到Azure的VHD的時候就遇到,需要開一些特定的port。
作爲coder,懶是一種美德,因此當然想要透過使用powershell的方式把整個動作自動化。
Azure官方文件有些範例script可以參考,但是實際使用起來卻有個但書,就是只能在英文版的OS才有作用(畢竟是外國人寫的script),其他語系就gg了。
因爲這個原因,所以去找了一些資料,才發現原來要支援多語系的Windows沒有那麽直覺,因此這邊記錄一下以供未來參考。