Results tagged “Cloud computing” from Hadoop Taiwan User Group

淺談雲端運算新趨勢與 Hadoop 平台之崛起
國家高速網路與計算中心 王耀聰

** 本文亦刊登於網管人雜誌第 53 期 ( 2010 年六月號 )

坐看風雲險中生

  隨著網際網路的普及,各種連網裝置讓我們的生活更加地便利。然而隨著人們產生資訊的速度越來越快,數量愈來愈多,大量通訊不僅塞爆了實體的網路頻寬,無形中也正侵蝕著你我大腦的資訊頻寬。為了解決資訊爆炸所造成的困擾,順應隨時隨地連網的趨勢,替企業達成精簡資訊成本的目標,一種嶄新的軟體服務模式與資訊架構革命正以撲天蓋地之姿席捲全球,Google執行長施密特(Eric Schmidt)於2006年8月9日SES'06會議中首次使用「雲端運算(Cloud Computing)」來形容無所不在的網路服務,緊接著Amazon更以 Elastic Compute Cloud(簡稱EC2)命名其虛擬運算資源服務[1],[2]。2007年10月8日,Google與IBM發佈合作新聞稿,擬於美國境內七所大學教授如何處理海量資料的高速計算技術,從此引爆雲端運算的討論熱潮[3]。2008年時值全球金融風暴肆虐,多數人均擔心雲端運算只是一時的口號。2009年4月24日,美國國家標準局(NIST)起草雲端運算的標準定義[4];於同年5月,歐巴馬政府更明白地在2010年度國會預算書上,指出雲端運算是重要施政重點[5]。隨即,英國、日本、韓國等亦相繼宣佈將建立政府雲端的計畫,作為振興經濟的強心針。2010年被媒體喻為台灣的雲端元年,但每當談到雲端運算,不知大家是否心中仍存著諸多疑惑,冷眼看那不同廠商各說各話。底下就讓我們細說從頭,先給大家一個關於雲端運算的正式定義、看看雲端的技術演進史,最後說明為何Hadoop這個處理海量資料的軟體平台會逐漸被國際資訊大廠所重視。

笑談雲端五四三

  漫畫裡的呆伯特對老闆突然丟來的奇怪問題,總能用簡單的一句話敷衍過關。那麼如果要您用一句話簡單說明什麼是雲端運算,那該如何解釋呢?且讓小弟不聰贈送各位正經版與幽默版各一句來當作應對妙招,正經版可答道「雲端運算就是隨時隨地運用各種裝置來存取想要的服務」,幽默版可笑曰「雲端運算談的不外乎五四三(台語)啦~」倘若有人反譏您胡說八道,還有雲端口訣可以背得對方聽:「一個基本精神、兩個極端產業、三個服務模式、四個佈署模型、五個基礎特徵」,這不恰恰就是五四三二一嘛?!關於這雲端口訣的五四三可不是隨便說說,真是取自美國國家標準局(NIST)的雲端標準定義呢[6]!以下為各位看倌逐一說個明白。

  所謂「五個基礎特徵」,包括:(1)隨需自助服務(On-demand self-service)、(2)隨時隨地用任何網路裝置存取(Broad network access)、(3)多人共享資源池(Resource pooling)、(4)快速重新佈署靈活度(Rapid elasticity),和(5)被監控與量測的服務(Measured Service)。這五個基礎特徵的典型代表當然是Amazon Web Service。專家們認為未來進入雲端運算的時代,每個系統管理員將不再需要擔憂採購硬體的時間與流程,而是改以租賃方式,動態地根據需求,自助啟動或關閉所負責的資訊服務,而這些服務都是透過各種網路裝置來存取。此外,由於全球不同企業共享這些軟硬體甚至人力資源,從統計與機率上,若產業異質性高,便能有效地互補彼此尖峰使用的時間,間接降低了不同企業的資訊成本。當然為了達成動態調配共享資源的目的,雲端服務供應商必須具備快速重新佈署的靈活度,好讓各種被釋放出來的資源能馬上被其他客戶使用。最後,任何雲端服務都涉及計價行為,因此所有服務必須能被監控與量測,好統計租賃的帳單金額。

  至於「四個佈署模型」,指的是(1)公用雲端(Public Cloud)、(2)私有雲端(Private Cloud),及不常聽到的(3)社群雲端(Community Cloud)、(4)混合雲端(Hybrid Cloud)。公用雲端顧名思義就是全球一起共用某個雲端服務廠商的資源池,多半適用於資料機敏性低的新創事業或中小企業;而私有雲端則是由企業自行建置共享資源池,故任何資料機敏性高的產業都可能需要自行打造。社群雲端係指由多個組織共享資源池,故較合適具共享研究資料需求的學研單位合資建置;而混合雲端泛指混合了上述三種雲端型態,須基於標準或運用新技術來確保資料與應用程式在不同平台間的移植性。

  關於「三個服務模式」,也可稱之為不同雲端服務商的市場區隔,分別為:(1)架構即服務(Infrastructure as a Service,IaaS)、(2)平台即服務(Platform as a Service,PaaS)與(3)軟體即服務(Software as a Service,SaaS)。Amazon EC2的服務就是典型的架構即服務,讓用戶可自行租賃所需的運算、儲存與網路資源。而Google App Engine則是典型的平台即服務,讓用戶可以在共通的平台上進行程式開發或軟體佈署。大家常用的Yahoo、Gmail、Facebook等都算是軟體即服務的範疇,過去購買套裝軟體的模式,如今已逐漸典範轉移,改依需求變化,動態地變更租賃軟體服務的授權數量,用多少付多少。從企業經營成本面來看,過去採購硬體的固定成本,如今轉變成變動營運成本,在金流調度上將更有彈性。

  口訣最後的「兩個極端產業,一個基本精神」,談的是未來雲端將持續往兩個極端發展,一邊是雲(資料中心)的產業供應鏈,一邊是端(行動裝置)的產業供應鏈。雲的發展將是地理集中而標準化,而端的發展將是位置變異而多元化。而雲端運算之所以能融入各行各業,憑藉的是「形成網路服務」這個基本精神。惟有形成服務,才有商業行為,方能串起供需鏈,進而促進經濟的永續發展。

