這個月台灣微軟熱熱鬧鬧地舉辦了開發者大會,向開發者們介紹了 HTML5、Windows Phone 7 Mango 以及 Touch Experience 這些與下一代微軟平台的開發技術習習相關的主題,如果你還沒瞭解這些技術的話,可要趕緊上 MSDN 來看看微軟在這些新技術上做了什麼樣的努力,也可以思考如何調整自己的步伐來學習這些技術!因為從 2011 下半年開始,這些技術的產品會一個接著一個陸續在台灣上市,開發者必須及早做好準備,為消費者提供更多好軟體!


  除此之外,在這個月裡,微軟研究院也釋出了測試版本的 Kinect for Windows 開發工具,原本用在 XBOX360 體感遊戲的裝置,在連結 Windows 之後可以將這樣的影像技術擁有更多發揮的舞台,有機會讓更多應用程式開始導入新穎的操作介面,你已經迫不及待想要利用 Kinect 做開發了嗎?馬上到這裡下載開發工具(當然是免付費!)、範例程式以及教學文件,一起來創造新一波軟體革命吧!附上一段使用 Kinect 做出來的多人會議示範:http://www.youtube.com/watch?v=-U-pPJsQiMA


  夏天到了,開發者也要注意別一直坐在冷氣房裡,多多走出戶外踏青、到海邊戲水吧!想要追蹤新技術,只要到我們 MSDN 在 facebook 上的粉絲頁按個讚,就可以隨時收到我們的新訊息哦~


台灣微軟開發工具暨平台推廣處 應用開發技術副理 上官林傑
雲端架構學(2):分析應用程式以決定如何使用雲端能力

  前回的雲端架構學(1)中,筆者已大概得向大家說明一般的應用程式和雲端上的應用程式有什麼樣的不同,其中最明顯的不同,就是雲端應用程式(Cloud-enabled Application)可以自由運用雲端供應商所提供的雲端資源(Cloud Resources),不論是運算能力資源、儲存能力資源、網路能力或是由供應商所提供的各種應用程式元件等,一個合格雲端應用程式應該能夠靈活運用上述的資源,以達到最大的資源成本效益比(即常聽到的 C/P 值)。

  一個網路應用程式的組成要件,不外乎就是運算+儲存+網路,因此要分析應用程式如何使用雲端能力,也須分成這三個部份來探討。
 
運算能力

  不論是何種雲端平台,若是夠資格稱為雲端的,都一定具備相當大量的運算資源,不論是實體伺服器或是虛擬機器,只要應用程式需要取用時,就能立即利用雲端供應商的自動化管理工具(例如 Windows Azure 的 Windows Azure Fabric Controller,或是 Dynamic Datacenter Toolkit for Hosters)自動的配給必要的運算資源給應用程式,而應用程式如何配置以使用這些動態資源,則是雲端應用程式架構中的重點項目。例如:將應用程式自動部署到新增的運算資源內以備使用,或是以一個 template 化的資源樣板(例如 VM Role 中的 VHD,內含作業系統與必要的應用程式部署套件)交由自動化管理工具來生成運算資源,並設計一個中控系統管理這些資源等等,都是可有效運用 Scalable Compute Instances(可擴充式運算資源)的方法。

  應用程式有時也需要在執行的過程中評估運算資源是否可用,是否需要做 Scale-Up(提升運算資源本身的 CPU/RAM 能力)或是 Scale-Out(增加運算資源的數量),當然也有可能需要 Scale-Down 以及 Scale-In,以符合雲端的 On-demand 特性,以及 Self-Service 的需求。那麼應用程式如何操作這些特性,則也是個必修的課題。以 Windows Azure Platform 為例,管理人員可以自由利用 Management Portal 中的 Edit Configuration 功能,調整目前線上應用程式的組態檔,以增加或減少應用程式所需的運算執行個體數量:
NOTE

  線上的 Scale-Out 可透過組態方式做,且如果原本就有兩個 instance 的話,那麼修改 instance count 到三個以上時,或需要 Scale-In 時,只要保持 instance count=2,就可以確保原本的高可用度。不過目前若是要 Scale-Up 的話,由於需要替換原本的 VM,故可能需要將原有的 instance 關閉再重新部署(remove-and-redeploy)。

  在 Windows Azure Platform 中,應用程式可應用服務管理 API(Service Management APIs)來自動化 Scale-Out/In 這件事,若需要 Scale-Up/Down 時,也可以利用服務管理 API 來實作自己的運算資源分段式升級,以確保應用程式的高可用度。
