今年的 tech.days 2012 想必是我接通告最多的一次 tech.days 了吧,包括講課,問專家和 Hands-on Lab,以及 MVP Corner 顧攤的任務 ...
[Windows Azure] Tech.days 2012 筆者的通告
- 3540
- 0
- Microsoft Azure
今年的 tech.days 2012 想必是我接通告最多的一次 tech.days 了吧,包括講課,問專家和 Hands-on Lab,以及 MVP Corner 顧攤的任務 ...
這絕對是 ORM 的使用者,開發人員與 DBAs 共同想要問的議題,到底我使用了 ORM 和使用傳統的 ADO.NET 下 SQL 指令的方式會差多少? 這個問題不但會發生在 Entity Framework 上,也會發生在 NHibernate 等 ORM Framework 內,連同我自己在這個系列文中開發的 ORM 機制也會受到影響...
相信今天一定有很多人搶著安裝 Windows 8,開發人員和 IT PRO 灌的幾乎都會是 Windows 8 Enterprise Edition,然而很奇怪的是,Windows 8 Enterprise 在安裝時並沒有提示要求輸入金鑰,而且在安裝完成時會無法啟用,顯示的錯誤訊息會是 “DNS不存在”...
就在今天凌晨,MSDN Subscriber Downloads 終於出現了全球 IT/Developer 們引頸期昐很久的 Windows 8 RTMs 與 Visual Studio 2012 RTMs,以開發人員而言,當然是抓愈高的版本愈好,但是 Windows 8 這次的改版,己經縮減到只有四種版本... (下載速度和人品有關?)
有很多技術,如果不從頭講的話,很多人會不知道當初為什麼要這麼做,而且這麼做的好處又是什麼,它能解決哪些問題。委派和 Lambda 的關係就是一個極好的例子。
例外處理 (Exception Handling) 是每個寫程式的人都會遇到的問題,其實處理例外就像呼吸那麼自然,而例外處理的工作不外乎...
ORM 原理前面8集中己經講述了基本的ORM核心內的運作方式,大多數的ORM其實都是這麼做,當然還會做一些更進一步的最佳化工作,例如產生SQL的方式等。不過既然都是寫程式的,當然會希望這些對應欄位的設定工作可以完全的程式化 (Coded Map),而不用再假手那麼多的設定檔。
在雲端服務風行之後,HTTP service 己經成為各大網路服務供應商的選擇,因此各大服務幾乎都用 HTTP service 來實作自己的網路APIs,也讓 HTTP APIs 有如雪球般快速的擴大,現在己經遠遠的超過了Windows API的函式數量。據programmableweb.com的統計,現在全球共有6,700多個HTTP API可用,而且還在快速的成長中...
其實這種 DataReader vs. DataAdapter 的文己經夠多了,隨便 Google 一下就能看到一堆,以往我們接收到的訊息都是 DataReader 會比 DataAdapter 要快,這個說法在早期的 .NET 版本應該適用,不過在較新的 Framework 版本可就不一定適用了。
Windows Azure MMC 是一個很簡單但又能直接管理 Windows Azure 上虛擬機器狀態與儲存區的管理工具,在沒有 System Center 的情況下,算是一個蠻好用的管理工具,筆者經常使用它來管理現有的雲端環境,但是它並不直接支援 Windows 8 和 Windows Server 2012,未來也許會修改,但現階段不支援...
在前一個範例中,我們己經實作出來一個簡單的應用程式,而這次我們要來展示 SignalR 的另一個功能:由伺服端呼叫用戶端的 JavaScript 指令碼的功能,而這個功能的要求必須是要實作成 Hub 的模式,因此我們可以順便看到如何實作 Hub 類型的 SignalR 應用程式。
SignalR 是一個使用上並不困難的 Framework,而在 Visual Studio 上使用更容易,透過 NuGet 的功能,我們可以很容易的整合 SignalR 到專案內,只要在 Package Manager Console 中使用一個指令就能自動安裝與整合 SignalR 與相依的組件到專案內。
SignalR 這個專案是 ASP.NET MVC 3.0 在開發的時候就建立的一個專案,由 David Fowler 與 Damian Edwards 兩位 ASP.NET 團隊成員所建置,它的主要功用是讓 Web Application 的用戶端和伺服器間的通訊能夠一致化,在 SignalR.net 網站內的介紹中,SignalR 的主要功能協助開發人員在 .NET 上建置出能夠支援即時通訊 (real-time) 且多使用者互動 (multi-user interactive) 的 Web 應用程式,因此它的標的不只是針對 ASP.NET MVC 本身,而是整個 .NET Framework 平台,它也不限 Hosting 的應用程式,這種筆者覺得它變成是 Web API 的另一種實作選擇,但是它在核心端處理連線的功能上比 ASP.NET MVC 的 Web API 要強多了,更重要的是,它可以在 Web Form 上使用。
這幾年來,Web 的應用開發方式的發展有了不少的改變,JavaScript 再度成為 Web Application 的用戶端開發的顯學之一,伺服端也出現了一個叫做 node.js 的伺服端開發技術,它們兩個都有一個共通的特性:事件驅動式 (event-driven),早先在 Windows API 以及 Visual Basic 上常用的程式開發方式,再次於 Web Application 上流行,這也象徵著 Web Application 己經成為一個相當成熟的應用程式平台。
Google 在這次的 Google I/O 2012 大會上,宣布了他們的 Infrastructure 的第一個產品-Compute Engine,並且以較大資源的 VM 運算能力進入市場,第一個目標是 Amazon 的 EC2,因為它的規格幾乎都是以 Amazon 為對手設計的...
雖說接觸 HTML5 已經一段時間了,但真正讓我使用到 HTML5 特殊功能的源頭,還是檔案上傳,畢竟檔案上傳這件事每個 Web 應用程式幾乎都有,而且多半是單檔上傳,多檔的話只能用 Flash 或 Silverlight 寫檔案上傳元件配合 JavaScript 來做,但到了 HTML5,Flash 和 Silverlight 大概就只能靠邊站了,因為 HTML5 不愧是號稱可以打趴 Flash 的新技術,幾乎 90% 以上 Flash 可做到的功能,在 HTML5 上都可以做到...
前面的幾篇文章大概介紹了常用的 JavaScript 物件導向的功能,包含物件的宣告,屬性,方法,事件等特性,也介紹了多型的部份,這次要介紹的是在 Design Pattern 中很常用的功能-靜態類別 (static class) 和成員。
單一簽入 (Single Sign On) 一直是驗證存取權機制的最終境界,整合單一簽入的技術在市場上早已炒到不能再炒了,而且也有相當多的單一簽入解決方案,其中包含 OAuth 1.0/2.0,Open ID,Active Directory,LDAP 等等協定和服務,而在社群網路流行後,幾個重要的大型帳戶儲存庫像 Facebook, Google, Yahoo, Twitter, Plurk, Linked In 等廠商也相繼的開發了認證的 API 群,以支援來自不同設備或用戶端的驗證需求,而在台灣最新的個人資料保護法正式施行前,外部的單一簽入已經成為應用程式認證機制的首選,尤其是小型網站或新進市場的應用程式,透過大廠來處理驗證,使用者不但不用記太多的帳戶密碼,也容易吸引使用者登錄資料...
同質群組 (Affinity Group) 是 Windows Azure 上用來將自己的服務集中在一個地方的一種群組設定,在 Spring Release 之前,它只有設定讓所有服務都集中在相同的資料中心的能力,實用性真的不高,所以很少有人使用它,不過在 Spring Release 之後,同質群組已經和虛擬網路服務連結在一起了,也就是說,同質群組已經變成要配置 VM 到自己的虛擬網路內時必須設定的項目,而且不論是何種服務 (Website Role, Web Role, Worker Role, VM 等) 都適用,等於是給自己的網路加上了一個識別標籤一樣。
Session State 和雲端應用程式狀態管理一向是設計 Cloud 應用程式的重要考量因素之一,因為雲端應用是分散在不同的虛擬機器內執行的,VM 間可應用的大概只有像資料庫或 storage 這種集中式資料來源,而且雲端應用的儲存也都是分散式的,若是有一個地方能快取這些資訊,那麼就能降低分散環境的 I/O 負擔,應用程式的回應速度也會比較快,所以才會有 Windows Azure Caching Services (原稱 AppFabric Caching Services) 的出現,只是有個問題,就是它有點貴:128MB 的快取要 $45 美元月費,而中大型應用程式的快取通常需求又很高,同時 Caching Services 也是分散式的環境,所以還是有 I/O 的問題。
Spring Release 除了看得到的改變外,有一項隨處可見但沒有被大書特書的改變,大概就是整個產品線的重新命名吧,一開始的時候整個 Windows Azure Platform 是以三個產品線為主-Windows Azure, SQL Azure 與 AppFabric 三個品牌,經過兩年的推廣,很多人都不知道這三個品牌是系出同門,也就是都是 Windows Azure Platform 的一部份,而且 Windows Azure AppFabric 和 Windows Server AppFabric 是不同的技術 (雖然都有 AppFabric 這個字),相信連微軟自己都很頭痛,所以這次的 Spring Release 中,微軟對整個 Windows Azure 做了產品線的檢視,並將必要的產品線名稱重新拉回到 Windows Azure 之內,不但可以讓業務在解釋產品時能更聚焦,也能讓看到這個品牌的人明確知道這就是 Windows Azure 下的產品,而不是一個獨立產品。
這篇基本上是寫給 IT PRO 看的,身為開發人員看不懂沒關係,因為網路設定這部份通常不會是由開發人員來做的,尤其是複雜的 Gateway, DNS, DHCP 以及主機設定,包括以前在學校或電腦補習班學的子網路 (subnet) 知識,以及路由表設定的知識等等。之所以要使用虛擬網路服務,是為了配合之前所報導的 Virtual Machine 服務,主攻企業混合雲 (Hybrid Cloud) 基礎建設,也就是在雲上的基礎建設服務 (Infrastructure Services),MIS 人員能直接在 Windows Azure 資料中心內建置自己的虛擬機以及網路環境,再透過 VPN 連接本地端的網路,形成混合雲的完整基礎建設。
以往 Windows Azure 上可執行應用程式的角色,只有 Web Role 和 Worker Role,這兩個角色都要由開發人員上傳應用程式套件到雲上,而且還要自行設定許多的組態 (ex: Database) 才能啟用,就算使用者只想要用簡單的方式來建置自己的網站,也還是要先學習 Visual Studio 和 Windows Azure 開發才行,似乎對一些只有簡單需求的使用者來說門檻有點過高了,而且微軟自己已經有了一個 Web Platform Installer,裡面有豐富的 Web Application Gallery,許多開放原始碼的現成套件都在裡面,使用者也許只需要用這樣的套件,而不是一定要自己親手開發。
Spring Release 終於在美國時間 6/7 正式上市了,帶來許多的新功能與增強功能,除了全新感受的 HTML5 Management Portal 外,Spring Release 亮點的其中之一,要算是 Windows Azure Platform 真正踏入了 Infrastructure Service 的供應領域,由 2010 年 10 月開放公開 beta 的 VM Role 也終於正式釋出,稱為 Windows Azure Virtual Machines,不但保留了原本的 VM Role 功能,更增加了線上 VM Gallery 建置 VM 的功能,而且還可以在線上修改 VM (安裝軟體) 後,將 VM 產製作自己的 VM image,以供未來使用,大大增加了部署與設置自己的 VM 的彈性。
Windows Azure 這次的 Spring Release 大改版,最令人期待的亮點,就是整個管理入口網站正式改版,這個全新的入口網站使用了 HTML5 技術,並配合 AJAX, OData Services 等技術開發而成,依筆者個人實測速度,比前版快至少一倍以上,而且重新整理的時間也縮短了。
配合 Windows Azure 的 Spring Release,SDK 也順勢發布了 2012 年六月份的版本,最重要的是,它是首個支援 Visual Studio 2012 的 Windows Azure SDK,可相容於 Visual Studio 2012 RC 版本,所以 Visual Studio 2012 RC 的使用者不用再繼續罵了,因為終於有開發工具可用了。
對於 Windows Azure 來說,明天 (美國時間 6/7) 是很大的日子,最新的 Windows Azure Platform Spring Release 在明天就要正式開放,除了台灣正式納入 Windows Azure Platform 的服務範圍外,整個平台有較大幅度的服務與功能新增,其中有數項功能是針對企業用戶的私有雲 (Private Cloud) 而來,微軟希望在新的 Windows Azure 平台上能和企業的私有雲整合,將混合雲 (Hybrid Cloud) 的概念更完整的實現。
有了 Windows Server 2012,怎麼可以錯過 Visual Studio 2012 RC 呢?
等了那麼久,Windows Server 8 的發行前版本 Windows Server 2012 RC (Release Candidate) 終於在今天發表了,可以到 Windows Server 的官方網站上找到,或是搜尋一下 Windows Server 2012,相信很容易就能找到下載連結。與 Windows Server 8 Beta 類似的是,安裝介面沒有太大的改變,不過 RC 版本有繁體中文版,因此本文以繁體中文版來示範。