回顧資通六十載

  談完雲端的五四三,相信各位已對雲端運算有比較清晰的概念。那麼雲端運算代表的是全新技術嗎?其實不然,雲端運算只是軟體演化必然的趨勢。讓我們一同回顧資通產業過去六十年的發展:1960年代運算主力是超級電腦,1970年代才有個人電腦誕生,1980年代制訂TCP/IP通訊協定,1990年初期因為有GNU自由軟體基金會與Linus的貢獻,才產生第一次高速運算革命,讓個人電腦叢集(PC Cluster)以企鵝雄兵打敗超級電腦,大幅降低運算成本,平行運算(Parallel  Computing)頓時蔚為顯學。1990年代後期網路逐漸導入金融機構,分散式物件技術才逐漸流行。演化至2000年初,SETI@Home尋找外星人計畫,向全球電腦用戶借螢幕保護的運算資源,開啟分散式運算(Distributed Computing)的新頁。隨即全球高速電腦中心起而效法分散式運算精神,提倡格網運算(Grid Computing),擬能建立虛擬組織共享全球運算資源。格網運算雖立意良善,卻因遲遲無法形成服務而難以進入產業應用。直至2006年Amazon推出 Elastic Compute Cloud(EC2)才成功地建立隨需運算服務,開啟雲端運算的序曲。

  歷經超級電腦、平行運算、分散運算與格網運算,雲端運算繼承了平行運算的叢集技術、融合了分散運算的容錯特性,發展出「資料中心即電腦(Data Center as a Computer)」的新思維[7]。有別於格網運算將資料搬到有空閒計算資源的思維,雲端運算強調把工作丟到資料所在主機去計算。在雲端的年代,資訊人惟有不斷充實多核心、平行、分散式運算與網頁程式設計等技能,才有機會住進未來那朵大雲裡。