NOTE

  有關 Windows Azure 上的 Dynamic Scaling 能力,可參考 Microsoft 提供的範例程式:https://archive.msdn.microsoft.com/azurescale

儲存能力
  雲端應用程式由於多數都是在自己的虛擬機器(VM)中運行,且在未知虛擬機器何時會因為當機而停擺,雲端供應商的自動化機制通常在偵測到 VM 沒有心跳(heartbeat)時,會自動再找一個適合的伺服器產生一個新 VM 並接手服務,而原本當機的 VM 也會被自動化機制回收,若此時應用程式是將資料儲存在 VM 中,那麼那些資料會隨著 VM 回收而消失無蹤。因此雲端應用程式必須要將資料保存在雲端供應商提供的儲存機制。通常雲端供應商都會提供至少一種資料保存的功能,例如儲存二進位資料的 BLOB 儲存體或是儲存結構化資料的 Table 儲存體等,而一般來說雲端的儲存服務都具有接近無限空間的儲存能力,因此儲存空間問題不大,關鍵的問題是在散布速度(distribution speeds)以及查詢速度(query speeds)。
  散布速度關係著使用者需要花多久時間才可以得到需要的資料,雲端應用程式可運用像 Windows Azure CDN 或是 Akamai CDN 來散布,若應用程式需要大量散布資料(如Video, Audio 或是檔案下載)時,CDN 可以有效加速資料的傳播速度;而查詢速度就和應用程式的設計會相關,因為多數的雲端供應商使用的儲存方式是分散式海量儲存架構,海量儲存架構會切割資料的儲存為 Index Layer(索引伺服器)與 Data Layer(資料儲存伺服器),Index Layer 的查詢速度會影響應用程式在查詢資料時的效率,因此雲端供應商多半會提出一些設計上的注意事項,以確保 Index Layer 可以在較短的時間內回應查詢的結果,應用程式的儲存層需要注意這部份的設計,以確保查詢儲存資料時不會拖垮應用程式的效能。
  另外,如果應用程式會產生一些快取資料(Cache Data)或是不需要永續保存的資料時,可以選擇保存在 VM 本地的儲存空間中,以加快存取速度,或是運用 Caching Service(如 Windows Azure AppFabric Caching Services 或 memcached 服務)來協助保存快取資料。
結語
  本文說明了一個應用程式在雲端化之前需要分析的各種面向,從運算、儲存到網路能力等,都有不同的分析重點,但目的都是相同的,讓應用程式能更有效的運用雲端所有的資源。本文尚有一個部份未提及:安全性。這個部份會在後續的文章中提及。

Q:Service Bus 問題

Q:執行封裝、部署指令時出現錯誤訊息

 
 
Visual Studio 2010 SP1,你跟上了沒?實機演練課程1 天只需 NT$ 2,000,立即報名!
 

編:請問您當初怎麼進微軟的?

  Charlotte:大學時透過未來生涯體驗計畫到顧問群當實習生,跟著顧問一起做專案,畢業時直接到微軟當 contractor。後來技術支援部門有職缺,便到了現在的職位。

編:自己部門有什麼印象深刻的工作趣事?

  Charlotte:我的工作最主要是在協助客戶解決 Office 與 SharePoint Server 相關的問題。其實女生在 IT 產業算是少數,所以常常在跟客戶連繫時,客戶往往會因為好奇而多聊了幾句,甚至還有客戶說他有上網搜尋關於我的資料,還會跟我分享他找到了哪些資訊。

編:進微軟前跟後,想法有改變嗎?

  Charlotte:進微軟前覺得微軟是邪惡帝國,但進了微軟之後發現,這家公司真是佛心來的,很願意傾聽客戶的聲音,對於客戶滿意度是相當重視的。
  我很喜歡我們公司的文化,因為我們是 commitment base,所以主管會很清楚地讓我了解 goal,但不會告訴你或規定你要怎麼做,給了我們很大的空間。

