最近 Cloud Computing 的幾個指標性的供應商,包含 Microsoft, Amazon, Google 等,都相繼提出了邊界運算 (又稱邊際運算) 的概念,其實說穿了,只是分久必合,合久必分的循環而己。
[碎碎念] 邊界運算 (Edge Computing)
- 22715
- 0
- Cloud Computing
最近 Cloud Computing 的幾個指標性的供應商,包含 Microsoft, Amazon, Google 等,都相繼提出了邊界運算 (又稱邊際運算) 的概念,其實說穿了,只是分久必合,合久必分的循環而己。
Build 2015 第一天的議程中,由微軟 Azure 的技術長 Mark Russinovich 所主講的 Azure's Next Generation Compute Platform 題目中,他勾勒了未來 Azure 的下一代基礎建設。
Windows Azure Platform 自六月份 Spring Release 之後,在這幾個月中仍有持續不斷的小改款,並加入一些新的功能,或是移轉一些 Silverlight-based 管理介面的功能到新的管理介面來,而在昨天晚上,Windows Azure 的管理介面添加了較多的新功能,因此在這裡特別整理報導。
Google 在這次的 Google I/O 2012 大會上,宣布了他們的 Infrastructure 的第一個產品-Compute Engine,並且以較大資源的 VM 運算能力進入市場,第一個目標是 Amazon 的 EC2,因為它的規格幾乎都是以 Amazon 為對手設計的...
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 下的產品,而不是一個獨立產品。
以往 Windows Azure 上可執行應用程式的角色,只有 Web Role 和 Worker Role,這兩個角色都要由開發人員上傳應用程式套件到雲上,而且還要自行設定許多的組態 (ex: Database) 才能啟用,就算使用者只想要用簡單的方式來建置自己的網站,也還是要先學習 Visual Studio 和 Windows Azure 開發才行,似乎對一些只有簡單需求的使用者來說門檻有點過高了,而且微軟自己已經有了一個 Web Platform Installer,裡面有豐富的 Web Application Gallery,許多開放原始碼的現成套件都在裡面,使用者也許只需要用這樣的套件,而不是一定要自己親手開發。
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 Azure Platform 即將要有大規模的改版 (Spring Release),筆者亦會一併著手進行 Windows Azure 教戰手札的新版改版工作。
Cloud Computing在2008年出現後,已經成為資訊產業的焦點領域,各大主流廠商無不投入雲端運算的領域中,台灣的主要軟硬體與系統商(趨勢科技、英業達等)也投入大量人力與資本到雲端運算的市場中,工研院也發展了自己的雲端作業系統Cloud OS 1.0進入雲端領域中,Google, Amazon與Microsoft更是不斷的擴充與強化自己的雲端運算實力,以吸引不同的產業與廠商進入雲端的世界。不過雲端運算的思維和一般應用程式有著極大的不同,若應用程式的開發人員無法理解雲端與一般應用程式的差異時,很容易設計出只使用雲端一點點資源的一般應用程式而已,完全無法發揮雲端運算的威力...
本文將會對雲端的安全議題做一概覽性的介紹,因為雲端運算會涉及的安全議題多且廣,所以無法太細部的介紹,如果對某些議題有興趣,可參考相關的資訊安全書籍。
早期企業在打造應用程式時,除了少數較宏觀的主導者以外,多數都是按照當下的需求以及業務條件來發展的,很少會有考量到軟體特性(例如Scalability、Extensibility、Maintainability等)的規劃。隨著時代的進步,物件導向程式設計與系統分析的發展,讓資訊產業開始重視軟體元件(Software Component)的概念,軟體元件的可重覆使用性愈高,則軟體元件的效益就會愈高,同時也代表該軟體的價值也愈高。但只要是在資訊產業涉足一段時間的人,通常都會知道資訊產業的主流總是掌握在幾個大廠商或是領導社群中,企業需要在不同的廠商標準間將內部所有的系統整併以維持或強化企業的資訊體質...
SQL Azure的資料庫應用程式開發和SQL Server有95%以上可相容,剩下的5%只要修改一下SQL,將不支援的指令移除後,一樣能連接SQL Azure。
SQL Azure的安全性可以分為兩個部份,一個是防火牆設定,另一個則是帳戶的管理與授權設定。
SQL Azure資料庫的管理,基本上多數功能和在本地的SQL Server是一樣的,但是和伺服器與作業系統調整的功能,就不在SQL Azure的支援範圍以內。
筆者之前在多場研討會和課程中講授SQL Azure時,都會強調一件事:『雖然SQL Azure和SQL Server很像,但它們本質上還是不同的』。看起來再怎麼像的東西,也一定有不同的地方,SQL Azure以Windows Azure基礎建設環境為基石建構,同時享有了高可用度與容錯能力,但是它並不是什麼都沒改就能做容錯的,除了基礎建設對網路與虛擬機器資源的支援外,SQL Server本身勢必也要做一些修改,才能符合SQL Azure原始設計上應有的功能。
雲端運算是一種新的資源整合方式,將雲端供應商的運算資源集中起來,並且利用使用者付費的精神將服務開放給使用者,使用者只需要付出很少的成本即可享有與大型企業對等的運算服務,在這個架構下發展自己的創意,並分享給所有使用智慧型裝置的用戶
繼前一天的VM Role作業,我們已經成功的上傳了自訂的 VM Role 基礎作業系統影像 (base operating system image),接下來就是在 Visual Studio 中使用這個VM Role。VM Role 和 Web Role/Worker Role 不同,它擁有自己的組態環境,不像 Web Role/Worker Role 是可以在上面建置專案,也就是說,企業的應用程式必須要在 VM Role 中都設定好以後,再將 VHD 上傳到 Windows Azure 資料中心。當然,你也可以使用 Remote Desktop Connection 的檔案上傳來傳送檔案,但是速度不會比直接在 VHD 組態好後再上傳來的快。
VM(Virtual Machine)Role 是微軟特別開放 Windows Azure Platform 上的 Image Deployment 機制,讓企業可以自行設定一個自己的虛擬磁碟(Virtual Hard Drive, VHD)並上傳到 Windows Azure Platform的 BLOB 儲存區中,而 Windows Azure Platform的RDFE (Red Dog Front-End) 可以在應用程式的設定下,由自己的 BLOB 儲存區中取用自訂的 VHD 進行組建,以作為應用程式的執行環境。
開發雲端應用程式的思維可不能像平常開發應用程式一樣,我們每天在開發應用程式時,都能運用除錯器來偵錯,或是調台近端的主機上傳測試用,或是公司自己有自動化測試的機制,然而當應用程式上了雲端環境後,這些習慣幾乎通通不能用了,原因很簡單,雲端應用程式執行的地方可能是離你幾千公里外的公有雲機房,我們不可能在機房內掛除錯器偵錯,就算要上傳也要幾經思量(要錢),但是我們又希望能夠記錄或測量應用程式的執行細節,這時我們能夠用的,就是Windows Azure Platform本身的診斷服務(Diagnostics Service)。
Drive Storage是Windows Azure SDK特別為.NET的開發人員所準備的一個儲存格式,它只存在於Windows Azure SDK的組件和API中,它並沒有對外的REST APIs,除了使用Windows Azure SDK外,沒有別的方法可以使用,它本身是基於Page-BLOB為主的儲存服務,但將它模擬成一個獨立的磁碟機供應用程式使用...
學過資料結構的人一定都聽過Stack和Queue吧,Stack是後進先出(LIFO),而Queue則是先進先出(FIFO)的資料結構,商用系統的實務開發上,Queue的應用範圍比Stack要大的多了,因為在實務上會用到先進先出的案例太多了,舉凡線上訂位(購買)、抽號碼牌、選位等等商用的需求都會要求先進先出的條件,故Queue的應用範圍會比Stack大的多,微軟當然也很清楚這一點,所以在Storage中也實作了一個專門處理Queue的服務,即為Queue Storage。
SQL Azure Reporting 和 SQL Azure Data Sync 服務,簡直是難兄難弟,它們兩個都有一個共同的問題:CTP 很久,而且管理介面一開始並不好用也不怎麼開放,所以除了一些先導計畫的講師或專家會先進去用以外,大多數人看到那種介面就不會想用了 ... :) 還好,這次 PASS 大會也同時宣布了 SQL Azure Reporting 和 SQL Azure Data Sync 一樣也進入了 Final CTP 階段,不久後應該就會正式開始提供服務。
Table Storage是一個模擬關聯式資料庫的結構化資料(structured data)存取服務,它就像是在雲端中的表格一樣,允許應用程式可以在Table儲存體中宣告並存取自己的資料結構。而在Table儲存體的內部,則是橫跨多個伺服器與磁碟儲存區的基礎架構,微軟的Windows Azure開發小組將核心內的所有作業都隱藏起來,只顯露出一個REST API供外部應用程式存取,而且都是透過相同的URL來呼叫,因此Table基本上並不是儲存在應用程式所在的VM,而是在Windows Azure Platform內部自動規範的儲存區域中。
BLOB Storage顧名思義,是專門用來儲存二進位檔案使用的儲存服務,基本上檔案的格式沒有任何的限制,只要是可以轉換成二進位資料(binary data)的檔案都可以儲存,也就是我們常說的非結構化(unstructured)資料,舉凡一般的文字檔案到大型的影音檔案都可以使用。
昨天我們完成了準備工作,接下來我們就可以直接部署了。
在完成Cloud Application的開發也完成本地的測試後,我們就可以將應用程式發行到雲端環境了,當然,使用者必須要先申請到Windows Azure Platform的帳戶,然後登入到Windows Azure Management Portal建立新的主機服務(Hosted Service),才可以進行上傳的工作。
經由前幾天的知識補給後,我們來寫一支簡單的Cloud Application吧,當然第一次用要先向Windows Azure說聲Hello,所以第一支程式就以Hello Windows Azure來實作吧。
Windows Azure Platform的運算服務設計上分為兩個部份,第一個部份是等級(Level),第二個部份是用途,等級決定了RDFE在部署時的實體伺服器選擇,而用途決定了Guest OS以及內部的Fabric Agent要如何啟動以及開啟適當的網路通訊埠...