喜獲吉象過重山

  看完以上的趨勢分析,或許您不禁想問:「縱使知道雲端趨勢很重要,若想打造私有雲端,下一步該做什麼呢?總是得腳踏實地,而不是空口畫雲吧~」若您想打造私有雲端,可參考如下圖中所列舉不同技術分層的自由軟體,來建置您專屬的雲端服務。目前有專家學者警告企業導入雲端不該只是採購硬體或導入虛擬化。小弟認為這只是導入雲端第一個階段,後續將視各企業屬性不同而導入平台即服務與軟體即服務的相關技術。倘若您的企業需要架構即服務,擬導入虛擬層與控制層,這裡建議的自由軟體包括:Xen、KVM、OpenNebula與Eucalyptus這幾套。若您需要建置的是資料分析的平台服務,那接下來要介紹的Hadoop與美國資料探勘中心研發的Sector/Sphere都是首選。

  本文最後要談的是Hadoop這個海量資料分析的軟體平台,它有何特殊呢?為何Google與IBM合作教授雲端課程採用它?為何Yahoo搜尋引擎、Facebook社交網站、Last.fm網路電台、Joost網路電視等均採用它來進行資料分析呢?首先,倘若說Google是當今最能引導技術風潮的品牌,想必大家不得不同意。那麼Google的關鍵技術是什麼呢?Google有三大關鍵技術:其一是Google File System,為了提升營運容錯率,Google重新設計了一套分散式檔案系統來存放全球的網頁內容、電子郵件、照片、影片等;其二是MapReduce演算法,Google宣稱多數的資料分析都可以靠此一演算法解決;其三是BigTable分散式資料庫,Google將存在Google File System中的資料,經過MapReduce運算後,轉換成巨大的資料表,這個資料表有別於傳統關聯式資料庫,僅存放成對的Key-Value。因此,當您下達一個查詢網頁或查詢信件的動作前,Google早已將所有網頁、信件進行拆解分類存進BigTable,查詢下達時只是從BigTable查Key等於關鍵字對應的所有Value罷了。

  然而Google的三大關鍵技術沒有原始碼或軟體可讓其他企業安裝使用,好在Google佛心來著,分別公開了Google File Ssystem、MapReduce與BigTable的三篇論文,讓Hadoop這套軟體平台的創始人Doug Cutting能參考論文,重新實作了Hadoop Distributed File System(HDFS)與MapReduce API。諸多過去無法分析的資料,如今有了Hadoop軟體平台後,都開始可以分析了。例如:電信業者如今可以分析手機在基地台漫遊的特性,提供更好的在地費率。信用卡業者如今可以每天定期分析各種信用貸款所產生的風險,動態調整信貸利率。便利超商如今可以分析消費者的購買習慣,動態調整架上存貨數量。甚至新興產業,如生醫資訊、智慧電網等都可以運用Hadoop平台來進行資料探勘與趨勢預測。若您的企業有儲存海量資料的需求,有分析海量資料的需求,或者面臨資料庫過度龐大,正在尋求分散式資料庫或資料倉儲的技術,那Hadoop或許是一個已通過商業驗證的選擇。只要懂得駕馭Hadoop這隻大象,它將能駝著您爬過一座座資料大山,幫您犁出隱藏在群眾中的邏輯。
 

open_source_for_private_cloud.png
▲ 建構私有雲端運散架構的自由軟體

[1] Did Google's Eric Schmidt Coin "Cloud Computing"?
    - http://cloudcomputing.sys-con.com/node/795054/print
[2] Search Engine Strategies Conference 2006
    - http://www.google.com/press/podium/ses2006.html
[3] Google and I.B.M. Join in 'Cloud Computing' Research
    - http://www.nytimes.com/2007/10/08/technology/08cloud.html
[4] The US Federal Government defines Cloud Computing
    - http://www.elasticvapor.com/2009/05/us-federal-government-defines-cloud.html
[5] President Obama's 2010 Budget Highlights Cloud Computing
    - http://kevinljackson.blogspot.com/2009/05/president-obamas-2010-budget-highlights.html
[6] NIST Definition of Cloud Computing v15
    - http://csrc.nist.gov/groups/SNS/cloud-computing/cloud-def-v15.doc
[7] The Datacenter as a Computer
    - http://www.morganclaypool.com/doi/abs/10.2200/S00193ED1V01Y200905CAC006
工商服務一下,代某知名半導體廠貼一下職缺。

Job description:

  • Study and implement cloud computing technologies and provide proposal for critical system availability improvement for high volume data processing improvement.
  • Collaborate with project teams to pilot and promote cloud computing technologies.
Job requirement:

  • MS degree or above in computer science or related disciplines.
  • At lease 2-year experience in the Hadoop/map reduce, virtualization, grid computing or cloud computing.
  • Ability to learn and apply new technologies quickly.
  • Self motivated, good teamwork and problem solving skill.
  • Experienced in data center management  related fields is a plus.
  • Fluent English communication skill is a plus (oral and written).
