Microsoft Azure 中文部落格

  • 在 Microsoft Azure 上建立 Docker Host

    前一陣子 Microsoft Azure 宣佈了支援 Docker消息(同時還有新的 Windows Server 的 docker container),同時,Microsoft Azure 的跨平台命令列工具也支援了直接建立 Docker host 的操作,這篇文章簡單說明一下建立的流程(示範的平台是 Mac OSX,選擇 Ubuntu Linux 14.04 LTS 作為 Docker Host 的作業系統)。

    1. 首先要安裝 Microsoft Azure 跨平台命令列工具,可以從官網下載命令列工具,或是從 Github 上的 repository 來 clone。
    2. 安裝完畢,使用 azure account download 指令來下載帳號資料,這個指令會開啟瀏覽器登入 Microsoft Azure 的管理介面來下載帳號資料的檔案,檔案下載完畢後,再使用 azure account import <檔案> 把帳號資料匯入命令列工具。
    3. 接下來就可以準備建立 Docker Host 的虛擬機器了,這裡因為選擇 Ubuntu Linux 14.04 LTS,所以我們先使用 azure vm image list | grep Ubuntu 的指令來看一下 Azure 上的虛擬機器映像檔名稱。(因為直接使用 vm image list 會列出所有的映像檔,所以後面接 pipe 到 grep 篩出 Ubuntu 關鍵字的)


      圖: 尋找 Azure 上關於 Ubuntu Linux 的映像檔名稱

    4. 找到了要安裝的 Ubuntu Linux 的映像檔,就可以用來建立虛擬機器,所幸目前的命令列工具已經可以在建虛擬機器的同時建立 Docker Host,只要下這樣的指令:

      azure vm docker create -e 22 --location 'East Asia' my-docker-host "b39f.....30GB" 帳號 密碼

      這行指令開一個 SSH 聽 port 22(-e 22),然後在東亞的機房建立虛擬機器(--location 'East Asia'),這個虛擬機器的名稱叫 my-docker-host,然後代入映像檔全名,最後再加上登入虛擬機器的帳號密碼完成。

    5. 下完指令後 Azure 就會開始建立虛擬機器,這時只要靜待數分鐘等它配置及啟動完成,而這個虛擬機器除了 port 22 的 SSH 之外,就會開 docker 預設的 port 4243 來操作,你可以試試看這個指令來確認 docker host 的狀態:

      docker --tls -H tcp://my-docker-host.cloudapp.net:4243 info

      如果正確的話應該就會回覆像這樣的訊息:

    就這樣簡單的幾個步驟,你就很快建立好一個 docker host,然後試著把 docker container 丟上去運作了。

  • 初探 Azure Media Indexer

    感謝北科大劉建昌同學翻譯微軟公司 Azure Media Services 主管  Adarsh Solanki 於 2014 年 9 月 10 日所發表的文章

    http://azure.microsoft.com/blog/2014/09/10/introducing-azure-media-indexer/

    Internet 視訊應用在目前的網路環境中快速增長,依據 Cisco VNI Forecast 的預測,網路視訊所產生的網路流量在 2014 年佔所有消費者網路流量的 70%,到了 2018 年則會增加到 79%。就現今網路環境而言,網路視訊已隨處可見,視訊應用快速增長也衍生出了一些問題。

    Internet 網路的設計原是基於文字檔案之應用,也因此要在 Internet 上搜尋文字資料是相對較容易,技術也較為成熟,但是另一方面,視訊檔案則需要透過複雜的分類系統和大量人工標記資料 (manually-tagged),才能夠以文字來進行搜尋。

    若是有一種方法可以自動擷取影片中有意義的語音資料,對影片搜尋而言將會相當便利。Azure Media Indexer 是為一個媒體處理器( Media processor ) 雲端服務,透過微軟研究院 ( Microsoft Research ) 的自然語言處理 ( natural language processing ) NLP 技術,將影片內容中有意義的語音,轉換成一個關鍵字檔 ( keyword file ) ( XML )、一組隱藏式字幕檔 ( SAMI/TTML ) 與一個二進位索引檔 (AIB)。

    隨著多媒體內容在網路環境下的快速發展,使用者更加重視內容的可閱讀性,也因此許多影片都會用到字幕來作呈現,但是現階段所有影片都是透過人工的方式來建立字幕,這樣不僅費時且成本也相當的高。Azure Media Indexer 的語音識別引擎會自動建立一個附有時間標籤的字幕檔,裡面包含了輸入影片之英文口語單字,透過這種自動化轉換,我們可以將以往需要大量人工工時的工作轉變為全自動化的工作。同時也利用 SQL Server 或是 Apache Lucene/Solr 之類的索搜尋引擎來搜尋影片中某個重要片段,使用者可以相當簡單地透過搜尋文字的方式來找到影片中特定時間的內容。透過上述的方法,可以大幅減少搜尋影片內容的複雜度。

    接下來透過一個簡單的範例,來介紹如何透過 Azure Media Indexer  來處理您的媒體文件。

    在您的影片資產上建立索引

    利用 Azure Media Indexer ,使用者可以在本地端或是網路上的文件資料中建立索引。而在本範例,我們將把本地端的媒體文件上傳到 Azure Media Service,再透過 Azure Media Indexer  來建立索引。

    在此教學中,我們利用  Channel9 的影片來進行示範。將本影片儲存為  MP4檔,並且重新命名為  "Index.mp4" 從存放C:\Users\<<USERNAME>>\Videos\Index.mp4。

    完整的程式碼範例可以在此連接下載

    設定您的專案

    在 Visual Studio 2013上建立一個C#主控台應用程式專案 (File > New > Project or Ctrl+Shift+N)

    clip_image002

    接下來,利用 NuGet 封包管理來安裝 "Azure Media Services .NET SDK"

    ( 在專案上點擊右鍵,選取 NutGet,並且在搜尋欄位上搜尋 "Azure Media Services .NET SDK" )

    clip_image004

    打開專案檔上的App.config檔,並且將下方程式碼加入至appSettings欄位上。

    (要注意的是,要確保輸入的媒體服務名稱和金鑰是存在並且有效的)

    clip_image006

    建立一個���產 ( Asset )

    資產是 Azure Media Services 用來儲存媒體檔案的容器 (container),一個資產內部除了包含了媒體檔案的本身之外,還包含了串流所需要用到的檔案。在本範例中,您將建立一個資產檔案,並且透過.NET SDK來儲存視訊。同時您也可以利用 Azure 管理網站來更新您資產內的檔案。

    首先您需要將以下程式碼加入到主控台應用程式的 Program.cs。

    clip_image008

    您將需要宣告一個 CloudMediaContext  物件來建立與Azure Media Service 的連線。透過這個步驟,將允許您在Azure Media Service上建立一個新的資產(Asset),並且上傳本地端的文件作為資產檔案(Asset File)。

    首先,在 Program.cs 裡增加以下程式碼,此程式碼將告訴主控台應用程式要在哪裡找到來源檔案,並且將檔案輸出在哪裡。

    clip_image010

    接下來您需要建立一個主控台動作 ( job ),並且加上以下程式碼 :

    clip_image012

    提交一個檢索工作 ( Indexing job )

    透過以上程式碼,您已經在 Azure Media Service 上面建立一個資產 ( Asset ),並且上傳了一個本地端的檔案。下一個步驟,您將建立一個參考,這個參考可以讓Azure內容檢索處理器做為檢索的參考數值。在 Azure Media Service上的工作 ( jobs ) 一個或多個任務( Tasks ) 組成,專門用來指定特定處理動作 ( 編碼encoding、包裝 packaging 等.....) 的細節內容。

    透過建立索引工作中的任務,在其中可以設定一些在進行索引工作時會用到的參考資訊,在本範例中,您將建立一個作為索引任務的設定檔 "default.config",裡面將包含了一些有用的資訊可供索引工作參考。

    任務配置  (Task Configuration )

    Azure Media Indexer 參考的任務設定檔為一個XML檔案,裡面包含了幾項關於檢索檔案的基本資訊或是關鍵字,利用他們可以來提高語音辨識的精準度。

    在現有版本的 Azure Media Indexer 上,允許在配置檔中描述媒體文件的標題以及其內容大綱,透過這樣的任務配置,可以讓自然語言處理引擎 ( adaptive natural language processing engine ) 基於已知的主題來增加翻譯的詞彙,讓結果更加精準。

    例如 :

    如果您有一個關於 "Geico" 的影片,透過在任務配置檔上輸入此標題,就能夠減少在翻譯文章時會出現"guy co"這種錯誤發生。

    或者在檢索影片時,當中提到 “aortic aneurism (主動脈動脈瘤)”,正常情況下有可能會被誤解為“A or tick canner is um" 這種不知所云的翻譯,此時若是加入任務配置,在標題或是大綱內容提供 “hypertension (高血壓)” 的資訊,這將會提高搜尋引擎的準確度。

    在專案點擊右鍵,新增一個XML檔案作為任務配置檔,並且新增以下程式碼,取名為"default.config"。在本範例中,我們使用Channel9上關於範例影片的標題與大綱敘述作為配置檔的內容。

    clip_image014

    建立完任務配置檔後,返回 Program.cs 檔案,並且修改 ConfigurationFile 字串的位址。

    建立工作 ( job )

    在上個步驟中,我們已經建立了一個任務配置檔供檢索工作參考,現在我們將繼續建立未完成的工作。

    透過下列程式碼,我們將建立一個工作,並且啟用這個工作裡的任務。

    clip_image016

    接下來,我們在主程式的最底部新增一個輔助方法,用來給定一個最新版的媒體索引器。

    clip_image018

    透過以上的程式碼,您已經提交了一個主控台工作,這個工作將會把您本地端的媒體文件上傳到 Azure Media Service上,並且透過 Azure Media Indexer 進行處理。

    我們還可以透過以下的程式碼,讓您可以隨時追蹤主控台工作的進度。

    clip_image020

    clip_image022

    clip_image024

    輸出

    輸出的檢索檔案一共有四個 :

    1. SAMI格式的字幕檔

    2. 附有時間標籤的  TTML檔

    3. 關鍵字檔 (XML)

    4. 音訊索引 blob (AIB)

    其中 SAMI 和 TTML 文件包含了視訊的時間標籤,而 XML 檔裡面包含了索引時所使用的關鍵字。

    透過本篇範例,您將會得到以上四個輸出的檔案,透過上述四個檔案,您可以與您的媒體文件做結合,即可輕鬆地得到媒體文件的內容。

    關於

    這篇範例並沒有包含所有 Azure Media Indexer 功能,例如支援多個文件的索引,或是在網路上利用 URL 取得索引檔。

    Azure Media Indexer 並非針對即時翻譯需求而設計的,語音辨識所需時間約為影片長度的三倍,Azure Media Indexer 著重於辨識的精確度而非強調辨識速度的應用情境。

    完整的範例您可以透過以下連接下載

    最短的工作持續時間為五分鐘,小於此時間的工作持續時間將會被當成五分鐘,並且依照其計費標準計費。

  • Azure Backup 開始支援備份 Windows Server 2008

    Azure Backup 已支持最新的 Windows Server 操作系统,例如 Windows Server 2008 R2、Windows Server 2012 和 Windows Server 2012 R2。如今 Azure Backup 將該服務進一步擴展,已可為 Windows Server 2008 64 位元的操作系統提供服務。

    Azure Backup 能夠將內部部署的 Windows Server 2008 以最高效、安全的方式將資料長期備份至 Azure。Azure Backup 也能夠與系統中心資料保護管理器無縫接軌,直接從 Windows Server 2008 進行應用程式的備份。下表列出了 Windows Server 2008 操作系統工作負載的不同保護方式:

    操作系統
     

    支持的工作負載

    使用的技術

    Windows Server 200864 位元) 

    文件和資料夾

    Azure Backup

    文件和資料夾、Hyper-V 虛擬機器、MS-SQL 資料庫

    系統中心資料保護管理器和 Azure Backup

     

    欲瞭解更多關於 Azure Backup 使用的詳細步驟,請參閱 Windows Server 於公有雲上的備份還原服務課程,若您對於 SQL Server or QNAP 的備份還原有興趣,則可參閱這篇文章,亦提供了詳細步驟。

     

    Windows Server 2008 的其他先決條件

    先決條件

    下載位置

    Windows Server 2008 Service Pack 2

    Windows Server 2008 SP2 下载

    .Net 3.5 Framework

    .Net3.5 下载

     

    現在您已經了解如何使用 Azure Backup 為您的 64 位元 Windows Server 2008 提供備份還原服務,接下來您可以參考以下內容來快速開始使用 Azure Backup:

    • 如果您是 Azure Backup 新手,請點這裡,免費開始試用 Azure 一個月,我們將提供 NT$ 6,300 的免費額度供您使用。
    • Azure Backup 現有客戶則可下載新的 Azure Backup Agent,並開始使用

    本文原始發布於「TechNet 台灣部落格

  • 頂級儲存體(Premium Storage)服務簡介: 提供Azure虛擬機器高效能的儲存體服務

    本文章是翻譯微軟公司Azure儲存體原則程式經理Sirius Kuttiyan於2014年12月11日所發表的文章

    http://azure.microsoft.com/blog/2014/12/11/introducing-premium-storage-high-performance-storage-for-azure-virtual-machine-workloads/

    我們非常地興奮來公布微軟Azure頂級儲存體磁碟(Microsoft Azure Premiun Storage Disks)預覽版的消息。隨著全新頂級儲存體簡介的內容,微軟Azure現在已經可以提供兩種不同類型的儲存體規格: 頂級儲存體和標準儲存體。頂級儲存體內的資料是存放在目前最新技術的固態硬碟(Solid State Drives, 俗稱 SSD)內,而標準儲存體的資料則是存放在一般硬碟(Hard Disk Drives, 俗稱HDDs)內。

    頂級儲存體是針對Azure虛擬機器運作時,所需要持續性的高效率與低延遲需求所特別設計的規格。這讓此規格的儲存體能夠滿足對資料進出(Input/Output, I/O)大小敏感的SQL伺服器。頂級儲存體目前僅提供Azure虛擬機器儲存資料所需的硬碟使用之。

    您可以在各種頂級儲存體硬碟規格中,挑選並佈署一個滿足您需求的頂級儲存體硬碟。接著您將可以將這些儲存體硬碟掛載到某一台虛擬機器上,已提供給您的應用程式使用。並且,可提供每一台虛擬機器最大32 TB的儲存空間、高達50,000 IOPS(Input/Output per second)、和在讀取模式下,可滿足小於1毫秒(millisecond)的延遲。

    隨著頂級儲存體的推出,Azure能協助您將企業的應用程式-例如: SQL伺服器、Dynamics AX、Dynamics CRM、Exchange伺服器、MySQL以及SAP企業套件(Business Suite)等-真正搬移到雲端平台上。

    目前,頂級儲存體仍在預覽版本(Preview),若欲註冊並使用Azure頂級儲存體預覽版,請參考預覽功能 

     頂級儲存體的優點 

     我們設計這項服務是針對強化企業內有許多工作負載的應用程式需要大量且快速的資料寫入與輸出(Input/Output, I/O)的特性所設計的。同時也提供如同本地端備援儲存體(Locally Redundant Storage, LRS)的高備援機制。

    頂級儲存體硬碟提供高達每秒5,000次資料輸入與輸出(IOPS)的效能,以及依據不同硬碟容量所能達到的每秒資料傳輸量(最高可達每秒200 MB)。針對IOPS的計算,我們採用每IO單位大小為256KB的條件,若資料小於256KB,則以一個IO單位計算之;若資料大於256KB,則以多個IO單位計算之。

    您必須依據應用程式所需效能與儲存容量的需求來選擇相對應的硬碟容量。在頂級儲存體預覽版本中,我們提供三種不同硬碟容量供您選擇,如下: 

     

    硬碟規格 

    P10 

    P20 

    P30 

    硬碟容量 

    128 GB 

    512 GB 

    1024 GB 

    每顆硬碟的IOPS 

    500 

    2300 

    5000 

    每顆硬碟的傳輸量 

    100 MB/sec 

    150 MB/sec 

    200 MB/sec 

    詳細資料請參考Premium Storage Overview 

     

    若是選用D系列的虛擬機器,並且掛載多顆頂級儲存體以及網路頻寬使用率達到限制上限時,您將可以獲得最大的效能。例如:選擇一款16核心的D系列虛擬機器,您將可掛在最高32 TB的頂級儲存體硬碟,並最高可達50,000 IOPS。欲進一步了解不同虛擬機器規格可獲得的硬碟頻寬資訊,請參考Azire的虛擬機器和雲端服務大小 

     

    耐用度(Duribility) 

     

    資料的耐用度是衡量儲存體服務好壞的一項重要指標。Azure客戶們的應用程式都可以確保資料能夠長期保存,以及當系統發生錯誤時,具有高容錯能力的服務。這也是為什麼我們將本地端備援儲存體技術應用在頂級儲存體服務中。在同一個資料存放的區域內,頂級儲存體的資料能夠保有三份複寫。

    我們也您使用儲存體的其他服務來建立快照(Snapshot),並且將這些快照複製一份到標準的異地備援儲存體(Geographically Redundant Storage, GRS),以確保這些快照資料也擁有異地備援。 

     

    特定規格的虛擬機器 

     

    我們也即將推出特殊規格的虛擬機器來滿足頂級儲存體的高效能。這些虛擬機器將搭配最新快取技術以提供讀取模式下的超高低延遲效能。為了能夠享受頂級儲存體的效能,您也必須採用這些特殊規格的虛擬機器。目前,僅有D系列的虛擬機器支援掛載頂級儲存體。

    當然,這些虛擬機器也支援掛載標準的儲存體。因此,您可以使用一台D系列的虛擬機器,同時混合使用頂級與標準版的儲存體,並且依據您的需求來調整資料存取的效能和成本。 

     

    定價 

     

    全新的頂級儲存體定價部分,請參考Azure儲存體定價。服務預覽期間,使用頂級儲存體服務將可享受最高50%的優惠。

     

    開始使用

    第一步: 註冊服務

    開啟Azure預覽功能網頁,點選頂級儲存體的"試試看"後,透過您帳號內的註冊來使用此服務。當您申請頂級儲存體服務審核通過後,您將會收到一封電子郵件。因為,我們會一一處理欲申請此服務的使用者,所以,服務審核的速度會較為緩慢,請您耐心等候通知。

     

    第二步: 建立一個儲存體帳號

    當您取得審核通過的通知後,您將可以登入微軟Azure主控台預覽版,並建立一個全新的頂級儲存體帳號。

    目前頂級儲存體僅有以下地區可以使用,如下:

    • 美國西部
    • 美國東部2
    • 歐洲西部

    第三步: 建立一個D系列虛擬機器

    您可以在微軟Azure主控台建立,或是透過Azure PowerShell SDK 0.8.10或更新的版本建立之。以下是使用PowerShell建立一個D系列虛擬機器,並且掛載您的頂級儲存體帳號的範例,如下:

    $storageAccount = "yourpremiumccount"

    $adminName = "youradmin"

    $adminPassword = "yourpassword"

    $vmName = "yourVM"

    $location = "West US"

    $imageName = "a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-R2-201409.01-en.us-127GB.vhd"

    $vmSize = "Standard_DS2"

    $OSDiskPath = "https://" + $storageAccount + ".blob.core.windows.net/vhds/" + $vmName + "_OS_PIO.vhd"

    $vm = New-AzureVMConfig -Name $vmName -ImageName $imageName -InstanceSize $vmSize -MediaLocation $OSDiskPath Add-AzureProvisioningConfig -Windows -VM $vm -AdminUsername $adminName -Password $adminPassword New-AzureVM -ServiceName $vmName -VMs $VM -Location $location

    若您的虛擬機器需要更多硬碟空間,您可以透過以下範例掛載一個全新硬碟至目前的D系列虛擬機器中,如下:

    $storageAccount = "yourpremiumaccount"

    $vmName = "yourVM"

    $vm = Get-AzureVM -ServiceName $vmName -Name $vmName

    $LunNo = 1

    $path = "http://" + $storageAccount + ".blob.core.windows.net/vhds/" + "myDataDisk_" + $LunNo + "_PIO.vhd"

    $label = "Disk " + $LunNo Add-AzureDataDisk -CreateNew -MediaLocation $path -DiskSizeInGB 128 -DiskLabel $label -LUN $LunNo -HostCaching ReadOnly -VM $vm | Update-AzureVm

    如果您想要透過自己虛擬機器映像檔案來建立新的虛擬機器,您首先應該要將映像檔案或硬碟上傳至頂級儲存體帳號內,接著再使用該檔案建立虛擬機器。

     

    總結與相關連結

     

    我們非常興奮地公布全新液態硬碟為基礎的頂級儲存體服務,提供更加強化的虛擬機器效能與大幅提升的資料讀寫能力。如同我們始終努力的,無論是透過本篇文章的留言、在Azure儲存體MSDN論壇、或是直接來信至mastoragequestions@microsoft.com,我們非常樂意聽到您的意見與回饋。

    請瀏覽以下資訊以獲得更多相關資訊:

  • Azure SQL Database 的用戶端工具更新

    本文章是翻譯微軟公司 Azure SQL Database 群組程式經理 Sanjay Nagamangalam 於 2014 年 12 月 22 日所發表的文章

    http://azure.microsoft.com/blog/2014/12/22/client-tooling-updates-for-azure-sql-database/

    隨著 Azure SQL Database 最新預覽版本的發佈,我們也非常興奮地宣布讓主要的用戶端工具也支援 Azure SQL Database 這項服務。現在 SQL Server 2014 Management Studio (以下簡稱: SSMS) 這項工具將支援 Azure SQL database,包含最新版本的 SQL Database Update V12 (預覽版)。我們已經從橫跨產品面的改變,讓這些產品能夠在不同平台上面延伸相關的功能,像是我們已經試著從支援完整資料庫物件導覽功能 (例如:表單設計到匯入匯出功能等) 延伸到 Azure SQL Database。將這些功能特性導入到 SSMS 工具後,將能提供使用者或管理人員一種簡單又熟悉的環境,讓他們能夠輕鬆地管理雲端服務。

    更多有關 SSMS 的細節資訊在這裡

    除此之外,隨著預覽版本的發表,我們也將 SQL Server database tooling 整合到 Visual Studio 裡。像是 SSMS 這次更新的版本則包含了一組提供給 Azure SQL Database 服務的工具包 (Toolset)、也同時支援最新版本的 Azure SQL Database Update V12 (預覽版)。

    更多有關 Azure SQL Database Update V12 (預覽版) 的細節資訊在這裡

    隨著這些用戶端工具的更新,您現在可以隨意探索與管理 Azure SQL Database,像是在一個高生產力環境下,佈署最新版本的 Azure SQL Database 服務,並且,提供一個熟悉的操作環境給我們的企業 (或一般) 用戶。您可以立即開始試用,並且告訴我們您的意見。