本書集結作者多年雲端教學經驗和心得,內容深入淺出,理論與實務兼備,適合當作大專院校「雲端運算」相關課程的教科書,也適合業界人士當成自學工具書。本書每章節都有豐富的圖文和範例,使讀者易於了解,每章最後都有習題可供練習,讓讀者檢視了解的程度。如果想更深入每章節的議題,參考文獻亦提供詳盡豐富的參考資料,可供進一步研讀。本書包含十五個章節,以循序漸進的方式介紹雲端運算的概念、架構、應用平台與技術外,還包括時下熱門的物聯網、大數據、行動App、軟體定義網路、雲端運算的關聯性與整合應用。期望讀者能透過研讀本書的內容,撥雲見日,開啟雲端運算的一扇窗,成為具備雲端運算背景知識與專業知識的專家。
作者簡介:
作者簡介
廖文華 教授
國立臺北商業大學資訊與決策科學研究所教授兼所長,中華民國資訊管理學會監事,並於中央大學資訊工程系取得博士學位。專長領域為人工智慧、物聯網、大數據分析、雲端運算和金融科技等。指導團隊參加經濟部AIGO競賽獲全臺灣第一名。曾獲教育部「特殊優秀人才彈性薪資」和科技部「獎勵特殊優秀人才」的獎勵。
張志勇 教授
淡江大學資訊工程系特聘教授,於中央大學資訊工程系取得博士學位。專長領域為物聯網、人工智慧與數據分析、健康照護等。出版全臺灣第一本《物聯網概論》的書籍,其物聯網作品多次受各電視、報紙、電台與數位媒體報導,並常受邀於科技類雜誌專稿發表物聯網相關評論,指導學生參加經濟部AIGO競賽多次獲全臺灣第一名。
蒯思齊 教授
國立臺北商業大學資訊管理系助理教授,於大同大學資訊工程系取得博士學位。專長領域為物聯網、人工智慧和雲端運算等。曾於國立臺北商業大學金融科技研究中心與洗錢防治研究中心擔任研究員。指導團隊參加AI金融科技競賽與華南金融科技競賽等全國比賽,並取得銀牌的成績。
章節試閱
1-1 雲端運算簡介
雲端運算(Cloud Computing)已經成為非常普遍的名詞,廣泛被使用在各種不同的技術、服務和觀念。雲端經常與下列的項目相關聯,例如虛擬化架構、即時需求的硬體、公共運算、IT外包、平台即服務、軟體即服務等,現在比較注重在IT的產業。圖1-1顯示許多對於雲端運算的技術、觀念和想法。「雲」這個字以前是用在通訊產業,在系統中代表網路的抽象化,之後變成最流行的電腦網路,Internet的符號。它的意義也引伸為雲端運算,以Internet為主的運算。Internet在雲端運算中扮演一個非常重要的角色,因為它代表媒介或是平台,許多雲端的服務藉由它傳送出去。
由於處理器、儲存裝置和Internet的快速發展,計算資源比起以前更便宜、更豐富而且無所不在。技術的演進使得雲端運算成為Internet下一階段的重要趨勢。對於使用者和資訊的提供者可達到費用的減少和創造新的商業模式。雲端運算主要的優點是較低的硬體需求、維護費用的減少、隨處皆可容易存取、高彈性、自動處理流程和幾乎不需要軟體的更新。同時有許多業界的公司開始提供各式的雲端平台和服務,像是Amazon的Amazon Web Services,Google的Google Cloud Platform和Microsoft的Microsoft Azure等。雲端運算對於企業的商業模式有著重要的影響,同時也改變管理企業資訊設備的方式。例如紐約時報成功地利用Amazon的雲端平台將1,100萬的文章(4 Terabytes TIFF格式的資料)在24小時內只花費$240元就轉換成1.5 Terabytes PDF格式的資料。Facebook利用雲端技術儲存超過2 Petabytes未壓縮的資料,每天處理將近15 Terabytes的資料。在這些例子中雲端運算確實提供了便宜、快速和方便的運算資源和儲存空間。
在雲端運算環境裡的資源(例如CPU和儲存裝置)就像是一般的水、電、瓦斯、電話等公用計算(Utility Computing)的使用方式,用戶可以透過Internet根據他們的需求(on-demand)來使用他們的資源,而且付費的方式是隨用隨付(Pay-as-you-go)。在雲端的環境裡,傳統的服務供應商可分成兩種,一種是基礎設施的提供者,他們負責管理雲端的平台,根據使用的價格模式出租資源;另一種是服務的提供者,他們向基礎設施提供者租賃資源,然後服務使用者。雲端運算可說是一種新的服務模式,可以隨時、隨處、根據需求,方便使用共享的計算資源,像是網路、伺服器、儲存空間、應用程式和服務,而這些資源可以由服務的供應商來提供快速的部署和較少的管理成本。
雲端運算的一些基本特色,包括自主服務、網路存取、資源共享、快速彈性、按量計價。它是一種可以方便和隨時透過網路使用共享的計算資源(例如網路、伺服器、儲存空間、應用程式和服務),也可以用較少的管理成本快速部署,使用者不必自己建置資訊基礎設施,可以從各處去使用雲端服務。而且這些計算資源同時可以提供給多租戶(Multi-tenancy)使用,根據不同的用戶需求,快速有彈性地動態調整這些資源,並且依據用戶的使用量計費。雲端最終的目的就是提供一個擴展性、便宜的即時運算基礎設施,而且擁有高品質的服務。
雲端運算最重要的概念是以服務為導向,包含軟體、硬體、平台、基礎設施、資料、商業等服務。但是一般主要分成三種服務模式,包含基礎設施即服務(Infrastructure-as-a-Service, IaaS)、平台即服務(Platform-as-a-Service, PaaS)和軟體即服務(Software-as-a-Service, SaaS)。基礎設施即服務主要提供用戶運算、儲存、網路和其他基本的計算資源,在上面部署或執行各種作業系統或應用軟體。使用者無需管理雲端的基礎設施、但是可以控制作業系統、儲存裝置和應用程式,也可控制網路的原件,例如防火牆。使用者可以藉由終端的設備去使用這些服務。平台即服務主要是提供用戶部署開發應用程式所需的程式語言、程式庫、服務和工具的雲端基礎設施。使用者無需去管理或控制相關的雲端基礎設施,只需操控部署的應用程式和設定應用的環境變數。軟體即服務主要是用戶在雲端的基礎架構上使用供應商的軟體服務,軟體可以透過各種不同的終端設備,利用瀏覽器來使用軟體,而無需擔心如何管理網路、伺服器、作業系統、儲存裝置等雲端基礎設施。圖1-2為雲端運算的生態環境。
雲端的部署方式主要可分為四種,包括私有雲(Private Cloud)、公有雲(Public Cloud)、混合雲(Hybrid Cloud)和社群雲(Community Cloud)。私有雲主要由一個組織自己建置雲端基礎設施。私有雲可能由組織自己或其他人建置、管理或營運,這些設備可能建置在組織內或組織外。公有雲的雲端基礎設施主要是提供一般大眾用戶來使用,公有雲可能由企業、學術機構、政府組織所建置、管理或營運,這些設備建置在雲端的提供者內。混合雲是由兩種或兩種以上的雲端部署模式(私有雲、公有雲、社群雲)混合而成,藉由標準或產業的技術將各自的特色組合起來使得資料和應用程式容易轉移。社群雲主要由一些具有特定任務、安全需求、政策、承諾的社群所共同建置。社群雲也與私有雲一樣可能由組織自己或其他人建置、管理或營運,這些設備可能建置在組織內或組織外。以上是簡單介紹雲端運算具備的特性、服務的類別和部署的模式,可以參考圖1-3。
1-2 雲端運算的演進和技術
雲端運算具有許多的創新性。不管在計算能力的進展,運用虛擬的觀念,使得硬體的使用更有效率,提供計算資源和應用程式藉以打破傳統的價值鏈,創造新的商業模式。首先雲端運算算不算是新的電腦技術?我們先從電腦計算的演進開始探討。
自從1947年電晶體發明之後,電腦的發展非常快速。1957年,IBM推出704,是第一台具有浮點運算的大型主機電腦(Mainframe),之後1964年又推出System/360系列產品。這個時期電腦主要的特色是周邊設備都可以更換,軟體都可在這系列的電腦上執行。之後演進到所謂的迷你電腦(Minicomputer),1964年DEC推出了PDP-8,1974年Xerox推出了Alto。因為Intel在1969年開發出第一顆微處理器4004,之後1971年開發微處理器8008,所以個人電腦(PC)在1970年代也開始發展。1975年MITS開始販售第一台家庭電腦(Home Computer)Altair 8800,隨後Apple、Atari、Commodore也開始製造。到了1981年,IBM進入這個市場,並且以個人電腦(PC)的名稱來銷售。之後個人電腦持續發展,不但有優異的執行效率,並搭配圖形使用介面(GUI)讓使用者操作方便,而且尺寸不斷縮小,演進到現今的筆記型電腦、平板電腦、甚至是行動手持設備。
另一方面重要的里程碑應是Internet的發展,1969年,ARPANET開始發展,電腦間可以開始互相通訊,到了1981年,已經有大約200個組織的電腦在這個網路上互相聯結。1983年,網路協定開始採用TCP/IP,把所有的子網路連接到ARPAnet,這種連接所有網路的網路就稱為Internet。剛開始Internet主要是用在軍事和科學上,從1988年起,Internet開始使用在商業的服務,像是電子郵件、Telnet、Usenet等。然而Internet獲得突破性的進展應歸功於,1989年Berners-Lee發明了網際網路(World Wide Web, WWW)。Berners-Lee開發WWW最開始是為了歐洲核能研究組織(CERN)的資訊管理系統,是基於文件超連結(Hypertext)的技術,而文件超連結的基本觀念就是經由一個邏輯的參考點來取得相關的知識內容。而WWW蔚為風行主要是因為Mosaic瀏覽器的開發。
隨著頻寬的增加,加上Java、PHP、Ajax等新的技術,開始發展互動性的網站,現今在Internet上有許多的多媒體網站、線上購物、路線規劃、通訊平台、社交網站、還有辦公室的相關應用程式,像是文書處理和試算表。這種部署的概念被稱作軟體即服務(Sofeware-as-a-Service),在2000年非常風行。類似的部署觀念被用在硬體的資源上,特別是運算能力和儲存空間。以此觀念建置稱為網格計算(Grid Computing),開始於1990年代。雲端運算的名詞出現在2007年,主要的觀念是將硬體和軟體一起部署。最開始是由Google、IBM和六所美國的大學開始研究。圖1-4是電腦運算演進的重要里程碑。
事實上雲端運算是從集中式計算、叢集式計算、分散式計算和網格計算一路演進而來,如圖1-5,以下分別介紹。
1. 集中式計算
集中式計算中以大型主機和超級電腦為代表。大型主機發展於1960年代,主要用於大量資料和關鍵專案的計算,例如銀行金融交易及資料處理、人口普查、企業資源規劃等等。主機通常強調大規模的資料輸入輸出,著重強調資料的吞吐量。有些大型電腦可以同時執行多作業系統,因此不像是一台電腦而更像是多台虛擬機器,因此一台主機可以替代多台普通的伺服器,是虛擬化的先驅。同時主機還擁有強大的容錯能力。超級電腦指能夠執行一般個人電腦無法處理的大資料量與高速運算的電腦,其基本組成元件與個人電腦的概念無太大差異,但規格與效能則強大許多。1960年代是比較原始的純量處理器。到了1970年代,大部分超級電腦就已經是向量處理器了,很多是自行開發的廉價處理器。1980年代初期,業界開始轉向大規模平行運算系統,這時的超級電腦由成千上萬的普通處理器所組成。
2. 叢集式計算
叢集式計算是透過一組鬆散整合的電腦軟體和/或硬體連線起來高度緊密地協作完成計算工作。在某種意義上,他們可以被看作是一台電腦。叢集系統中的單個電腦通常稱為節點,通常透過區域網路連線,但也有其他的可能連線方式。叢集電腦通常用來改進單個電腦的計算速度和/或可靠性。一般情況下叢集電腦比單個電腦,比如工作站或超級電腦效能價格比要高得多。
3. 分散式計算
分散式計算是透過計算機網路相互連結與通訊後形成的系統。把需要進行大量計算的工程資料分割成小塊,由多台電腦分別計算,在上傳運算結果後,將結果統一合併得出資料結論的科學。
4. 網格計算
網格計算透過利用大量異構電腦(通常為桌上型電腦)的未用資源(CPU週期和磁碟儲存),將其作為嵌入在分布式電信基礎設施中的一個虛擬的電腦集群,為解決大規模的計算問題提供一個模型。網格計算的焦點放在支援跨管理域計算的能力,這使它與傳統的電腦集群或傳統的分布式計算相區別。
5. 雲端運算
雲端運算描述了一種基於網際網路的新的IT服務增加、使用和交付模式,通常涉及通過網際網路來提供動態易擴充功能而且經常是虛擬化的資源。使用者透過瀏覽器、桌面應用程式或是行動應用程式來存取雲端的服務。使得企業能夠更迅速的部署應用程式,並降低管理的複雜度及維護成本,及允許IT資源的迅速重新分配以因應企業需求的快速改變。
1-1 雲端運算簡介
雲端運算(Cloud Computing)已經成為非常普遍的名詞,廣泛被使用在各種不同的技術、服務和觀念。雲端經常與下列的項目相關聯,例如虛擬化架構、即時需求的硬體、公共運算、IT外包、平台即服務、軟體即服務等,現在比較注重在IT的產業。圖1-1顯示許多對於雲端運算的技術、觀念和想法。「雲」這個字以前是用在通訊產業,在系統中代表網路的抽象化,之後變成最流行的電腦網路,Internet的符號。它的意義也引伸為雲端運算,以Internet為主的運算。Internet在雲端運算中扮演一個非常重要的角色,因為它代表媒介或是平台,許...
推薦序
推薦序一
有一句話說「No magic, only basic」(沒有魔術,只有基本),表示做任何事或學習任何東西都要從基礎做起。英文的基礎就是ABC,而現在資訊的應用基礎也是ABC,A代表AI(Artificial Intelligence, 人工智慧),B代表Big Data(大數據),C代表Cloud(雲端),因為大數據都存在雲端,而且雲端才有很多的CPU(Central Processing Unit)或GPU(Graphical Processing Unit)來做大數據的運算,也才能夠有AI,所以雲端才是一切的基礎。
本書《雲端運算概論》即是一本讓學生可以瞭解雲端運算的好書,除了介紹雲端運算和儲存的基礎原理之外,重要的是本書也有將現今大家使用最頻繁的公有雲,包括亞馬遜的AWS (Amazon Web Services)、微軟的Azure和OneDrive、谷歌的Google Cloud和Google Drive和Dropbox等做了介紹,讓學生可以去實際體驗使用雲端的好處。
總之現在學資訊科技一定要懂得雲端,而本書就是最好的開始。
張瑞雄
國立臺北商業大學校長
推薦序一
有一句話說「No magic, only basic」(沒有魔術,只有基本),表示做任何事或學習任何東西都要從基礎做起。英文的基礎就是ABC,而現在資訊的應用基礎也是ABC,A代表AI(Artificial Intelligence, 人工智慧),B代表Big Data(大數據),C代表Cloud(雲端),因為大數據都存在雲端,而且雲端才有很多的CPU(Central Processing Unit)或GPU(Graphical Processing Unit)來做大數據的運算,也才能夠有AI,所以雲端才是一切的基礎。
本書《雲端運算概論》即是一本讓學生可以瞭解雲端運算的好書,除了介紹雲端運算和儲存的基礎原理之外,重...
作者序
作者序
雲端運算在近年來已受到產官學界的高度重視,在台灣教育部的推動下,已在全國許多大專院校成立雲端學程,積極地在校園建置雲端運算的實驗環境及培養雲端運算的人才,而在全世界雲端技術快速發展的同時,各式各樣的雲端服務及應用已如雨後春筍般地出現,並快速影響著產業資訊系統的佈建與營運。
筆者有鑑於雲端運算的快速發展,對於初學者而言,希望能有一個淺顯易懂的教材,以理解雲端運算的觀念為主要的教材內容,並融入雲端運算的實務經驗,透過淺顯易懂的方式,供初學者、自學者或在校修課者,能快速且全面地掌握雲端運算的概念、洞悉雲端運算發展的動機與脈絡、了解雲端運算所提供的各種應用服務與商業模式,並對支撐各類服務的軟硬體架構及技術予以深入了解。
這本書共有15個章節,每個章節均有豐富的內容、課後習題練習以及完整的參考文獻,既適合自學,也適合當作教科書,供雲端運算相關課程的開課老師及修課同學們在課堂上使用,整本書的內容除了介紹雲端運算的概念、架構、應用平台與技術外,還包括時下熱門的物聯網、大數據、行動App及SDN與雲端運算的關聯性與整合應用。期望本書的讀者能透過本書內容的研讀,撥雲見日,開啟雲端運算的一扇窗,成為具備雲端運算背景知識與專業知識的專家。
作者序
雲端運算在近年來已受到產官學界的高度重視,在台灣教育部的推動下,已在全國許多大專院校成立雲端學程,積極地在校園建置雲端運算的實驗環境及培養雲端運算的人才,而在全世界雲端技術快速發展的同時,各式各樣的雲端服務及應用已如雨後春筍般地出現,並快速影響著產業資訊系統的佈建與營運。
筆者有鑑於雲端運算的快速發展,對於初學者而言,希望能有一個淺顯易懂的教材,以理解雲端運算的觀念為主要的教材內容,並融入雲端運算的實務經驗,透過淺顯易懂的方式,供初學者、自學者或在校修課者,能快速且全面地掌握雲端運算的...
目錄
目錄
第一章 雲端運算簡介
1-1 雲端運算簡介
1-2 雲端運算的演進和技術
1-3 雲端運算的架構
1-4 雲端運算的實例
1-5 雲端運算的服務等級協定
1-6 雲端運算的挑戰
1-7 習題
第二章 雲端的經濟效應
2-1 雲端運算的經濟效益
2-2 雲端運算對企業管理的影響
2-3 雲端運算的能源效應
2-4 全球雲端運算市場規模
2-5 習題
第三章 雲端虛擬化
3-1 虛擬化的特色
3-2 虛擬化的技術
3-3 網路虛擬化
3-4 桌面虛擬化
3-5 內容傳送網路
3-6 VMware
3-7 Microsoft Hyper-V
3-8 Xen
3-9 實作範例
3-10 習題
第四章 雲端大數據
4-1 大數據的來源和特性
4-2 大數據的管理議題
4-3 大數據的價值
4-4 大數據的挑戰
4-5 大數據的應用
4-6 習題
第五章 雲端儲存系統
5-1 雲端儲存簡介
5-2 儲存技術的演進
5-3 檔案系統、資料庫
5-4 分散式檔案系統
5-5 Amazon S3
5-6 Dropbox
5-7 Google Drive
5-8 Microsoft OneDrive
5-9 習題
第六章 行動雲端與App
6-1 行動雲端運算
6-2 App應用
6-3 App Inventor
6-4 App Inventor實作
6-5 習題
第七章 雲端作業系統
7-1 雲端作業系統簡介
7-2 OpenStack
7-3 習題
第八章 雲端平台—Microsoft Azure
8-1 Microsoft Azure雲端平台
8-2 Microsoft Azure Compute
8-3 Microsoft Azure Data Service
8-4 Microsoft App Service
8-5 實務範例
8-6 習題
第九章 雲端平台—Amazon Web Services
9-1 Amazon Web Services
9-2 運算服務
9-3 AWS的部署和管理服務
9-4 儲存服務
9-5 通訊服務
9-6 實務範例
9-7 習題
第十章 雲端平台—Google Cloud Platform
10-1 Google Cloud Platform
10-2 Google Compute Engine
10-3 習題
第十一章 雲端運算的應用
11-1 雲端在科學研究的應用
11-2 雲端在工程研究的應用
11-3 雲端在企業資訊發展的應用
11-4 雲端在社群網路與數位內容的應用
11-5 雲端在教育的應用
11-6 習題
第十二章 雲端安全
12-1 雲端安全的危機
12-2 雲端運算的法律問題
12-3 雲端運算的資安問題
12-4 雲端運算的資安管理
12-5 雲端運算的各面向
12-6 習題
第十三章 雲端資料中心
13-1 資料中心簡介
13-2 傳統資料中心架構
13-3 雲端資料中心架構
13-4 節能的資料中心
13-5 習題
第十四章 軟體定義網路
14-1 軟體定義網路的發展
14-2 OpenFlow
14-3 軟體定義網路在資料中心的應用
14-4 軟體定義網路軟硬體平台
14-5 實務範例—Mininet
14-6 習題
第十五章 雲端運算與物聯網
15-1 雲端運算與物聯網
15-2 智慧生活雲
15-3 智慧能源雲
15-4 智慧交通雲
15-5 智慧健康雲
15-6 習題
目錄
第一章 雲端運算簡介
1-1 雲端運算簡介
1-2 雲端運算的演進和技術
1-3 雲端運算的架構
1-4 雲端運算的實例
1-5 雲端運算的服務等級協定
1-6 雲端運算的挑戰
1-7 習題
第二章 雲端的經濟效應
2-1 雲端運算的經濟效益
2-2 雲端運算對企業管理的影響
2-3 雲端運算的能源效應
2-4 全球雲端運算市場規模
2-5 習題
第三章 雲端虛擬化
3-1 虛擬化的特色
3-2 虛擬化的技術
3-3 網路虛擬化
3-4 桌面虛擬化
3-5 內容傳送網路
3-6 VMware
3-7 Microsoft Hyper-V
3-8 Xen
3-9 實作範例
3-10 習題
第四章 ...