工作地點:新竹

履歷資料或相關職缺問題請寄至 yytai AT tsmc DOT com

「雲端運算與應用」系列演講(四)
pomsets 雲端工作流程管理分享
"Cloud Computing and its Application" lecture series:
pomsets : Workflow management
for your cloud

    當雲端運算遇上動畫製作,會激盪出什麼樣的火花呢?工作流程管理在雲端運算架構中,是蠻容易被忽 略的一個組成元件。然而,若是對Amazon Web Service 夠熟悉的話,會發現在 Amazon 提供的服務中,也有一些與流程管理有關,如:Amazon SQS (Simple Queue Service)、Amazon SNS (Simple Notification Service)。此次演講很榮幸邀請到 Nephosity 的創辦人 Michael Pan 來為我們介紹 pomsets 這套軟體(非商業用途為 GPL 授權),Michael Pan 擁有豐富的分散式運算工作經驗,更曾參與史瑞克三、功夫熊貓、馴龍高手、史瑞克:快樂 4 神仙等動畫製作。歡迎有興趣了解雲端工作流程管理的自由雲端同好踴躍參加。

    Workflow management is the design, specification, and coordinated execution of jobs and their dependencies necessary to perform some computing task. It is an important, yet unaddressed component of the cloud computing software stack.

    In this talk, we begin by explaining the motivation for workflow management. To address the problem at hand, we introduce pomsets, a cloud enabled workflow management system. After a brief introduction of its features, we will use a live demonstration. If time permits, we will present an actual use case and provide statistics on how pomsets reduces computation in a real life application.


15:00~15:10  引言
15:10~16:30  講題:pomsets: Workflow management
   for your cloud

講者:Michael Pan, CEO of Nephosity
16:30~16:40  Q & A

註:響應政府儉樸原則,本活動不提供餐點,敬請見諒。

「雲端運算與應用」系列演講(二)
台灣微軟 Azure 雲端平台
與 Hyper-V 虛擬化技術

"Cloud Computing and its Application" lecture series:
Microsoft Windows Azure Platform
and Hyper-V Virtualization Technology

   根 據目前雲端運算的分類,大致可分為公用雲端(Public Cloud)與私有雲端(Private Cloud)兩種。談到公用雲端,除了最早發難的 Amazon EC2/S3,以及 Google App Engine,微軟的 Azure 平台更不容忽視。想了解微軟 Azure 可以提供什麼樣的雲端服務嗎?想了解 Hyper-V、VMWare 與 Xen 的差異嗎?本次演講很榮幸邀請到台灣微軟的兩位達人來為我們解惑,敬邀各界踴躍與會討論。此本會議不收取任何報名費用,歡迎各界踴躍參加。礙於此次會議場地座位有限,請速上網報名,額滿為止。也請大家代為宣傳

13:30~14:20 講題:微軟 Azure 雲端平台解決方案現況
講者:李匡正 Tom Lee
   Architect Evangelist, 台灣微軟
14:20~14:40 Q&A -- 中場休息
14:40~15:30 講題:微軟 Hyper-V 虛擬化技術簡介
講者:Robert Hu
   台灣微軟
15:30~15:40Q&A -- 結束

註一:響應政府儉樸原則,本活動不提供餐點,敬請見諒。 

