• Microsoft Azure SQL Database Basic, Standard 與 Premium 間之差異

    2014年4月宣布了新的 Microsoft Azure SQL Database 服務來取代既有的 Microsoft SQL Database Business/Web Edition。2014 年 8 月 26 日 SQL Server 產品主管 Eron Kelly 宣布新版本 Microsoft SQL Database Basic, Standard 與 Premium 版已經於 2014 年 9 月11日脫離技術預覽階段,開始正式營運 ( http://azure.microsoft.com/blog/2014/08/26/new-azure-sql-database-service-tiers-generally-available-in-september-with-reduced-pricing-and-enhanced-sla/ ),新的雲端資料庫服務,與過去版本相較有了以下的改善 :

    • 不停機服務水準 (SLA) 由 99.9% 提升為 99.99 %
    • 單一資料庫容量上限提高
    • 較可預期的執行效能
    • 用戶可以自行回存資料 (Self-service restore) ,依據不同等級版本可回溯資料庫時間從 7-35 天不等
    • 以小時為單位計價
    • 高階版本提供跨資料中心災難備援機制

    與傳統 Microsoft SQL Server 規劃相較,客戶 Microsoft Azure SQL Database 不同等級的選用,可以參考 http://msdn.microsoft.com/library/azure/dn369873.aspx,在此節錄最重要的表格。

    Azure SQL Database 等級

    Database Throughput Units (DTUs)

    單一資料庫容量上限 (GB)

    Worker Threads 上限

    Sessions 數上限

    評測交易處理速率(Benchmark Transaction Rate)

    預期效能

    Basic 5 2 30 300 每小時處理16,600 交易
    Standard/S0 10 250 60 600 每分鐘處理 521 交易 較好
    Standard/S1 20 250 90 900 每分鐘處理 934 交易 較好
    Standard/S2 50 250 120 1,200 每分鐘處理 2,570 交易 較好
    Premium/P1 100 500 200 2,400 每秒鐘處理 105 交易 最佳
    Premium/P2 200 500 400 4,800 每秒鐘處理 228 交易 最佳
    Premium/P3 800 500 1,600 16,000 每秒鐘處理 735 交易 最佳

     

    資料庫庫吞吐量單元(Database Throughput Unit ,DTU):這是一個綜合多項能力的單位,結合了 CPU,記憶體,資料讀寫能力成為一個單位。 理論上 5 DTU 的效能水準比 1 DTU 要多五倍,Worker thread 在邏輯上表示 Microsoft Azure SQL Database 允許的執行緒數量上限,可以視為是作業系統允許的執行緒數量上限,隱身在資料庫服務背後 ;Worker thread 默默地執行資料庫服務所指派的工作。而 Sessions 數則是指邏輯上伺服器端與用戶端所建立能夠交換資料的單位,Session 數實際上並不等同於實體上網路 Connection 連線數,但兩者間數量差異不大,可以視為是能夠允許的網路連線數量。雲端服務的特質在於資源共享,資源共享也意味著必須限制單一用戶的用量,以避免其他租戶使用時受到影響,因此在資料庫規劃上需要隨時注意相關資訊。

  • Azure HDInsight 中的 HBase 正式營運

    原文發表於 Azure HDInsight makes HBase (NoSQL database) a GA Feature

    在 2014 年 6 月,我們在 Azure HDInsight 中提供了 HBase 的預覽服務,而在 8 月 21 號,我們正式推出 HBase 的服務(同時也釋出了包含了像是 Azure DocumentDB、Azure Search 等服務)。Apache HBase 是 Apache Hadoop 生態系中,一個基於行式(columnar)的 NoSQL(Not only Structured Query Language)分散式資料庫的專案。

    HBase 在 Apache Hadoop 生態系中提供了資料交易操作的功能,讓用戶能夠迅速地在 Azure Blob 儲存體中儲存資料,以及從大筆的資料中進行查詢。由於是分散式的資料庫架構,HBase 能夠依據負載及效能的需求來延展,所以 HBase 非常適合需要處理數以幾百萬或幾十億資料量的用戶(正式營運後,Azure HDInsight 中的 HBase 能支援 Azure Blob 儲存體中 500 TB 的資料),當然,HBase 缺乏了一些像是優化功能、第二層索引、以及進階的查詢語法,所以無法取代現有的關聯式資料庫管理系統(RDBMS)。

    關於 HBase 一些常見的應用包括了:

    • 物聯網(IoT, Internet-of-Things)— HBase 能夠儲存由各式各樣的裝置、感測器、設備及社交網路來的大量即時資料,資料儲存在 Azure Blob 儲存體中,而 Azure HDInsight 及 HBase 則可以進行一些批次運算,來處理或分析這些大量的資料。
    • Web 記錄(Logs)— 可以用來處理網站的記錄檔(logs)或是一些點擊追蹤(clickstream)的資料,一樣由 Azure HDInsight 來處理及分析資料。
    • 社交網路資料 — 用來儲存從社交網路來的大量資料。

    我們在 Azure 的官方網站上提供了許多關於 HBase 的學習資料,歡迎您多加利用:

    另外,如果您想瞭解關於 Hadoop 以及 HDInsight 可以參考下列資料:

  • Azure Virtual Machines 如何設定內部靜態 IP 位址

    感謝北科大劉建昌同學翻譯 微軟公司 Microsoft Azure 主管  Corey Sanders 於 2014 年 4 月 22 日所發表的文章

    http://azure.microsoft.com/blog/2014/04/22/static-internal-ip-address-for-virtual-machines/

    iStock_000039451636Small

    什麼是靜態 IP 位址?

    隨著最新版本的 PowerShell 出現,您現在可以定義和配置 Microsoft Azure 虛擬網路 ( Virtual Network ) 內部靜態 IP 位址,並且將其分配給一個該虛擬網路下的 IaaS 虛擬機器。當一個靜態的內部 IP 位址配置給虛擬機器之後,無論虛擬機器目前是在啟動狀態或是停止狀態,都可以永遠保有這個內部 IP 位址。甚至您刪除這個虛擬機器,並再重新佈署虛擬機器,此虛擬機器仍可以保有相同的 IP位址。

    何時會用到?

    如果您需要在 Azure 虛擬網路 ( Virtual Network ) 中建立了一個 Active Directory 網域控制站 ( DC, Domain Controller ),在過去您可會感到很沮喪,不知道該如何建立一個具有靜態固定 IP 位址的虛擬機器、以固定 IP 位置的虛擬機器來扮演 DNS 伺服器的角色。現在您不再需要使用複雜的設定,您可以直接為 Active Directory / DNS 虛擬機器選擇內部固定靜態的 IP 位址,讓您其他的虛擬機器能夠輕易的連接。甚至當 Active Directory 虛擬機器關閉之後,虛擬機器保有這個內部 IP 位址,並且當下次該虛擬機器啟動時保持不變。

    如何使用它?

    下面的範例展示了如何將一個建立好名為 StaticIPVM 的虛擬機器加入到一個名為 SPAutoVNET 的虛擬網路中,並且指派其靜態 IP 位址為 10.20.1.30

    當佈署虛擬機器完畢後,Azure 入口網站會顯示如以下 :

    您也可以使用 PowerShell指令 Get-AzureStaticVNETIP 來檢視您已經配置好的靜態 IP 位址。充分利用 PoweShell 說明文件以不同設定方式來達成目的。

    下面的例子中,您可以看到我最近要進行 SharePoint 更新,目前的虛擬機器是扮演 AD/DNS 伺服器角色,因此我先取出目前虛擬機器的 IP 位址,並且確保設定的 IP 位址不會在日後被改變。請注意這種將虛擬機器設定為固定靜態 IP 位址的動作會導致虛擬機器重新開機。

    若您需要更進一步的資訊,請參閱 :http://msdn.microsoft.com/en-us/library/azure/dn630228.aspx

  • Microsoft Azure 釋出 DocumentDB NoSQL 服務公開預覽

    許多 Web 及行動應用程式為了處理它們使用者產生的資料,都會為了延展性以及處理效能而選擇使用 NoSQL 資料庫服務。Microsoft Azure 原本就提供了 Azure 儲存體的 Table 服務Azure HDInsight 的 HBaseAzure Redis Cache、以及與其它廠商合作的 MongoDbRavenHQ 資料庫等 NoSQL 今天釋出一個新的 NoSQL 資料庫服務:DocumentDB,讓 Azure 上提供的 NoSQL 資料庫服務更加完整。

    DocumentDB 是一個不需要資料欄位定義(schema-free)的文件儲存系統,它可以直接儲存或是資料庫中查詢 JSON 格式的文件資料,而且資料庫也內建索引的服務,更棒的是,你可以直接使用熟悉的 SQL 查詢文法來查詢資料庫中的文件,當然,你也可以在資料庫中使用 JavaScript 撰寫自訂的函式(UDF, user-defined function)以擴充資料庫的操作。

    在目前的預覽階段,你可以在 Microsoft Azure 預覽的新管理界面中啟用 DocumentDB 的服務:

    你可以直接透過 HTTPS 呼叫 Azure DocumentDB 服務來 CRUD 資料庫中的資料,也可以使用 .NET、Node.js、Python 的 SDK 來進行操作,這個部份可以參考我們的教學文件

    如果你的應用程式正在評估使用 NoSQL 資料庫,不妨試試看 Azure 的 DocumentDB 服務。

  • 如何在 Azure Cloud Services 和 Azure Virtual Machines 上保留對外 IP 位址

    感謝北科大劉建昌同學翻譯微軟公司 Microsoft Azure 主管 Mahesh Thiagarajan 所發表的文章 http://azure.microsoft.com/blog/2014/05/14/reserved-ip-addresses/

    微軟公司於 2014 年 5 月 12 日宣布正式推出 Microsoft Azure Cloud Services 與 Virtual Machines 保留對外 IP 位址 ( Reserve IP ) 功能。在這篇文章中,我們會介紹保留對外 IP 位址的相關資訊,並且如何在 Microsoft Azure Cloud Services 與 Virtual Machines 使用這項功能。除此之外,也會介紹收費標準和不支援保留 IP 位址的情況。您若想要閱讀關於保留對外 IP 位址 ( Reserve IP ) 的技術文件,可以到這個網站上取得

    甚麼是保留對外 IP 位址,我何時需要用到它?

    隨著最新版的 PowerShell 釋出,Microsoft Azure 允許您在既有的 Azure 訂閱帳戶上使用保留對外 IPv4 位址。您可以無限期的將這些 IP 位址保留您的 Azure 訂閱帳戶上,並用於此帳戶內的 Microsoft Azure Cloud Services 與 Virtual Machines 之服務。本篇文章主要著重於如何保留對外的公開之 IP 位址。至於如何固定虛擬網路 ( Virtual Network ) 內部各虛擬機器的 IP ,相關資料可參閱此篇文章

    您可能會需要用到保留對外 IP 位址的原因如下 :

    以 A-Record 設定 DNS 時不用擔心 IP 位址改變

    Microsoft Azure Cloud Services 或 Virtual Machines 預設在用戶關閉或是刪除一個虛擬機器之後,對外的 IP 位址就會釋出,下次再次啟動虛擬機器時對外 IP 就可能改變,這對 DNS 以 A Record 設定時造成困擾,如果用戶使用保留對外 IP 位址功能,就會持續保留同一個對外 IP 位址。可以避免虛���機器再次啟動時重新分配新的 IP 位址,造成重新設定 DNS 的問題。

    企業內部網路安全考量

    有了保留對外 IP 位址功能,企業內部 Proxy 伺服器或防火牆即可針對此一固定 IP 位址進行存取控制 (ACL),而不再需要擔心當您重新啟動或是停止虛擬機器時,內部相關 Proxy 伺服器或防火牆又要新設定。

    下圖顯示了 IP 保留對外 IP ( Reserved IP ) 的運作方式,Azure 可以單一區域資料中心的範圍內提供保留對外 IP 位址 ( Reserved IP ) 的功能,在此資料中心的 Cloud Services 都可以運用所保留的 IP 位址。

    clip_image002

     

    如何在 Microsoft Azure 上保留一個對外的 IP 位址

    您可以在您的 Azure 訂閱上使用 Azure PowerShell cmdlets 或是 REST APIs 建立一個保留 IP 位址。您可以在多數微軟 Azure 資料中心使用保留 IP 位址的功能。除了以下地區資料中心 :

    • 巴西
    • 中國東部
    • 中國北部

    Azure 團隊會盡快讓這些地區未來也支援此項服務。

    請注意,Azure 目前尚未支援透過管理者入口網站直接設定留對外 IP 位址的功能。目前必須使用 PowerShell 或是 REST API,以下為使用 PowerShell cmdlets 建立一個全新並會保留對外 IP 位址的範例 :

    New-AzureReservedIP – ReservedIPName “MyWebsiteIP” –Label “WebsiteIP” –Location “Japan West”

    對於之前就已經建立好的雲端服務和虛擬機器所配發的 IP 位址,目前無法直接保留該 IP 位址,但相信在不久的將來,Auzre 團隊就會提供這這項功能。

    如何使用一個保留的 IP 位址建立虛擬機器

    一旦一個保留的 IP 位址已經建立完畢,您就可以使用該保留 IP 位址來建立虛擬機器。以下是運用 PowerShell cmdlet New-AzureVM 來使用保留 IP 位址建立虛擬機器的範例 :

    New-AzureVMConfig -Name "WebAppVM" -InstanceSize Small -ImageName $images[130].ImageName | Add-AzureProvisioningConfig -Windows -AdminUsername $username -Password $password | New-AzureVM -ServiceName "MaheshWebApp" -ReservedIPName "MyWebSiteIP" -Location "Japan West"

     

    當建立妥保留 IP 位址之後,即便遇到下列的情況,也不會釋放對外 IP 位址。

    關閉虛擬機器時

    過去當虛擬機器關閉時,對外 IP 位址立即被釋放,當虛擬機器重新開啟之後,Microsoft Azure 會再重新分配一個新的對外 IP 位址給虛擬機器使用。現在若用戶保留對外 IP 位址,當虛擬機器重新開啟仍會使用原本保留的 IP 位址。

    刪除虛擬機器時

    當您刪除使用保留 IP 位址的虛擬機器後,保留的 IP 位址依然會保存在您的 Azure 訂閱帳戶中,以利您於未來您會再次將虛擬機器佈署在此資料中心時使用該 IP 位址。

    您可以參考虛擬機器REST API文件

     

    如何使用一個保留的 IP 位址來建立雲端服務 (Web/Worker Roles)?

    除了虛擬機器可以使用保留對外 IP 位址之外,同時我們也可以將此功能應用在雲端服務 ( Cloud Services ) 的建置。您需要去下載 2.3 板之後之 Azure SDK 才能夠使用此項功能。

    以下為在您的服務定義檔 (.CSCFG) 中使用保留對外 IP 位址的範例 :

    <?xml version="1.0" encoding="utf-8"?><ServiceConfiguration serviceName="ReservedIPSample" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="4" osVersion="*" schemaVersion="2014-01.2.3">  <Role name="WebRole1">    <Instances count="1" />    <ConfigurationSettings>      <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />    </ConfigurationSettings>  </Role>  <NetworkConfiguration>    <AddressAssignments>      <ReservedIPs>       <ReservedIP name="MyWebSiteIP"/>      </ReservedIPs>    </AddressAssignments>  </NetworkConfiguration></ServiceConfiguration>

    請注意,當 Web Role / Worker role 被刪除時,保留的 IP 位址還是會被放在您的 Azure 訂閱帳戶中,當下次在同一個區域資料中心要建置新的 Web/Worker Role 時,同樣的也可以使用此保留 IP 位址。

    如何將保留的 IP 位址從 Azure 訂閱上取消?

    若保留的 IP 位址已經沒有使用在任何一台虛擬機器或是雲端服務上時,微軟公司建議您最好將此保留的 IP 位址取消,這樣才不會有額外的費用產生。對於保留 IP 位址的計費方式,詳細資料請參考這裡

    以下指令為使用 PowerShell cmdlet 可以將保留的 IP 位址從您的訂閱中取消 :

    Remove-AzureReservedIP -ReservedIPName "MyWebSiteIP" –Force

     

    保留對外 IP 位址與虛擬網路內的同質群組 (Affinity Group)

    目前 Microsoft Azure 尚未支援在虛擬網路內的同質群組 (Affinity Group) 中建立保留對外 IP 位址的虛擬機器或是雲端服務。當您嘗試在虛擬網路內的同質群組中建立虛擬機器,您會得到下列的錯誤訊息

    New-AzureVM : BadRequest : The deployment contains VirtualNetwork DemoVNET that belongs to an Affinity Group and ReservedIP that belongs to a region. This combination is not allowed.

     

    保留對外 IP 位址與虛擬網路

    在這個版本中也支援在同一區域資料中心之虛擬網路 ( Virtual Network ) 中使用保留對外 IP 位址之功能,您可以在此 Blog 中找到更多的詳細資料。Microsoft Azure 支援在虛擬網路中使用保留對外 IP 位址的方式來建置雲端服務或是虛擬機器。

     

    保留對外 IP 位址的費用

    IPv4 址位是非常稀少的資源,且每個地區分配的數量不定,因此 Microsoft Azure 對於保留對外 IP 位址的收費在不同的地區有不同的定價。費用相關資訊可參閱收費常見問題。請注意雲端服務內至少應要有一個運行中的 Web Role / Worker Role 或虛擬機器實例。

    在您的帳單中,您會看到兩個部份是關於保留 IP 位址的 :

    保留 IP 位址的時間 :

    保留的IP位址在您的訂閱中保留的總時間數 (以小時為單位)

    包含 :

    1. 沒有用在任何運作中的雲端服務或是虛擬機器的保留 IP 位址
    2. 訂閱中額外使用的保留 IP 位址

    保留 IP 位址的重新映射 :

    每當 IP 位址要在一個新的雲端服務上使用時,就會被認為是一個重新映射。您可以在此參考重新映射計價的相關方式

    每個訂閱保留 IP 位址的上限 :

    每個 Azure 訂閱帳戶最多可以保留到五個 IP位址,但是若您需要在您的訂閱帳戶中使用保留更多的IP位址時,您可以透過點擊這裡申請,並可參考Azure訂閱限額文件