編:工作上遇到最棘手的事?

  Charlotte:因為我的第一份工作是跟著顧問做專案,轉到現在的職位時,其實花了很大的力氣去適應另一種工作模式的時間管理。偶爾遇到 case volume 較高的時候,怎麼分配時間就顯得更為重要。另外畢竟我們是 hotline,碰到緊急狀況時,如何在最短時間內讓客戶的系統恢復正常,不只是考驗技術能力,也考驗個人溝通協調的能力。
  但這份工作除了對產品的核心有更深入的了解外,能協助客戶將系統恢復正常及解決客戶的問題,其實是最重要的。

編:你覺得成為微軟員工所需要的特質為何?

  Charlotte:我們部門同事的特質就是:宅!! 在我們部門一定找得到最新的 3C 產品。但其實微軟員工的特質來說,Passion 是最重要的。畢竟 workload 都會是可預見的大且重,如果沒有足夠的 passion 來支持自己撐下去,很容易就會想要放棄

編:給開發人員的一些感想,或是身為女性開發人員的一些感受!

  Charlotte:身為一個女生,雖然說我在我們部門相當的吃不開 (同事都把我當兄弟),但在跟其他國家的同事合作時,常常可以感受到大家對女生的特別關愛跟照顧。我曾經跟同事測試過,一起發信到同一個內部討論群組,結果我的問題很快就有人回答了,我同事的信後來石沉大海。

  Microsoft 2011 開發者大會,這次一口氣揭露了微軟最新的科技發展趨勢與應用,會中分享來自微軟的創新科技發展、創新設計關鍵、創新應用商機,並提供最實際的商業和技術指引。以主題「聯結,新時代」貫穿整個大會,就讓我們來看看現場直擊照片!

現場體驗各式的 Windows 7 平板裝置
並已有許多應用程式 (Apps) 可供使用了。
中場休息活動,各位開發者們與現場主持人互動熱烈參與。
現場各式 Windows Phone 7 的展示與體驗, 並公佈 Mango 概觀。 體感遊戲 (Xbox 360 Kinect)
讓開發者們實際體驗、身臨其境外,也提供大顯身手的好機會。

  從 HTML5、Windows Phone,再到觸控及雲端的開發設計。各種不同的新時代議題讓爆場的開發者們滿載而歸。2011 微軟開發者大會也在各位的熱情參與中落幕,無論有沒有來參加的開發者們,今年的 Tech.Days 再相見吧!

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
https://msdn.microsoft.com/en-us/magazine/hh227291.aspx
 
Multi-Platform Windows Azure Storage(英文)
 
WCF 延伸至 Windows Phone 7
在 Windows Azure 中裝載並使用 WCF Services
幾個輕鬆點擊,即可付費啟用你的 Windows Azure 及 SQL Azure (英文)
雲端必備程式 – Internet Explorer 9
 
 
 
 
 
請繼續愛護與支持 MSDN 電子報哦!

  謝謝朋友們的熱情回應!從 09 年 11 月份電子報的技術文章,是由小朱資訊工作室的軟體與系統工程師,也就是大家稱呼 "小朱" 的朱明中先生幫我們撰寫,其它相關的資訊可以上 Bing 查詢;而技術文章的主題,我們尊重老師們的主題選擇;論壇精選則是我們根據當期的主題所作的編撰,版面設計的看法我們會更努力地發揮。  
  小編們可沒偷懶哦…公司當初的規畫就是一個月發一次電子報,期盼給程式開發人員們精確資訊及務實內容,不只是網路方面資料的整理,而是電腦外更多元的分享:講師們的技術文章、專業人士的採訪、活動報導等等。在此,誠摯地謝謝讀者朋友們期待我們的電子報發刊!   
  小編這次想將超潮亮采摺疊傘,贈送給小歐 ou 和 空逸雲兩位朋友,因為兩位在論壇開放回覆的隔天就留言了,也提供很不錯的看法。也謝謝 Simon, Ron, Joe… 的回覆,相信有了大家的寶貴意見,台灣微軟 MSDN 電子報一定會更豐富更精彩,盡請期待!

 
 
 
© 2011 Microsoft Corporation. 著作權所有,並保留一切權利。 使用規定 | 商標 | 隱私權聲明 | 取消訂閱