「雲端運算與應用」系列演講(一)
雲端運算於地理資訊系統之應用
"Cloud Computing and its Application" lecture series:
Cloud Applications for
Geographic Information System (GIS)

   地理資訊系統(Geographic Information Syste,GIS)必須整合各項相關地理資訊化及資料庫,範圍涵蓋資料擷取、編修、更新、儲存、查詢、處理、分析及展示等功能。由於所需儲存與分析的資料量相當龐雜,非常需要導入雲端運算海量資料處理的技術。此次演講很榮幸邀請到在開放式地理空間協會(Open Geospatial Consortium,OGC)十分活躍的逢甲地理資訊中心來為我們介紹目前在地理資訊系統方面的成果與未來展望。此本會議不收取任何報名費用,歡迎各界踴躍參加。礙於此次會議場地座位有限,請速上網報名(http://registrano.com/events/cloudtalk20100210),額滿為止。也請大家代為宣傳

10:00~10:40 講題:逢甲地理資訊中心近期成果簡介與未來展望
講者:衷嵐焜
   逢甲大學地理資訊系統研究中心 研發部經理
10:40~11:10 講題:當企鵝龍遇上小飛象
   ─ 國網中心 Hadoop 實驗叢集簡介
講者:王耀聰
   國網中心 格網技術組 副研究員
11:10~12:00 小型座談會 ─ 談 Hadoop 與 GIS 之可能合作議題

註一:響應政府儉樸原則,本活動不提供餐點,敬請見諒。
註二:第二場演講預計二月二十四日下午一點半開始,邀請台灣微軟介紹 Arzure 平台與 Hyper-V 虛擬化技術。

hadoop-tw.jpg


台灣 Hadoop 使用者社群會議
Hadoop Taiwan User Group Meeting 2009


繼格網運算之後,雲端運算被視為下一代資訊架構的主流。雲端運算平台 Hadoop 及雲端資料庫平台 HBaseHive 均是目前諸多雲端運算服務的基礎架構。 Cloudera 是目前全球首先提供自由軟體 Hadoop 技術支援的商業公司,本次使用者會議特別邀請來自 Cloudera Christophe Bisciglia 來跟我們分享如何運用 Hadoop 打造雲端應用程式與軟體服務,並分享自由軟體的可行商業模式:教育訓練與認證機制。此外,也邀請了國內推動Hadoop 教學、軟體開發、社群建立的幾位同好來進行知識分享,包括:台灣雅虎老魚研究室國立台灣大學資訊工程學系通訊與多媒體實驗室國家高速網路與計算中心雲端運算研究小組。希望透過此次會議,讓更多有興趣瞭解 Hadoop 的夥伴相互交流,進行凝聚出台灣區的 Hadoop 社群。
本會議不收取任何報名費用,歡迎各界踴躍參加。礙於此次會議場地座位有限,請速上網報名(http://registrano.com/events/hadoop-tw),額滿為止。
也請大家代為宣傳(議程PDF版)。

Cloud Computing is a hot research topic since year 2007. Hadoop, HBase and Hive are the key components of many cloud computing infrastructures.  Cloudera is the first company to provide technical support of Hadoop. In this workshop, we invite Christophe Bisciglia to share the experience of how to build cloud services with Hadoop and  Cloudera's open source business model - training and certification. Besides, we also invite local developers of Taiwan Hadoop communities to share their projects.
  This workshop is now free to register. Please use following URL to join this event.  http://registrano.com/events/hadoop-tw

09-10-21_Schedule_small.png


向SQL說NO (NOSQL)

|
一個相當年輕但是正在快速成長的新社群"向SQL說NO" (nosql) 上週在美國舊金山舉行了一次會議, 這次的會議向大家完整的介紹分散式資料庫,這種非傳統關連式資料庫(RDBMS)如何在各樣不同計畫或產品當中成功的被應用. 其中包括了 
MongDb (10gen 等.. ,
投影片跟Video可以在 http://blog.oskarsson.nu/2009/06/nosql-debrief.html 這邊下載.

Apache Cloud Computing Edition

|
前一陣子在 Hadoop mailing list 上看到有人問到說"我們要怎樣稱呼 Hadoop + HBase + Lucene + Zookeeper + etc ..比較好呢?" 孔子說的好 "必也正名乎!" , 大家都知道 Cloud Computing 是今年最火紅的 Term (其實在 Distributed computing 領域大約每十年會出現一個 buzzword), 相較今年各家廠商陸續各式各樣的 Cloud computing 產品, Apache 軟體基金會目前使用 "Apache Cloud Computing Edition" 來稱呼它 , 這名字有沿用當年頗為成功的 Java Enterprise Edition 的意思, 雖然本質是不一樣的東西, 但是強調這是個是跨語言的平臺. 目前正計畫整合更多相關的技術.

在 http://svn.apache.org/repos/asf/labs/clouds/ 可以看到目前草稿版的 slides , 其中對於為何要前進 Cloud ? 什麼是 Cloud application ? 目前該做什麼? 都有清楚簡潔的說明,想要真正了解 Cloud computing 的人不可錯過.
apache_cloud_computing_edition.jpg