高級(jí)軟件工程PKUSEI課件_第1頁
高級(jí)軟件工程PKUSEI課件_第2頁
高級(jí)軟件工程PKUSEI課件_第3頁
高級(jí)軟件工程PKUSEI課件_第4頁
高級(jí)軟件工程PKUSEI課件_第5頁
已閱讀5頁,還剩195頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第五講

新運(yùn)行平臺(tái):云計(jì)算平臺(tái)第五講

新運(yùn)行平臺(tái):云計(jì)算平臺(tái)1主要內(nèi)容第一部分:云計(jì)算第二部分:平臺(tái)即服務(wù)主要內(nèi)容第一部分:云計(jì)算第一部分:云計(jì)算1、概念2、軟件即服務(wù)3、基礎(chǔ)設(shè)施即服務(wù)4、平臺(tái)即服務(wù)第一部分:云計(jì)算1、概念什么是云?1、概念什么是云?1、概念CLOUD

COMPUTINGCLOUD

COMPUTING到底什么是云計(jì)算?云計(jì)算是近年來得到廣泛關(guān)注和快速發(fā)展的一種新型的計(jì)算方式云計(jì)算借助互聯(lián)網(wǎng)實(shí)現(xiàn)計(jì)算資源和信息的按需供給云計(jì)算是一個(gè)發(fā)展中的概念,其中的很多定義和標(biāo)準(zhǔn)都在討論中到底什么是云計(jì)算?云計(jì)算是近年來得到廣泛關(guān)注和快速發(fā)展的一種Berkeley對(duì)云計(jì)算的定義CloudComputingreferstoboththeapplicationsdeliveredasservicesovertheInternet,andthehardwareandsystemssoftwareinthedatacentersthatprovidethoseservicesBerkeley對(duì)云計(jì)算的定義CloudComputingWiki的定義云計(jì)算是一種基于互聯(lián)網(wǎng)的計(jì)算方式通過互聯(lián)網(wǎng)上異構(gòu)、自治的服務(wù)為個(gè)人和企業(yè)用戶提供按需即取的計(jì)算云計(jì)算的資源是動(dòng)態(tài)易擴(kuò)展而且虛擬化的,終端用戶不需要了解云中基礎(chǔ)設(shè)施的細(xì)節(jié),只關(guān)注自己需要什么樣的資源以及如何得到相應(yīng)的服務(wù)Wiki的定義云計(jì)算是一種基于互聯(lián)網(wǎng)的計(jì)算方式CloudComputingisInternet-basedcomputing,wherebysharedresources,softwareandinformation

areprovidedtocomputersandotherdeviceson-demand,liketheelectricitygrid.CloudComputing(Wiki):NISTTheterm"cloud"isusedasametaphorfortheInternet,basedontheclouddrawingused……todepicttheInternetincomputernetworkdiagramsasanabstractionoftheunderlyinginfrastructureitrepresents為什么叫“云”?“云是可以通過網(wǎng)絡(luò)訪問的、集中管理的服務(wù)”CloudComputingisInternet-ba云計(jì)算的主要特征資源高度集中大量的硬件、大量的軟件、大量的數(shù)據(jù)以在線形式向用戶提供服務(wù)資源利用率高用戶使用方便接入簡單(本地用最小化的設(shè)施,瀏覽器)數(shù)目處于不斷變化之中要求服務(wù)質(zhì)量高云計(jì)算的主要特征資源高度集中云計(jì)算的關(guān)鍵技術(shù)基于虛擬化技術(shù)快速部署資源或獲得服務(wù)實(shí)現(xiàn)動(dòng)態(tài)的、可伸縮的擴(kuò)展按需求提供資源、按使用量付費(fèi)通過互聯(lián)網(wǎng)提供、面向海量信息處理用戶可以方便地參與形態(tài)靈活,聚散自如減少用戶終端的處理負(fù)擔(dān)降低用戶對(duì)于IT專業(yè)知識(shí)的依賴云計(jì)算的關(guān)鍵技術(shù)基于虛擬化技術(shù)快速部署資源或獲得服務(wù)NIST:云計(jì)算的服務(wù)模型軟件即服務(wù)(SaaS)平臺(tái)即服務(wù)(PaaS)架構(gòu)即服務(wù)(IaaS)NIST:云計(jì)算的服務(wù)模型軟件即服務(wù)(SaaS)云計(jì)算體現(xiàn)了IT服務(wù)化的思想云計(jì)算的三種基本服務(wù)模式SaaS:SoftwareasaService,軟件即服務(wù)。服務(wù)的提供者將應(yīng)用軟件部署在服務(wù)器上,用戶根據(jù)需求通過互聯(lián)網(wǎng)訪問應(yīng)用并獲得服務(wù)IaaS:InfrastructureasaService,基礎(chǔ)設(shè)施即服務(wù)。服務(wù)的提供者將計(jì)算機(jī)基礎(chǔ)設(shè)施作為計(jì)量服務(wù)提供給用戶PaaS:PlatformasaService,平臺(tái)即服務(wù)。服務(wù)的提供者將軟件應(yīng)用的開發(fā)環(huán)境、運(yùn)行環(huán)境等作為計(jì)量服務(wù)提供給用戶云計(jì)算體現(xiàn)了IT服務(wù)化的思想云計(jì)算的三種基本服務(wù)模式云包含不同類型的服務(wù)IaaS:EC2,S3,…PaaS:GAE,Heroku,…SaaS:Salesforce,…動(dòng)因不同:如何處理剩余資源?讓用戶更方便地使用軟件SaaS發(fā)展的必然結(jié)果云包含不同類型的服務(wù)IaaS:EC2,S3,…Pa云計(jì)算的實(shí)踐現(xiàn)狀你已經(jīng)在使用大量的云了網(wǎng)絡(luò)搜索:googlesearch電子郵件:gmail查病毒:自動(dòng)更新病毒庫云輸入:自動(dòng)更新常用輸入你甚至可能已經(jīng)有過“云開發(fā)”的經(jīng)歷了CVS、SVNIssueTracker云計(jì)算的實(shí)踐現(xiàn)狀你已經(jīng)在使用大量的云了歷史ASP(ApplicationServiceProvider)代表:S在線客戶關(guān)系管理(CRM)誕生首次提出:“StrategicBackgrounder:SoftwareAsAService”,inFebruary2001bytheSoftware&InformationIndustryAssociation's(SIIA)eBusinessDivision2、軟件即服務(wù)歷史2、軟件即服務(wù)軟件即服務(wù)是最普遍的一類服務(wù)模式。服務(wù)的提供者將軟件應(yīng)用部署在服務(wù)器上,通過互聯(lián)網(wǎng)分發(fā)給最終用戶用戶往往不再為“擁有”軟件支付費(fèi)用,而是為“使用”軟件支付費(fèi)用服務(wù)的提供者所服務(wù)的每一個(gè)個(gè)人或者組織被稱之為“租戶”,這種配置模式被稱為多租戶架構(gòu)。服務(wù)的提供者的資源被虛擬地劃分為多個(gè)部分,使得每個(gè)租戶都可以利用定制的實(shí)例進(jìn)行工作對(duì)于最終用戶來說,使用SaaS無需前期的服務(wù)器或者軟件許可投資對(duì)于應(yīng)用的開發(fā)者來說,只需要為多個(gè)客戶端維護(hù)一個(gè)應(yīng)用軟件即服務(wù)是最普遍的一類服務(wù)模式。服務(wù)的提供者將軟件應(yīng)用部署客戶所使用的服務(wù)商提供的這些應(yīng)用程序運(yùn)行在云基礎(chǔ)設(shè)施上。這些應(yīng)用程序可以通過各種各樣的客戶端設(shè)備所訪問,通過瘦客戶端界面像WEB瀏覽器(例如,基于WEB的電子郵件)客戶不管理或者控制底層的云基礎(chǔ)架構(gòu),包括網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)、存儲(chǔ)設(shè)備,甚至獨(dú)立的應(yīng)用程序機(jī)能,在可能異常的情況下,限制用戶可配置的應(yīng)用程序設(shè)置客戶所使用的服務(wù)商提供的這些應(yīng)用程序運(yùn)行在云基礎(chǔ)設(shè)施上。這些3、基礎(chǔ)設(shè)施即服務(wù)服務(wù)的提供者將IT設(shè)基礎(chǔ)設(shè)施資源的利用作為服務(wù)提供給用戶,這些資源通常包括處理器資源、存儲(chǔ)資源、網(wǎng)絡(luò)帶寬等。用戶可以在這些基礎(chǔ)設(shè)施上部署和運(yùn)行軟件,包括操作系統(tǒng)和應(yīng)用軟件典型代表:Amazon

EC2

(ElasticComputeCloud)通過互聯(lián)網(wǎng)訪問,向用戶提供按需計(jì)費(fèi)的計(jì)算能力和存儲(chǔ)空間Amazon的AWS是一個(gè)新的IaaS,可以直接向用戶提供基于VMware的虛擬機(jī),支持windows和Linux等操作系統(tǒng)3、基礎(chǔ)設(shè)施即服務(wù)服務(wù)的提供者將IT設(shè)基礎(chǔ)設(shè)施資源的利用作為基礎(chǔ)設(shè)施即服務(wù)向客戶提供處理、存儲(chǔ)、網(wǎng)絡(luò)以及其他基礎(chǔ)計(jì)算資源,客戶可以在上運(yùn)行任意軟件,包括操作系統(tǒng)和應(yīng)用程序。用戶不管理或者控制底層的云基礎(chǔ)架構(gòu),但是可以控制操作系統(tǒng)、存儲(chǔ)、發(fā)布應(yīng)用程序,以及可能限度的控制選擇的網(wǎng)絡(luò)組件(例如,防火墻)基礎(chǔ)設(shè)施即服務(wù)向客戶提供處理、存儲(chǔ)、網(wǎng)絡(luò)以及其他基礎(chǔ)計(jì)算資源4、平臺(tái)即服務(wù)服務(wù)的提供者把應(yīng)用程序的開發(fā)和運(yùn)行環(huán)境作為一種服務(wù)提供給用戶,用戶在平臺(tái)的基礎(chǔ)上開發(fā)或者部署自己的應(yīng)用程序,并借助平臺(tái)的服務(wù)器通過互聯(lián)網(wǎng)交付給應(yīng)用程序的最終用戶PaaS可以給企業(yè)或個(gè)人提供研發(fā)的中間件平臺(tái)如數(shù)據(jù)庫、應(yīng)用服務(wù)器等資源典型代表:F、GAE、Heroku、CloudFoundry4、平臺(tái)即服務(wù)服務(wù)的提供者把應(yīng)用程序的開發(fā)和運(yùn)行環(huán)境作為一種平臺(tái)即服務(wù)客戶使用云供應(yīng)商支持的開發(fā)語言和工具,開發(fā)出應(yīng)用程序,發(fā)布到云基礎(chǔ)架構(gòu)上客戶不管理或者控制底層的云基礎(chǔ)架構(gòu),包括網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)或者存儲(chǔ)設(shè)備,但是能控制發(fā)布應(yīng)用程序和可能的應(yīng)用程序運(yùn)行環(huán)境配置平臺(tái)即服務(wù)客戶使用云供應(yīng)商支持的開發(fā)語言和工具,開發(fā)出應(yīng)用程第二部分:平臺(tái)即服務(wù)概述基礎(chǔ)設(shè)施層平臺(tái)運(yùn)行層服務(wù)管理服務(wù)需要遵守的約束面臨的挑戰(zhàn)第二部分:平臺(tái)即服務(wù)概述平臺(tái)即服務(wù)概述平臺(tái)即服務(wù)發(fā)展大事記2007F平臺(tái)即服務(wù)概述平臺(tái)即服務(wù)發(fā)展大事記2007一些約定(I)PaaS上的角色約定PaaSProviderPaaSConsumerServiceConsumer(SaaSConsumer)一些約定(I)PaaS上的角色約定高級(jí)軟件工程PKUSEI課件一些約定(II)PaaS上的服務(wù)概念約定應(yīng)用——PaaS-ConsumerView應(yīng)用服務(wù)——SaaS-ConsumerView應(yīng)用服務(wù)實(shí)例——PaaS-ProviderView一些約定(II)PaaS上的服務(wù)概念約定高級(jí)軟件工程PKUSEI課件PaaS平臺(tái)的基本體系結(jié)構(gòu)PaaS平臺(tái)可以大體分為以下幾個(gè)層次平臺(tái)的最底層是基礎(chǔ)設(shè)施層,為平臺(tái)本身以及部署在平臺(tái)上的各種服務(wù)提供硬件支持基礎(chǔ)設(shè)施層的上層是PaaS平臺(tái)層,PaaS平臺(tái)的核心功能都在這一層實(shí)現(xiàn),為部署在平臺(tái)上的服務(wù)提供運(yùn)行時(shí)環(huán)境的支持。平臺(tái)的最高層是應(yīng)用層,平臺(tái)自身定制的各種服務(wù),以及服務(wù)提供者部署在平臺(tái)上的各種服務(wù)都運(yùn)行在這一層。PaaS平臺(tái)的基本體系結(jié)構(gòu)PaaS平臺(tái)可以大體分為以下幾個(gè)層高級(jí)軟件工程PKUSEI課件CloudFoundryLogicalView31CloudFoundryLogicalView31概述基礎(chǔ)設(shè)施層平臺(tái)運(yùn)行層服務(wù)管理服務(wù)需要遵守的約束概述基礎(chǔ)設(shè)施層基礎(chǔ)設(shè)施層是PaaS的硬件基礎(chǔ),為PaaS平臺(tái)提供硬件和系統(tǒng)軟件的支持,這一層又可以細(xì)分為以下幾個(gè)層次:硬件設(shè)備層虛擬化層操作系統(tǒng)層基礎(chǔ)設(shè)施層基礎(chǔ)設(shè)施層是PaaS的硬件基礎(chǔ),為PaaS平臺(tái)提供

硬件設(shè)備層硬件設(shè)備層是組成平臺(tái)的硬件設(shè)備通俗地說,就是服務(wù)器機(jī)群。硬件設(shè)備層的性能是平臺(tái)性能的重要決定因素CPU內(nèi)存外存儲(chǔ)器大小和讀寫速率網(wǎng)絡(luò)帶寬在大多數(shù)已經(jīng)公開的PaaS平臺(tái)中,硬件設(shè)備層對(duì)平臺(tái)上的應(yīng)用是透明的主要原因是硬件虛擬化層的存在。硬件設(shè)備層的硬件可以是同構(gòu)的,也可以是異構(gòu)的機(jī)架式服務(wù)器PC服務(wù)器小型機(jī)混搭機(jī)群硬件設(shè)備層硬件設(shè)備層是組成平臺(tái)的硬件設(shè)備虛擬化層隱藏硬件細(xì)節(jié),實(shí)現(xiàn)抽象的硬件平臺(tái)通俗的說就是用一臺(tái)高性能計(jì)算機(jī)模擬多臺(tái)中低性能的計(jì)算機(jī)提高硬件資源的利用率實(shí)現(xiàn)資源的隔離和較細(xì)粒度的管理實(shí)現(xiàn)節(jié)點(diǎn)的快速復(fù)制、遷移技術(shù)不斷走向成熟vSphere(VMware)Citrix(Microsoft)XEN(OPENSOURCE)虛擬化層隱藏硬件細(xì)節(jié),實(shí)現(xiàn)抽象的硬件平臺(tái)操作系統(tǒng)層虛擬化層為平臺(tái)模擬除了大量邏輯上的計(jì)算機(jī)邏輯計(jì)算機(jī)的運(yùn)行仍然要借助操作系統(tǒng)為了支持更多種類的服務(wù),就必須為邏輯計(jì)算機(jī)安裝種類豐富的操作系統(tǒng)WindowsLinux……操作系統(tǒng)層虛擬化層為平臺(tái)模擬除了大量邏輯上的計(jì)算機(jī)概述基礎(chǔ)設(shè)施層平臺(tái)運(yùn)行層服務(wù)管理服務(wù)需要遵守的約束概述平臺(tái)運(yùn)行層平臺(tái)運(yùn)行支持的相關(guān)技術(shù)主要體現(xiàn)在PaaS的平臺(tái)層,與服務(wù)的支持技術(shù)有所重疊。為了便于理解,本節(jié)先介紹平臺(tái)層的基本情況,然后介紹平臺(tái)運(yùn)行支持的相關(guān)技術(shù)。整體分為以下幾點(diǎn):PaaS平臺(tái)層簡介平臺(tái)交互信息控制平臺(tái)運(yùn)行控制平臺(tái)用戶身份認(rèn)證平臺(tái)路由PaaS平臺(tái)的中間件PaaS平臺(tái)的數(shù)據(jù)庫管理系統(tǒng)平臺(tái)運(yùn)行層平臺(tái)運(yùn)行支持的相關(guān)技術(shù)主要體現(xiàn)在PaaS的平臺(tái)層,PaaS平臺(tái)層平臺(tái)層為應(yīng)用提供運(yùn)行時(shí)環(huán)境(系統(tǒng)軟件)系統(tǒng)類庫中間件數(shù)據(jù)庫平臺(tái)層為應(yīng)用的運(yùn)行提供基本服務(wù)服務(wù)的部署服務(wù)的負(fù)載控制服務(wù)信息的分析和推薦服務(wù)和平臺(tái)的安全保障用戶的身份認(rèn)證PaaS平臺(tái)層平臺(tái)層為應(yīng)用提供運(yùn)行時(shí)環(huán)境(系統(tǒng)軟件)平臺(tái)交互信息控制器統(tǒng)管平臺(tái)層上各種信息的傳遞實(shí)現(xiàn)的方式多種多樣RPC(遠(yuǎn)程程序調(diào)用)客戶端控制服務(wù)調(diào)用消息總線信息的種類控制命令資源路徑平臺(tái)交互信息控制器統(tǒng)管平臺(tái)層上各種信息的傳遞例:CloudFoundary的信息交互例:CloudFoundary的信息交互例:Azure的平臺(tái)管理消息機(jī)制管理員可以直接使用WindowsAzure門戶來管理程序門戶提供了創(chuàng)建,刪除項(xiàng)目,創(chuàng)建,刪除,更新部署,等眾多功能。此外還提供了ManagementAPI,讓開發(fā)人員自行開發(fā)程序來管理他們的部署。今后還會(huì)將SystemCenter與WindowsAzure集成,從而可以使用同一套工具,同時(shí)管理企業(yè)內(nèi)部的服務(wù)器,以及云端的資產(chǎn)。例:Azure的平臺(tái)管理消息機(jī)制管理員可以直接使用Windo平臺(tái)運(yùn)行控制(文件訪問控制)屏蔽不同文件系統(tǒng)對(duì)應(yīng)用的影響網(wǎng)盤FTPHadoop提供平臺(tái)相關(guān)文件的存儲(chǔ)空間提供應(yīng)用相關(guān)文件的存儲(chǔ)空間控制應(yīng)用的文件操作權(quán)限平臺(tái)運(yùn)行控制(文件訪問控制)屏蔽不同文件系統(tǒng)對(duì)應(yīng)用的影響例:Azure的文件訪問機(jī)制四種存儲(chǔ)服務(wù)Blob類似文件系統(tǒng)的存儲(chǔ)方式Table結(jié)構(gòu)化的存儲(chǔ)方式Queue先進(jìn)先出的存儲(chǔ)方式Drive使用標(biāo)準(zhǔn)的NTFSAPI讀寫文件例:Azure的文件訪問機(jī)制四種存儲(chǔ)服務(wù)例:GAE的安全保障機(jī)制沙盒無法向文件系統(tǒng)寫入只允許讀取與該應(yīng)用程序一起上傳的“資源”文件。無法產(chǎn)生子進(jìn)程或線程無法打開套接字或直接訪問另一主機(jī)禁用不適用于GAE的

java.lang.System

類的功能允許應(yīng)用程序?qū)ψ约旱念愡M(jìn)行完全、無限制的反射訪問,無法對(duì)不屬于自己的任何其他類進(jìn)行反射,也無法使用

setAccessible()

方法來避開這些限制例:GAE的安全保障機(jī)制沙盒平臺(tái)運(yùn)行控制(運(yùn)行時(shí)控制)

平臺(tái)運(yùn)行參數(shù)的設(shè)置與調(diào)整平臺(tái)各模塊運(yùn)行的控制與協(xié)調(diào)平臺(tái)運(yùn)行管理的控制接口平臺(tái)運(yùn)行控制(運(yùn)行時(shí)控制)平臺(tái)運(yùn)行參數(shù)的設(shè)置與調(diào)整例:GAE的運(yùn)行時(shí)控制機(jī)制請(qǐng)求計(jì)時(shí)器請(qǐng)求處理程序?qū)φ?qǐng)求生成和返回響應(yīng)的時(shí)間是有限的,通常約為30秒。達(dá)到限制時(shí)間后,請(qǐng)求處理程序?qū)⒅袛?。Java運(yùn)行時(shí)環(huán)境通過引發(fā)

com.google.apphosting.api.DeadlineExceededException

中斷servlet。如果請(qǐng)求處理程序不捕獲此異常,那么和所有未捕獲的異常一樣,運(yùn)行時(shí)環(huán)境將向客戶端返回HTTP500服務(wù)器錯(cuò)誤。例:GAE的運(yùn)行時(shí)控制機(jī)制請(qǐng)求計(jì)時(shí)器例:CloudFoundary的云控制器負(fù)責(zé)系統(tǒng)中的所有狀態(tài)改變保證所有的依賴可用將服務(wù)和應(yīng)用綁定所有影響用戶、應(yīng)用和服務(wù)的操作都由cloudcontroller來進(jìn)行PushInstancescreate-service當(dāng)應(yīng)用被組裝好以后,cloudcontroller負(fù)責(zé)將應(yīng)用和一個(gè)DEA執(zhí)行單元連接起來例:CloudFoundary的云控制器負(fù)責(zé)系統(tǒng)中的所有狀用戶身份認(rèn)證服務(wù)平臺(tái)用戶的身份認(rèn)證平臺(tái)用戶的權(quán)限分配部署在平臺(tái)上的服務(wù)的使用者部署在平臺(tái)上的服務(wù)的提供者平臺(tái)上服務(wù)的用戶身份統(tǒng)一認(rèn)證單點(diǎn)登錄oAuth身份認(rèn)證用戶身份認(rèn)證服務(wù)平臺(tái)用戶的身份認(rèn)證平臺(tái)路由隔離平臺(tái)內(nèi)外網(wǎng)絡(luò)環(huán)境實(shí)現(xiàn)應(yīng)用的彈性擴(kuò)展實(shí)現(xiàn)應(yīng)用的負(fù)載平衡平臺(tái)路由隔離平臺(tái)內(nèi)外網(wǎng)絡(luò)環(huán)境例:CloudFoundary的ROUTER路由負(fù)責(zé)接收外界的所有請(qǐng)求,并負(fù)責(zé)維護(hù)外網(wǎng)URL到內(nèi)部服務(wù)實(shí)例的映射除了對(duì)應(yīng)用的請(qǐng)求,對(duì)所有的CloudFoundry的API的請(qǐng)求(一般是由vmc和STS發(fā)出的)也會(huì)經(jīng)過路由路由同時(shí)也是一個(gè)負(fù)載均衡器,負(fù)責(zé)把請(qǐng)求平均的分發(fā)給一個(gè)給定應(yīng)用的所有實(shí)例例:CloudFoundary的ROUTER路由負(fù)責(zé)接收外PaaS平臺(tái)的中間件控制平臺(tái)上的WEB服務(wù)器WEB服務(wù)器的配置與部署保證服務(wù)在運(yùn)行時(shí)環(huán)境上的隔離性兩個(gè)層面的應(yīng)用服務(wù)器管理平臺(tái)核心服務(wù)所使用的應(yīng)用服務(wù)器部署在平臺(tái)上的服務(wù)所使用的應(yīng)用服務(wù)器服務(wù)管理的基本單位服務(wù)的部署服務(wù)的遷移服務(wù)的監(jiān)測PaaS平臺(tái)的中間件控制平臺(tái)上的WEB服務(wù)器PaaS平臺(tái)的數(shù)據(jù)庫管理系統(tǒng)控制平臺(tái)上的數(shù)據(jù)庫管理系統(tǒng)保證應(yīng)用在數(shù)據(jù)庫上的隔離性兩個(gè)層面的數(shù)據(jù)庫管理平臺(tái)自身所需的數(shù)據(jù)庫平臺(tái)的相關(guān)信息用戶的相關(guān)信息服務(wù)的相關(guān)信息應(yīng)用所需的數(shù)據(jù)庫權(quán)限分配沖突配置的分析與排除PaaS平臺(tái)的數(shù)據(jù)庫管理系統(tǒng)控制平臺(tái)上的數(shù)據(jù)庫管理系統(tǒng)例:AzureSQL部署在云端的關(guān)系型數(shù)據(jù)庫引擎絕大多數(shù)的管理工作都由微軟為你完成,因此你不用擔(dān)心任何諸如備份,集群,等管理方面的問題SQLServer2008ManagementStudioR2(目前為CTP版本)針對(duì)SQLAzure也提供了很強(qiáng)大的支持例:AzureSQL部署在云端的關(guān)系型數(shù)據(jù)庫引擎概述基礎(chǔ)設(shè)施層平臺(tái)運(yùn)行層服務(wù)管理服務(wù)需要遵守的約束概述服務(wù)管理PaaS平臺(tái)層的重要功能是對(duì)服務(wù)進(jìn)行支持,本節(jié)主要介紹平臺(tái)層如何對(duì)服務(wù)整個(gè)生命周期提供支持。本節(jié)主要從以下幾個(gè)方面展開討論:服務(wù)的上傳服務(wù)的部署服務(wù)的狀態(tài)管理服務(wù)的運(yùn)行時(shí)監(jiān)測服務(wù)管理PaaS平臺(tái)層的重要功能是對(duì)服務(wù)進(jìn)行支持,本節(jié)主要介服務(wù)的上傳將應(yīng)用的代碼包裝入服務(wù)器端的文件系統(tǒng)檢查并調(diào)整應(yīng)用代碼中與平臺(tái)沖突的配置利用靜態(tài)分析技術(shù)檢查代碼中的缺陷服務(wù)的上傳將應(yīng)用的代碼包裝入服務(wù)器端的文件系統(tǒng)上傳代碼包幫助用戶完成服務(wù)在平臺(tái)上的上傳客戶端及IDE插件(GAE)服務(wù)器端命令(CloudFoundry)基于瀏覽器的部署(SASEP)上傳的方式一般上傳方式增量上傳方式支持Maven的上傳方式上傳代碼包幫助用戶完成服務(wù)在平臺(tái)上的上傳檢查并調(diào)整沖突配置常見的沖突配置數(shù)據(jù)庫配置的沖突監(jiān)聽端口的沖突文件讀寫的沖突調(diào)整方法重包裝bean修改配置文件修改代碼并重新編譯檢查并調(diào)整沖突配置常見的沖突配置檢查缺陷代碼對(duì)服務(wù)的源代碼進(jìn)行全面的靜態(tài)分析,并給出詳細(xì)的分析報(bào)告,防止有缺陷的代碼被部署到平臺(tái)上,保護(hù)服務(wù)的公共運(yùn)行環(huán)境代碼違禁調(diào)用分析安全類缺陷分析代碼低效調(diào)用分析資源泄漏分析檢查缺陷代碼對(duì)服務(wù)的源代碼進(jìn)行全面的靜態(tài)分析,并給出詳細(xì)的分利用靜態(tài)分析提高平臺(tái)的健壯性Safety:避免不必要的資源占用內(nèi)存泄漏死循環(huán)Security安全漏洞保護(hù)用戶私密數(shù)據(jù)資源占用:支持合理部署、調(diào)度服務(wù)預(yù)計(jì)CPU占用預(yù)計(jì)內(nèi)存占用預(yù)計(jì)磁盤占用預(yù)計(jì)網(wǎng)絡(luò)帶寬占用利用靜態(tài)分析提高平臺(tái)的健壯性Safety:避免不必要的資源占例:CloudFoundary的DEADEA是指DropletExecutionAgent一個(gè)droplet就是應(yīng)用的代碼和它的依賴庫所打成的一個(gè)包,并且要添加一個(gè)start和stop命令系統(tǒng)會(huì)維護(hù)一個(gè)待命的DEA的池,也就是一個(gè)虛擬機(jī)級(jí)別的應(yīng)用容器DEA同時(shí)支持單租戶和多租戶的操作(即每個(gè)應(yīng)用一個(gè)DEA虛擬機(jī),或是n個(gè)應(yīng)用一個(gè)DEA虛擬機(jī))DEA還提供了一個(gè)安全且受限的操作系統(tǒng)環(huán)境來運(yùn)行應(yīng)用所在的應(yīng)用服務(wù)器和應(yīng)用的代碼例:CloudFoundary的DEADEA是指Dropl服務(wù)的部署服務(wù)的部署關(guān)注初次部署和重部署兩個(gè)過程服務(wù)的初次部署服務(wù)的初次部署是服務(wù)的初始化過程初次部署對(duì)應(yīng)的是服務(wù)的試用期服務(wù)的重部署服務(wù)的重部署是服務(wù)部署策略的優(yōu)化過程重部署對(duì)應(yīng)的是服務(wù)的正式運(yùn)行期服務(wù)的部署服務(wù)的部署關(guān)注初次部署和重部署兩個(gè)過程服務(wù)的初次部署(服務(wù)的初始化)服務(wù)初次部署的目的是觀察服務(wù)的運(yùn)行狀況通過服務(wù)運(yùn)行時(shí)的監(jiān)測來獲取信息服務(wù)有無運(yùn)行時(shí)的缺陷和漏洞服務(wù)的資源需求類型服務(wù)負(fù)載在時(shí)間上的分布服務(wù)之間的相互調(diào)用關(guān)系為服務(wù)在平臺(tái)上的正式運(yùn)行做準(zhǔn)備服務(wù)的初次部署(服務(wù)的初始化)服務(wù)初次部署的目的是觀察服務(wù)的服務(wù)的重部署(部署策略優(yōu)化)服務(wù)的重部署是為服務(wù)尋找符合條件的節(jié)點(diǎn)實(shí)現(xiàn)服務(wù)的搭配部署資源需求類型的搭配CPU占用較高的服務(wù)和IO占用較高的服務(wù)搭配部署資源需求時(shí)間的搭配OA類服務(wù)和休閑信息服務(wù)搭配部署交互服務(wù)的搭配有相互調(diào)用關(guān)系的服務(wù)考慮網(wǎng)絡(luò)拓?fù)渖系木徒钆洳渴鸱?wù)的重部署(部署策略優(yōu)化)服務(wù)的重部署是為服務(wù)尋找符合條件服務(wù)部署的高級(jí)功能實(shí)現(xiàn)服務(wù)的自動(dòng)部署自動(dòng)為服務(wù)尋找節(jié)點(diǎn),部署并使之運(yùn)行實(shí)現(xiàn)服務(wù)的部署策略的優(yōu)化調(diào)整部署策略,充分利用服務(wù)器的各種資源應(yīng)用服務(wù)實(shí)例數(shù)目的確定實(shí)現(xiàn)服務(wù)部署策略的智能調(diào)整根據(jù)服務(wù)器的實(shí)時(shí)負(fù)載情況和資源消耗情況,隨時(shí)調(diào)整部署使得資源利用率總是最高,用戶體驗(yàn)總是最好熱升級(jí)和熱遷移技術(shù)相近的應(yīng)用服務(wù)可以共享公共庫節(jié)省存儲(chǔ)服務(wù)部署的高級(jí)功能實(shí)現(xiàn)服務(wù)的自動(dòng)部署服務(wù)的狀態(tài)管理服務(wù)的生命周期包括試用階段和正式運(yùn)行階段服務(wù)試用階段:起始:服務(wù)的上傳后的初次部署結(jié)束:服務(wù)被平臺(tái)拒絕或被平臺(tái)重部署服務(wù)的正式運(yùn)行階段:起始:服務(wù)被平臺(tái)重部署結(jié)束:服務(wù)下線服務(wù)的狀態(tài)管理服務(wù)的生命周期包括試用階段和正式運(yùn)行階段服務(wù)在試用過程中的狀態(tài)轉(zhuǎn)換服務(wù)在試用過程中的有運(yùn)行和就緒兩個(gè)狀態(tài)服務(wù)的就緒狀態(tài)應(yīng)用服務(wù)器關(guān)閉服務(wù)的運(yùn)行狀態(tài)應(yīng)用服務(wù)器打開服務(wù)在試用過程中的狀態(tài)轉(zhuǎn)換服務(wù)在試用過程中的有運(yùn)行和就緒兩個(gè)高級(jí)軟件工程PKUSEI課件服務(wù)在正式運(yùn)行過程中的狀態(tài)轉(zhuǎn)換服務(wù)在正式運(yùn)行的過程中有就緒、運(yùn)行、掛起三個(gè)狀態(tài)服務(wù)的就緒狀態(tài)應(yīng)用服務(wù)器關(guān)閉,未加入到平臺(tái)路由轉(zhuǎn)發(fā)表服務(wù)的運(yùn)行狀態(tài)應(yīng)用服務(wù)器打開,加入平臺(tái)路由轉(zhuǎn)發(fā)表服務(wù)的掛起狀態(tài)應(yīng)用服務(wù)器打開,未加入到平臺(tái)路由轉(zhuǎn)發(fā)表服務(wù)在正式運(yùn)行過程中的狀態(tài)轉(zhuǎn)換服務(wù)在正式運(yùn)行的過程中有就緒、高級(jí)軟件工程PKUSEI課件面向服務(wù)特征的運(yùn)行管理面向服務(wù)特征的運(yùn)行管理服務(wù)的運(yùn)行時(shí)監(jiān)測

提供多角度的監(jiān)測視圖,掌握系統(tǒng)狀態(tài)系統(tǒng)管理員視圖服務(wù)提供者視圖用戶視圖通過監(jiān)測提高系統(tǒng)的可用性和可靠性監(jiān)測記錄幫助調(diào)整部署策略

監(jiān)測系統(tǒng)及時(shí)發(fā)現(xiàn)系統(tǒng)故障對(duì)監(jiān)測信息的挖掘形成推薦信息幫助用戶找到感興趣的服務(wù)幫助服務(wù)的提供者改進(jìn)和演化服務(wù)服務(wù)的運(yùn)行時(shí)監(jiān)測提供多角度的監(jiān)測視圖,掌握系統(tǒng)狀態(tài)平臺(tái)運(yùn)行時(shí)檢測的主要目標(biāo)資源使用信息服務(wù)信息是否存活?運(yùn)行正常?響應(yīng)時(shí)間?資源占用?訪問安全?圖形化顯示平臺(tái)運(yùn)行時(shí)檢測的主要目標(biāo)資源使用信息例:CloudFoundary的健康管理器健康管理器與云控制器和DEA緊密的配合,來保證所有的應(yīng)用都保持高的可用性如果一個(gè)應(yīng)用崩潰了,健康管理器會(huì)及時(shí)的發(fā)現(xiàn),并安排一個(gè)替代的實(shí)例如果健康管理器發(fā)現(xiàn)快速、重復(fù)的應(yīng)用崩潰,它就會(huì)宣布應(yīng)用進(jìn)入“flapping”狀態(tài),并且停止恢復(fù)這個(gè)應(yīng)用例:CloudFoundary的健康管理器健康管理器與云控概述基礎(chǔ)設(shè)施層平臺(tái)運(yùn)行層服務(wù)管理服務(wù)需要遵守的約束概述服務(wù)需要遵守的約束為了防止用戶無意或惡意對(duì)平臺(tái)進(jìn)行攻擊或?qū)Y源進(jìn)行濫用,平臺(tái)應(yīng)當(dāng)對(duì)服務(wù)的資源占用進(jìn)行約束。資源的限制和配額的設(shè)定應(yīng)當(dāng)合理,不能過大,否則會(huì)失去限制意義;也不能太小,使得很多服務(wù)無法正常運(yùn)行。要保證滿足絕大多數(shù)服務(wù)的正常要求。平臺(tái)一般要提供一些臨時(shí)性的方案使得無惡意的輕微資源超額能夠得到滿足。并且用戶能夠方便地拓展資源配額。服務(wù)需要遵守的約束為了防止用戶無意或惡意對(duì)平臺(tái)進(jìn)行攻擊或?qū)Y常見的服務(wù)約束文件系統(tǒng)的約束上傳的文件的大小、數(shù)量運(yùn)算的約束任務(wù)隊(duì)列的執(zhí)行時(shí)間、等待任務(wù)的數(shù)量命名空間的約束通配符、非法字符、保留字?jǐn)?shù)據(jù)庫的約束訪問權(quán)限網(wǎng)絡(luò)連接的約束最大連接數(shù)、連接池容量、連接保持時(shí)間常見的服務(wù)約束文件系統(tǒng)的約束服務(wù)約束的一般實(shí)現(xiàn)手段文件系統(tǒng)的約束一般通過操作系統(tǒng)的文件操作權(quán)限控制來實(shí)現(xiàn)運(yùn)算的約束一般通過操作系統(tǒng)的進(jìn)程管理接口來強(qiáng)行中止超限進(jìn)程一般通過命名空間的約束一般通過靜態(tài)分析和異步交互檢查來進(jìn)行限制數(shù)據(jù)庫的約束一般通過數(shù)據(jù)庫用戶權(quán)限的分配,借助數(shù)據(jù)庫自身的權(quán)限控制機(jī)制來實(shí)現(xiàn)網(wǎng)絡(luò)連接的約束一般通過應(yīng)用服務(wù)器的配置來實(shí)現(xiàn)服務(wù)約束的一般實(shí)現(xiàn)手段文件系統(tǒng)的約束例:SAE對(duì)服務(wù)的約束目錄或文件名不允許含有以下字符:"*?<>|,目錄或文件名的開始與結(jié)束也不允許有空格。上傳單個(gè)文件大小不超過20M。單個(gè)目錄下的文件個(gè)數(shù)不能超過2000個(gè)。每個(gè)應(yīng)用代碼總大小不超過100M。單個(gè)版本代碼總大小不超過50M。只允許存在10個(gè)以內(nèi)的版本,并且版本號(hào)必須為正整數(shù)。例:SAE對(duì)服務(wù)的約束目錄或文件名不允許含有以下字符:"*例:GAE和SAE對(duì)FetchURL約束的比較SAE:connect_timeout5秒send_timeout15秒read_timeout20秒抓取文件大小8MB禁用頭:Content-Length、Host、Vary、Via、X-Forwarded-For、FetchUrl、AccessKey、TimeStamp、Signature等GAE:UrlFetchAPICalls:65700calls/day&3,000calls/minUrlFetchDataSent:22MB/minUrlFetchDataReceived:22MB/min例:GAE和SAE對(duì)FetchURL約束的比較SAE:GA例:GAE提供的平臺(tái)定制服務(wù)Memcache定時(shí)任務(wù)AppEngineCron服務(wù)允許在指定時(shí)間執(zhí)行或按指定間隔執(zhí)行定期計(jì)劃任務(wù):cronjob網(wǎng)址抓取應(yīng)用程序可使用

AppEngine網(wǎng)址抓取服務(wù)分別向端口80和443上的其他主機(jī)發(fā)出HTTP和HTTPS請(qǐng)求Email用戶認(rèn)證圖形地圖等等……例:GAE提供的平臺(tái)定制服務(wù)Memcache例:Azure提供的平臺(tái)定制服務(wù)ServiceBusServiceBus可以被用于將本地的服務(wù)暴露給Internet解決:內(nèi)網(wǎng)服務(wù)沒有對(duì)外地址所以無法被直接訪問AppFabric在云中,權(quán)限管理往往要比在企業(yè)內(nèi)部來的困難。這是因?yàn)槟銦o法直接使用諸如活動(dòng)目錄之類的產(chǎn)品來統(tǒng)一管理你的程序的訪問控制。其他將現(xiàn)今WindowsServerAppFabric中的功能移植到WindowsAzureplatformAppFabric中來:如分布式緩存等。例:Azure提供的平臺(tái)定制服務(wù)ServiceBusPaaS面臨的挑戰(zhàn)服務(wù)質(zhì)量安全問題應(yīng)用服務(wù)開發(fā)盈利模式PaaS面臨的挑戰(zhàn)服務(wù)質(zhì)量服務(wù)質(zhì)量應(yīng)用服務(wù)是否在正常運(yùn)行?與SaaS有什么不同?開發(fā)者不是運(yùn)營者:誰最介意?應(yīng)用服務(wù)數(shù)目大不同的應(yīng)用服務(wù)差異大資源開銷、用戶期望響應(yīng)時(shí)間?需要能夠及時(shí)處理異常服務(wù)質(zhì)量應(yīng)用服務(wù)是否在正常運(yùn)行?安全問題與SaaS相比角色復(fù)雜支持多租戶應(yīng)用不是運(yùn)營者開發(fā)的隔離成本安全問題與SaaS相比應(yīng)用服務(wù)開發(fā)離線基于SDK基于領(lǐng)域框架應(yīng)用遷移在線定制與組裝基于Web的開發(fā)持續(xù)集成應(yīng)用服務(wù)開發(fā)離線基于SDK的開發(fā)GAE為典型代表使用流程安裝本地IDE,下載安裝GAE

SDK,搭建開發(fā)環(huán)境在本地開發(fā)、調(diào)試應(yīng)用使用安裝GAESDK時(shí)提供的上傳工具,將應(yīng)用部署到GAE上在管理界面中啟動(dòng)應(yīng)用利用管理界面監(jiān)控應(yīng)用的運(yùn)行狀態(tài)與資費(fèi)基于SDK的開發(fā)GAE為典型代表基于領(lǐng)域框架的開發(fā)以基本SDK為基礎(chǔ)提供與領(lǐng)域知識(shí)相關(guān)的更多接口以便于應(yīng)用服務(wù)的開發(fā)通常是PaaS運(yùn)營者提供SDK開發(fā)組織將SDK下載到本地,需要研究與本地IDE的集成,以提高開發(fā)效率開發(fā)組織在線開發(fā),需要“在線編程”服務(wù)具有訪問并使用這些SDK的能力基于領(lǐng)域框架的開發(fā)以基本SDK為基礎(chǔ)應(yīng)用遷移將現(xiàn)有的應(yīng)用遷移到PaaS平臺(tái)上涉及的技術(shù)包括:1)針對(duì)底層API變化的代碼轉(zhuǎn)換;2)如何充分利用領(lǐng)域框架;3)對(duì)并發(fā)性的支持應(yīng)用遷移將現(xiàn)有的應(yīng)用遷移到PaaS平臺(tái)上在線定制與組裝F為代表用戶可以定制自己的界面涉及多個(gè)業(yè)務(wù)時(shí),可以定制自己的流程甚至表格專門的組裝語言(Apex)F用的類似Java的強(qiáng)類型語言可以創(chuàng)建web服務(wù),編輯復(fù)雜的業(yè)務(wù)邏輯,整合多個(gè)服務(wù)模塊在線定制與組裝F為代表基于Web的在線開發(fā)類似于在線定制與組裝功能開發(fā)為主涉及環(huán)節(jié)在線建模在線編程在線調(diào)試在線測試在線分析基于Web的在線開發(fā)類似于在線定制與組裝在線建模復(fù)用已有模型支持協(xié)同建模促進(jìn)交流,提高效果操作沖突如何解決?模型映射向在線開發(fā)映射向服務(wù)組裝映射PIM->PSM在線建模復(fù)用已有模型在線編程支持基本的編輯、查找等操作過程錄制與回放在線編程環(huán)境能夠十分方便地積累大量的代碼分析大規(guī)模的實(shí)際代碼挖掘接口使用、編程行為模式等方面的大量知識(shí)為編程人員提供多種在線提示功能調(diào)用代碼補(bǔ)全、接口使用異常提示等等在線編程支持基本的編輯、查找等操作調(diào)試是編程環(huán)境的重要組成部分針對(duì)web應(yīng)用,需要適用于在線編程環(huán)境的輕量級(jí)調(diào)試方法,讓編程人員可以方便地選擇希望觀察的變量將調(diào)試版目標(biāo)程序封裝為特定的服務(wù),并集成到在線編程環(huán)境的方法支持多用戶同時(shí)進(jìn)行調(diào)試在線調(diào)試調(diào)試是編程環(huán)境的重要組成部分在線調(diào)試模擬真實(shí)場景的用戶輸入尤其是大量用戶的并發(fā)請(qǐng)求分布式系統(tǒng)支持測試數(shù)據(jù)生成對(duì)測試結(jié)果進(jìn)行自動(dòng)分析缺陷查找、定位、修復(fù)建議“查全”與“查準(zhǔn)”在線測試模擬真實(shí)場景的用戶輸入在線測試?yán)靡阎娜毕菽J街R(shí)以程序的數(shù)據(jù)流分析、控制流為基礎(chǔ)查找應(yīng)用中存在的缺陷API使用錯(cuò)誤、內(nèi)存泄露、等等分析結(jié)果的準(zhǔn)確性與全面性報(bào)告結(jié)果的排序在線分析利用已知的缺陷模式知識(shí)在線分析持續(xù)集成與Github等版本管理系統(tǒng)、Bugzilla等問題跟蹤系統(tǒng)進(jìn)行集成需要自動(dòng)部署的支持在維護(hù)階段順暢地解決運(yùn)行時(shí)發(fā)現(xiàn)的問題實(shí)現(xiàn)問題發(fā)現(xiàn)、定位、代碼修改、重新部署等一系列活動(dòng)的無縫運(yùn)轉(zhuǎn)持續(xù)集成與Github等版本管理系統(tǒng)、Bugzilla等問PaaS發(fā)展約束:盈利模式與IaaS、SaaS相比?作為IaaS、SaaS的補(bǔ)充?F,GAE,Cloudfoundry單獨(dú)公司困難?期待超越中間件!PaaS發(fā)展約束:盈利模式與IaaS、SaaS相比?基于互聯(lián)網(wǎng)群體智能的軟件工程基于互聯(lián)網(wǎng)群體智能的軟件工程第五講

新運(yùn)行平臺(tái):云計(jì)算平臺(tái)第五講

新運(yùn)行平臺(tái):云計(jì)算平臺(tái)101主要內(nèi)容第一部分:云計(jì)算第二部分:平臺(tái)即服務(wù)主要內(nèi)容第一部分:云計(jì)算第一部分:云計(jì)算1、概念2、軟件即服務(wù)3、基礎(chǔ)設(shè)施即服務(wù)4、平臺(tái)即服務(wù)第一部分:云計(jì)算1、概念什么是云?1、概念什么是云?1、概念CLOUD

COMPUTINGCLOUD

COMPUTING到底什么是云計(jì)算?云計(jì)算是近年來得到廣泛關(guān)注和快速發(fā)展的一種新型的計(jì)算方式云計(jì)算借助互聯(lián)網(wǎng)實(shí)現(xiàn)計(jì)算資源和信息的按需供給云計(jì)算是一個(gè)發(fā)展中的概念,其中的很多定義和標(biāo)準(zhǔn)都在討論中到底什么是云計(jì)算?云計(jì)算是近年來得到廣泛關(guān)注和快速發(fā)展的一種Berkeley對(duì)云計(jì)算的定義CloudComputingreferstoboththeapplicationsdeliveredasservicesovertheInternet,andthehardwareandsystemssoftwareinthedatacentersthatprovidethoseservicesBerkeley對(duì)云計(jì)算的定義CloudComputingWiki的定義云計(jì)算是一種基于互聯(lián)網(wǎng)的計(jì)算方式通過互聯(lián)網(wǎng)上異構(gòu)、自治的服務(wù)為個(gè)人和企業(yè)用戶提供按需即取的計(jì)算云計(jì)算的資源是動(dòng)態(tài)易擴(kuò)展而且虛擬化的,終端用戶不需要了解云中基礎(chǔ)設(shè)施的細(xì)節(jié),只關(guān)注自己需要什么樣的資源以及如何得到相應(yīng)的服務(wù)Wiki的定義云計(jì)算是一種基于互聯(lián)網(wǎng)的計(jì)算方式CloudComputingisInternet-basedcomputing,wherebysharedresources,softwareandinformation

areprovidedtocomputersandotherdeviceson-demand,liketheelectricitygrid.CloudComputing(Wiki):NISTTheterm"cloud"isusedasametaphorfortheInternet,basedontheclouddrawingused……todepicttheInternetincomputernetworkdiagramsasanabstractionoftheunderlyinginfrastructureitrepresents為什么叫“云”?“云是可以通過網(wǎng)絡(luò)訪問的、集中管理的服務(wù)”CloudComputingisInternet-ba云計(jì)算的主要特征資源高度集中大量的硬件、大量的軟件、大量的數(shù)據(jù)以在線形式向用戶提供服務(wù)資源利用率高用戶使用方便接入簡單(本地用最小化的設(shè)施,瀏覽器)數(shù)目處于不斷變化之中要求服務(wù)質(zhì)量高云計(jì)算的主要特征資源高度集中云計(jì)算的關(guān)鍵技術(shù)基于虛擬化技術(shù)快速部署資源或獲得服務(wù)實(shí)現(xiàn)動(dòng)態(tài)的、可伸縮的擴(kuò)展按需求提供資源、按使用量付費(fèi)通過互聯(lián)網(wǎng)提供、面向海量信息處理用戶可以方便地參與形態(tài)靈活,聚散自如減少用戶終端的處理負(fù)擔(dān)降低用戶對(duì)于IT專業(yè)知識(shí)的依賴云計(jì)算的關(guān)鍵技術(shù)基于虛擬化技術(shù)快速部署資源或獲得服務(wù)NIST:云計(jì)算的服務(wù)模型軟件即服務(wù)(SaaS)平臺(tái)即服務(wù)(PaaS)架構(gòu)即服務(wù)(IaaS)NIST:云計(jì)算的服務(wù)模型軟件即服務(wù)(SaaS)云計(jì)算體現(xiàn)了IT服務(wù)化的思想云計(jì)算的三種基本服務(wù)模式SaaS:SoftwareasaService,軟件即服務(wù)。服務(wù)的提供者將應(yīng)用軟件部署在服務(wù)器上,用戶根據(jù)需求通過互聯(lián)網(wǎng)訪問應(yīng)用并獲得服務(wù)IaaS:InfrastructureasaService,基礎(chǔ)設(shè)施即服務(wù)。服務(wù)的提供者將計(jì)算機(jī)基礎(chǔ)設(shè)施作為計(jì)量服務(wù)提供給用戶PaaS:PlatformasaService,平臺(tái)即服務(wù)。服務(wù)的提供者將軟件應(yīng)用的開發(fā)環(huán)境、運(yùn)行環(huán)境等作為計(jì)量服務(wù)提供給用戶云計(jì)算體現(xiàn)了IT服務(wù)化的思想云計(jì)算的三種基本服務(wù)模式云包含不同類型的服務(wù)IaaS:EC2,S3,…PaaS:GAE,Heroku,…SaaS:Salesforce,…動(dòng)因不同:如何處理剩余資源?讓用戶更方便地使用軟件SaaS發(fā)展的必然結(jié)果云包含不同類型的服務(wù)IaaS:EC2,S3,…Pa云計(jì)算的實(shí)踐現(xiàn)狀你已經(jīng)在使用大量的云了網(wǎng)絡(luò)搜索:googlesearch電子郵件:gmail查病毒:自動(dòng)更新病毒庫云輸入:自動(dòng)更新常用輸入你甚至可能已經(jīng)有過“云開發(fā)”的經(jīng)歷了CVS、SVNIssueTracker云計(jì)算的實(shí)踐現(xiàn)狀你已經(jīng)在使用大量的云了歷史ASP(ApplicationServiceProvider)代表:S在線客戶關(guān)系管理(CRM)誕生首次提出:“StrategicBackgrounder:SoftwareAsAService”,inFebruary2001bytheSoftware&InformationIndustryAssociation's(SIIA)eBusinessDivision2、軟件即服務(wù)歷史2、軟件即服務(wù)軟件即服務(wù)是最普遍的一類服務(wù)模式。服務(wù)的提供者將軟件應(yīng)用部署在服務(wù)器上,通過互聯(lián)網(wǎng)分發(fā)給最終用戶用戶往往不再為“擁有”軟件支付費(fèi)用,而是為“使用”軟件支付費(fèi)用服務(wù)的提供者所服務(wù)的每一個(gè)個(gè)人或者組織被稱之為“租戶”,這種配置模式被稱為多租戶架構(gòu)。服務(wù)的提供者的資源被虛擬地劃分為多個(gè)部分,使得每個(gè)租戶都可以利用定制的實(shí)例進(jìn)行工作對(duì)于最終用戶來說,使用SaaS無需前期的服務(wù)器或者軟件許可投資對(duì)于應(yīng)用的開發(fā)者來說,只需要為多個(gè)客戶端維護(hù)一個(gè)應(yīng)用軟件即服務(wù)是最普遍的一類服務(wù)模式。服務(wù)的提供者將軟件應(yīng)用部署客戶所使用的服務(wù)商提供的這些應(yīng)用程序運(yùn)行在云基礎(chǔ)設(shè)施上。這些應(yīng)用程序可以通過各種各樣的客戶端設(shè)備所訪問,通過瘦客戶端界面像WEB瀏覽器(例如,基于WEB的電子郵件)客戶不管理或者控制底層的云基礎(chǔ)架構(gòu),包括網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)、存儲(chǔ)設(shè)備,甚至獨(dú)立的應(yīng)用程序機(jī)能,在可能異常的情況下,限制用戶可配置的應(yīng)用程序設(shè)置客戶所使用的服務(wù)商提供的這些應(yīng)用程序運(yùn)行在云基礎(chǔ)設(shè)施上。這些3、基礎(chǔ)設(shè)施即服務(wù)服務(wù)的提供者將IT設(shè)基礎(chǔ)設(shè)施資源的利用作為服務(wù)提供給用戶,這些資源通常包括處理器資源、存儲(chǔ)資源、網(wǎng)絡(luò)帶寬等。用戶可以在這些基礎(chǔ)設(shè)施上部署和運(yùn)行軟件,包括操作系統(tǒng)和應(yīng)用軟件典型代表:Amazon

EC2

(ElasticComputeCloud)通過互聯(lián)網(wǎng)訪問,向用戶提供按需計(jì)費(fèi)的計(jì)算能力和存儲(chǔ)空間Amazon的AWS是一個(gè)新的IaaS,可以直接向用戶提供基于VMware的虛擬機(jī),支持windows和Linux等操作系統(tǒng)3、基礎(chǔ)設(shè)施即服務(wù)服務(wù)的提供者將IT設(shè)基礎(chǔ)設(shè)施資源的利用作為基礎(chǔ)設(shè)施即服務(wù)向客戶提供處理、存儲(chǔ)、網(wǎng)絡(luò)以及其他基礎(chǔ)計(jì)算資源,客戶可以在上運(yùn)行任意軟件,包括操作系統(tǒng)和應(yīng)用程序。用戶不管理或者控制底層的云基礎(chǔ)架構(gòu),但是可以控制操作系統(tǒng)、存儲(chǔ)、發(fā)布應(yīng)用程序,以及可能限度的控制選擇的網(wǎng)絡(luò)組件(例如,防火墻)基礎(chǔ)設(shè)施即服務(wù)向客戶提供處理、存儲(chǔ)、網(wǎng)絡(luò)以及其他基礎(chǔ)計(jì)算資源4、平臺(tái)即服務(wù)服務(wù)的提供者把應(yīng)用程序的開發(fā)和運(yùn)行環(huán)境作為一種服務(wù)提供給用戶,用戶在平臺(tái)的基礎(chǔ)上開發(fā)或者部署自己的應(yīng)用程序,并借助平臺(tái)的服務(wù)器通過互聯(lián)網(wǎng)交付給應(yīng)用程序的最終用戶PaaS可以給企業(yè)或個(gè)人提供研發(fā)的中間件平臺(tái)如數(shù)據(jù)庫、應(yīng)用服務(wù)器等資源典型代表:F、GAE、Heroku、CloudFoundry4、平臺(tái)即服務(wù)服務(wù)的提供者把應(yīng)用程序的開發(fā)和運(yùn)行環(huán)境作為一種平臺(tái)即服務(wù)客戶使用云供應(yīng)商支持的開發(fā)語言和工具,開發(fā)出應(yīng)用程序,發(fā)布到云基礎(chǔ)架構(gòu)上客戶不管理或者控制底層的云基礎(chǔ)架構(gòu),包括網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)或者存儲(chǔ)設(shè)備,但是能控制發(fā)布應(yīng)用程序和可能的應(yīng)用程序運(yùn)行環(huán)境配置平臺(tái)即服務(wù)客戶使用云供應(yīng)商支持的開發(fā)語言和工具,開發(fā)出應(yīng)用程第二部分:平臺(tái)即服務(wù)概述基礎(chǔ)設(shè)施層平臺(tái)運(yùn)行層服務(wù)管理服務(wù)需要遵守的約束面臨的挑戰(zhàn)第二部分:平臺(tái)即服務(wù)概述平臺(tái)即服務(wù)概述平臺(tái)即服務(wù)發(fā)展大事記2007F平臺(tái)即服務(wù)概述平臺(tái)即服務(wù)發(fā)展大事記2007一些約定(I)PaaS上的角色約定PaaSProviderPaaSConsumerServiceConsumer(SaaSConsumer)一些約定(I)PaaS上的角色約定高級(jí)軟件工程PKUSEI課件一些約定(II)PaaS上的服務(wù)概念約定應(yīng)用——PaaS-ConsumerView應(yīng)用服務(wù)——SaaS-ConsumerView應(yīng)用服務(wù)實(shí)例——PaaS-ProviderView一些約定(II)PaaS上的服務(wù)概念約定高級(jí)軟件工程PKUSEI課件PaaS平臺(tái)的基本體系結(jié)構(gòu)PaaS平臺(tái)可以大體分為以下幾個(gè)層次平臺(tái)的最底層是基礎(chǔ)設(shè)施層,為平臺(tái)本身以及部署在平臺(tái)上的各種服務(wù)提供硬件支持基礎(chǔ)設(shè)施層的上層是PaaS平臺(tái)層,PaaS平臺(tái)的核心功能都在這一層實(shí)現(xiàn),為部署在平臺(tái)上的服務(wù)提供運(yùn)行時(shí)環(huán)境的支持。平臺(tái)的最高層是應(yīng)用層,平臺(tái)自身定制的各種服務(wù),以及服務(wù)提供者部署在平臺(tái)上的各種服務(wù)都運(yùn)行在這一層。PaaS平臺(tái)的基本體系結(jié)構(gòu)PaaS平臺(tái)可以大體分為以下幾個(gè)層高級(jí)軟件工程PKUSEI課件CloudFoundryLogicalView131CloudFoundryLogicalView31概述基礎(chǔ)設(shè)施層平臺(tái)運(yùn)行層服務(wù)管理服務(wù)需要遵守的約束概述基礎(chǔ)設(shè)施層基礎(chǔ)設(shè)施層是PaaS的硬件基礎(chǔ),為PaaS平臺(tái)提供硬件和系統(tǒng)軟件的支持,這一層又可以細(xì)分為以下幾個(gè)層次:硬件設(shè)備層虛擬化層操作系統(tǒng)層基礎(chǔ)設(shè)施層基礎(chǔ)設(shè)施層是PaaS的硬件基礎(chǔ),為PaaS平臺(tái)提供

硬件設(shè)備層硬件設(shè)備層是組成平臺(tái)的硬件設(shè)備通俗地說,就是服務(wù)器機(jī)群。硬件設(shè)備層的性能是平臺(tái)性能的重要決定因素CPU內(nèi)存外存儲(chǔ)器大小和讀寫速率網(wǎng)絡(luò)帶寬在大多數(shù)已經(jīng)公開的PaaS平臺(tái)中,硬件設(shè)備層對(duì)平臺(tái)上的應(yīng)用是透明的主要原因是硬件虛擬化層的存在。硬件設(shè)備層的硬件可以是同構(gòu)的,也可以是異構(gòu)的機(jī)架式服務(wù)器PC服務(wù)器小型機(jī)混搭機(jī)群硬件設(shè)備層硬件設(shè)備層是組成平臺(tái)的硬件設(shè)備虛擬化層隱藏硬件細(xì)節(jié),實(shí)現(xiàn)抽象的硬件平臺(tái)通俗的說就是用一臺(tái)高性能計(jì)算機(jī)模擬多臺(tái)中低性能的計(jì)算機(jī)提高硬件資源的利用率實(shí)現(xiàn)資源的隔離和較細(xì)粒度的管理實(shí)現(xiàn)節(jié)點(diǎn)的快速復(fù)制、遷移技術(shù)不斷走向成熟vSphere(VMware)Citrix(Microsoft)XEN(OPENSOURCE)虛擬化層隱藏硬件細(xì)節(jié),實(shí)現(xiàn)抽象的硬件平臺(tái)操作系統(tǒng)層虛擬化層為平臺(tái)模擬除了大量邏輯上的計(jì)算機(jī)邏輯計(jì)算機(jī)的運(yùn)行仍然要借助操作系統(tǒng)為了支持更多種類的服務(wù),就必須為邏輯計(jì)算機(jī)安裝種類豐富的操作系統(tǒng)WindowsLinux……操作系統(tǒng)層虛擬化層為平臺(tái)模擬除了大量邏輯上的計(jì)算機(jī)概述基礎(chǔ)設(shè)施層平臺(tái)運(yùn)行層服務(wù)管理服務(wù)需要遵守的約束概述平臺(tái)運(yùn)行層平臺(tái)運(yùn)行支持的相關(guān)技術(shù)主要體現(xiàn)在PaaS的平臺(tái)層,與服務(wù)的支持技術(shù)有所重疊。為了便于理解,本節(jié)先介紹平臺(tái)層的基本情況,然后介紹平臺(tái)運(yùn)行支持的相關(guān)技術(shù)。整體分為以下幾點(diǎn):PaaS平臺(tái)層簡介平臺(tái)交互信息控制平臺(tái)運(yùn)行控制平臺(tái)用戶身份認(rèn)證平臺(tái)路由PaaS平臺(tái)的中間件PaaS平臺(tái)的數(shù)據(jù)庫管理系統(tǒng)平臺(tái)運(yùn)行層平臺(tái)運(yùn)行支持的相關(guān)技術(shù)主要體現(xiàn)在PaaS的平臺(tái)層,PaaS平臺(tái)層平臺(tái)層為應(yīng)用提供運(yùn)行時(shí)環(huán)境(系統(tǒng)軟件)系統(tǒng)類庫中間件數(shù)據(jù)庫平臺(tái)層為應(yīng)用的運(yùn)行提供基本服務(wù)服務(wù)的部署服務(wù)的負(fù)載控制服務(wù)信息的分析和推薦服務(wù)和平臺(tái)的安全保障用戶的身份認(rèn)證PaaS平臺(tái)層平臺(tái)層為應(yīng)用提供運(yùn)行時(shí)環(huán)境(系統(tǒng)軟件)平臺(tái)交互信息控制器統(tǒng)管平臺(tái)層上各種信息的傳遞實(shí)現(xiàn)的方式多種多樣RPC(遠(yuǎn)程程序調(diào)用)客戶端控制服務(wù)調(diào)用消息總線信息的種類控制命令資源路徑平臺(tái)交互信息控制器統(tǒng)管平臺(tái)層上各種信息的傳遞例:CloudFoundary的信息交互例:CloudFoundary的信息交互例:Azure的平臺(tái)管理消息機(jī)制管理員可以直接使用WindowsAzure門戶來管理程序門戶提供了創(chuàng)建,刪除項(xiàng)目,創(chuàng)建,刪除,更新部署,等眾多功能。此外還提供了ManagementAPI,讓開發(fā)人員自行開發(fā)程序來管理他們的部署。今后還會(huì)將SystemCenter與WindowsAzure集成,從而可以使用同一套工具,同時(shí)管理企業(yè)內(nèi)部的服務(wù)器,以及云端的資產(chǎn)。例:Azure的平臺(tái)管理消息機(jī)制管理員可以直接使用Windo平臺(tái)運(yùn)行控制(文件訪問控制)屏蔽不同文件系統(tǒng)對(duì)應(yīng)用的影響網(wǎng)盤FTPHadoop提供平臺(tái)相關(guān)文件的存儲(chǔ)空間提供應(yīng)用相關(guān)文件的存儲(chǔ)空間控制應(yīng)用的文件操作權(quán)限平臺(tái)運(yùn)行控制(文件訪問控制)屏蔽不同文件系統(tǒng)對(duì)應(yīng)用的影響例:Azure的文件訪問機(jī)制四種存儲(chǔ)服務(wù)Blob類似文件系統(tǒng)的存儲(chǔ)方式Table結(jié)構(gòu)化的存儲(chǔ)方式Queue先進(jìn)先出的存儲(chǔ)方式Drive使用標(biāo)準(zhǔn)的NTFSAPI讀寫文件例:Azure的文件訪問機(jī)制四種存儲(chǔ)服務(wù)例:GAE的安全保障機(jī)制沙盒無法向文件系統(tǒng)寫入只允許讀取與該應(yīng)用程序一起上傳的“資源”文件。無法產(chǎn)生子進(jìn)程或線程無法打開套接字或直接訪問另一主機(jī)禁用不適用于GAE的

java.lang.System

類的功能允許應(yīng)用程序?qū)ψ约旱念愡M(jìn)行完全、無限制的反射訪問,無法對(duì)不屬于自己的任何其他類進(jìn)行反射,也無法使用

setAccessible()

方法來避開這些限制例:GAE的安全保障機(jī)制沙盒平臺(tái)運(yùn)行控制(運(yùn)行時(shí)控制)

平臺(tái)運(yùn)行參數(shù)的設(shè)置與調(diào)整平臺(tái)各模塊運(yùn)行的控制與協(xié)調(diào)平臺(tái)運(yùn)行管理的控制接口平臺(tái)運(yùn)行控制(運(yùn)行時(shí)控制)平臺(tái)運(yùn)行參數(shù)的設(shè)置與調(diào)整例:GAE的運(yùn)行時(shí)控制機(jī)制請(qǐng)求計(jì)時(shí)器請(qǐng)求處理程序?qū)φ?qǐng)求生成和返回響應(yīng)的時(shí)間是有限的,通常約為30秒。達(dá)到限制時(shí)間后,請(qǐng)求處理程序?qū)⒅袛?。Java運(yùn)行時(shí)環(huán)境通過引發(fā)

com.google.apphosting.api.DeadlineExceededException

中斷servlet。如果請(qǐng)求處理程序不捕獲此異常,那么和所有未捕獲的異常一樣,運(yùn)行時(shí)環(huán)境將向客戶端返回HTTP500服務(wù)器錯(cuò)誤。例:GAE的運(yùn)行時(shí)控制機(jī)制請(qǐng)求計(jì)時(shí)器例:CloudFoundary的云控制器負(fù)責(zé)系統(tǒng)中的所有狀態(tài)改變保證所有的依賴可用將服務(wù)和應(yīng)用綁定所有影響用戶、應(yīng)用和服務(wù)的操作都由cloudcontroller來進(jìn)行PushInstancescreate-service當(dāng)應(yīng)用被組裝好以后,cloudcontroller負(fù)責(zé)將應(yīng)用和一個(gè)DEA執(zhí)行單元連接起來例:CloudFoundary的云控制器負(fù)責(zé)系統(tǒng)中的所有狀用戶身份認(rèn)證服務(wù)平臺(tái)用戶的身份認(rèn)證平臺(tái)用戶的權(quán)限分配部署在平臺(tái)上的服務(wù)的使用者部署在平臺(tái)上的服務(wù)的提供者平臺(tái)上服務(wù)的用戶身份統(tǒng)一認(rèn)證單點(diǎn)登錄oAuth身份認(rèn)證用戶身份認(rèn)證服務(wù)平臺(tái)用戶的身份認(rèn)證平臺(tái)路由隔離平臺(tái)內(nèi)外網(wǎng)絡(luò)環(huán)境實(shí)現(xiàn)應(yīng)用的彈性擴(kuò)展實(shí)現(xiàn)應(yīng)用的負(fù)載平衡平臺(tái)路由隔離平臺(tái)內(nèi)外網(wǎng)絡(luò)環(huán)境例:CloudFoundary的ROUTER路由負(fù)責(zé)接收外界的所有請(qǐng)求,并負(fù)責(zé)維護(hù)外網(wǎng)URL到內(nèi)部服務(wù)實(shí)例的映射除了對(duì)應(yīng)用的請(qǐng)求,對(duì)所有的CloudFoundry的API的請(qǐng)求(一般是由vmc和STS發(fā)出的)也會(huì)經(jīng)過路由路由同時(shí)也是一個(gè)負(fù)載均衡器,負(fù)責(zé)把請(qǐng)求平均的分發(fā)給一個(gè)給定應(yīng)用的所有實(shí)例例:CloudFoundary的ROUTER路由負(fù)責(zé)接收外PaaS平臺(tái)的中間件控制平臺(tái)上的WEB服務(wù)器WEB服務(wù)器的配置與部署保證服務(wù)在運(yùn)行時(shí)環(huán)境上的隔離性兩個(gè)層面的應(yīng)用服務(wù)器管理平臺(tái)核心服務(wù)所使用的應(yīng)用服務(wù)器部署在平臺(tái)上的服務(wù)所使用的應(yīng)用服務(wù)器服務(wù)管理的基本單位服務(wù)的部署服務(wù)的遷移服務(wù)的監(jiān)測PaaS平臺(tái)的中間件控制平臺(tái)上的WEB服務(wù)器PaaS平臺(tái)的數(shù)據(jù)庫管理系統(tǒng)控制平臺(tái)上的數(shù)據(jù)庫管理系統(tǒng)保證應(yīng)用在數(shù)據(jù)庫上的隔離性兩個(gè)層面的數(shù)據(jù)庫管理平臺(tái)自身所需的數(shù)據(jù)庫平臺(tái)的相關(guān)信息用戶的相關(guān)信息服務(wù)的相關(guān)信息應(yīng)用所需的數(shù)據(jù)庫權(quán)限分配沖突配置的分析與排除PaaS平臺(tái)的數(shù)據(jù)庫管理系統(tǒng)控制平臺(tái)上的數(shù)據(jù)庫管理系統(tǒng)例:AzureSQL部署在云端的關(guān)系型數(shù)據(jù)庫引擎絕大多數(shù)的管理工作都由微軟為你完成,因此你不用擔(dān)心任何諸如備份,集群,等管理方面的問題SQLServer2008ManagementStudioR2(目前為CTP版本)針對(duì)SQLAzure也提供了很強(qiáng)大的支持例:AzureSQL部署在云端的關(guān)系型數(shù)據(jù)庫引擎概述基礎(chǔ)設(shè)施層平臺(tái)運(yùn)行層服務(wù)管理服務(wù)需要遵守的約束概述服務(wù)管理PaaS平臺(tái)層的重要功能是對(duì)服務(wù)進(jìn)行支持,本節(jié)主要介紹平臺(tái)層如何對(duì)服務(wù)整個(gè)生命周期提供支持。本節(jié)主要從以下幾個(gè)方面展開討論:服務(wù)的上傳服務(wù)的部署服務(wù)的狀態(tài)管理服務(wù)的運(yùn)行時(shí)監(jiān)測服務(wù)管理PaaS平臺(tái)層的重要功能是對(duì)服務(wù)進(jìn)行支持,本節(jié)主要介服務(wù)的上傳將應(yīng)用的代碼包裝入服務(wù)器端的文件系統(tǒng)檢查并調(diào)整應(yīng)用代碼中與平臺(tái)沖突的配置利用靜態(tài)分析技術(shù)檢查代碼中的缺陷服務(wù)的上傳將應(yīng)用的代碼包裝入服務(wù)器端的文件系統(tǒng)上傳代碼包幫助用戶完成服務(wù)在平臺(tái)上的上傳客戶端及IDE插件(GAE)服務(wù)器端命令(CloudFoundry)基于瀏覽器的部署(SASEP)上傳的方式一般上傳方式增量上傳方式支持Maven的上傳方式上傳代碼包幫助用戶完成服務(wù)在平臺(tái)上的上傳檢查并調(diào)整沖突配置常見的沖突配置數(shù)據(jù)庫配置的沖突監(jiān)聽端口的沖突文件讀寫的沖突調(diào)整方法重包裝bean修改配置文件修改代碼并重新編譯檢查并調(diào)整沖突配置常見的沖突配置檢查缺陷代碼對(duì)服務(wù)的源代碼進(jìn)行全面的靜態(tài)分析,并給出詳細(xì)的分析報(bào)告,防止有缺陷的代碼被部署到平臺(tái)上,保護(hù)服務(wù)的公共運(yùn)行環(huán)境代碼違禁調(diào)用分析安全類缺陷分析代碼低效調(diào)用分析資源泄漏分析檢查缺陷代碼對(duì)服務(wù)的源代碼進(jìn)行全面的靜態(tài)分析,并給出詳細(xì)的分利用靜態(tài)分析提高平臺(tái)的健壯性Safety:避免不必要的資源占用內(nèi)存泄漏死循環(huán)Security安全漏洞保護(hù)用戶私密數(shù)據(jù)資源占用:支持合理部署、調(diào)度服務(wù)預(yù)計(jì)CPU占用預(yù)計(jì)內(nèi)存占用預(yù)計(jì)磁盤占用預(yù)計(jì)網(wǎng)絡(luò)帶寬占用利用靜態(tài)分析提高平臺(tái)的健壯性Safety:避免不必要的資源占例:CloudFoundary的DEADEA是指DropletExecutionAgent一個(gè)droplet就是應(yīng)用的代碼和它的依賴庫所打成的一個(gè)包,并且要添加一個(gè)start和stop命令系統(tǒng)會(huì)維護(hù)一個(gè)待命的DEA的池,也就是一個(gè)虛擬機(jī)級(jí)別的應(yīng)用容器DEA同時(shí)支持單租戶和多租戶的操作(即每個(gè)應(yīng)用一個(gè)DEA虛擬機(jī),或是n個(gè)應(yīng)用一個(gè)DEA虛擬機(jī))DEA還提供了一個(gè)安全且受限的操作系統(tǒng)環(huán)境來運(yùn)行應(yīng)用所在的應(yīng)用服務(wù)器和應(yīng)用的代碼例:CloudFoundary的DEADEA是指Dropl服務(wù)的部署服務(wù)的部署關(guān)注初次部署和重部署兩個(gè)過程服務(wù)的初次部署服務(wù)的初次部署是服務(wù)的初始化過程初次部署對(duì)應(yīng)的是服務(wù)的試用期服務(wù)的重部署服務(wù)的重部署是服務(wù)部署策略的優(yōu)化過程重部署對(duì)應(yīng)的是服務(wù)的正式運(yùn)行期服務(wù)的部署服務(wù)的部署關(guān)注初次部署和重部署兩個(gè)過程服務(wù)的初次部署(服務(wù)的初始化)服務(wù)初次部署的目的是觀察服務(wù)的運(yùn)行狀況通過服務(wù)運(yùn)行時(shí)的監(jiān)測來獲取信息服務(wù)有無運(yùn)行時(shí)的缺陷和漏洞服務(wù)的資源需求類型服務(wù)負(fù)載在時(shí)間上的分布服務(wù)之間的相互調(diào)用關(guān)系為服務(wù)在平臺(tái)上的正式運(yùn)行做準(zhǔn)備服務(wù)的初次部署(服務(wù)的初始化)服務(wù)初次部署的目的是觀察服務(wù)的服務(wù)的重部署(部署策略優(yōu)化)服務(wù)的重部署是為服務(wù)尋找符合條件的節(jié)點(diǎn)實(shí)現(xiàn)服務(wù)的搭配部署資源需求類型的搭配CPU占用較高的服務(wù)和IO占用較高的服務(wù)搭配部署資源需求時(shí)間的搭配OA類服務(wù)和休閑信息服務(wù)搭配部署交互服務(wù)的搭配有相互調(diào)用關(guān)系的服務(wù)考慮網(wǎng)絡(luò)拓?fù)渖系木徒钆洳渴鸱?wù)的重部署(部署策略優(yōu)化)服務(wù)的重部署是為服務(wù)尋找符合條件服務(wù)部署的高級(jí)功能實(shí)現(xiàn)服務(wù)的自動(dòng)部署自動(dòng)為服務(wù)尋找節(jié)點(diǎn),部署并使之運(yùn)行實(shí)現(xiàn)服務(wù)的部署策略的優(yōu)化調(diào)整部署策略,充分利用服務(wù)器的各種資源應(yīng)用服務(wù)實(shí)例數(shù)目的確定實(shí)現(xiàn)服務(wù)部署策略的智能調(diào)整根據(jù)服務(wù)器的實(shí)時(shí)負(fù)載情況和資源消耗情況,隨時(shí)調(diào)整部署使得資源利用率總是最高,用戶體驗(yàn)總是最好熱升級(jí)和熱遷移技術(shù)相近的應(yīng)用服務(wù)可以共享公共庫節(jié)省存儲(chǔ)服務(wù)部署的高級(jí)功能實(shí)現(xiàn)服務(wù)的自動(dòng)部署服務(wù)的狀態(tài)管理服務(wù)的生命周期包括試用階段和正式運(yùn)行階段服務(wù)試用階段:起始:服務(wù)的上傳后的初次部署結(jié)束:服務(wù)被平臺(tái)拒絕或被平臺(tái)重部署服務(wù)的正式運(yùn)行階段:起始:服務(wù)被平臺(tái)重部署結(jié)束:服務(wù)下線服務(wù)的狀態(tài)管理服務(wù)的生命周期包括試用階段和正式運(yùn)行階段服務(wù)在試用過程中的狀態(tài)轉(zhuǎn)換服務(wù)在試用過程中的有運(yùn)行和就緒兩個(gè)狀態(tài)服務(wù)的就緒狀態(tài)應(yīng)用服務(wù)器關(guān)閉服務(wù)的運(yùn)行狀態(tài)應(yīng)用服務(wù)器打開服務(wù)在試用過程中的狀態(tài)轉(zhuǎn)換服務(wù)在試用過程中的有運(yùn)行和就緒兩個(gè)高級(jí)軟件工程PKUSEI課件服務(wù)在正式運(yùn)行過程中的狀態(tài)轉(zhuǎn)換服務(wù)在正式運(yùn)行的過程中有就緒、運(yùn)行、掛起三個(gè)狀態(tài)服務(wù)的就緒狀態(tài)應(yīng)用服務(wù)器關(guān)閉,未加入到平臺(tái)路由轉(zhuǎn)發(fā)表服務(wù)的運(yùn)行狀態(tài)應(yīng)用服務(wù)器打開,加入平臺(tái)路由轉(zhuǎn)發(fā)表服務(wù)的掛起狀態(tài)應(yīng)用服務(wù)器打開,未加入到平臺(tái)路由轉(zhuǎn)發(fā)表服務(wù)在正式運(yùn)行過程中的狀態(tài)轉(zhuǎn)換服務(wù)在正式運(yùn)行的過程中有就緒、高級(jí)軟件工程PKUSEI課件面向服務(wù)特征的運(yùn)行管理面向服務(wù)特征的運(yùn)行管理服務(wù)的運(yùn)行時(shí)監(jiān)測

提供多角度的監(jiān)測視圖,掌握系統(tǒng)狀態(tài)系統(tǒng)管理員視圖服務(wù)提供者視圖用戶視圖通過監(jiān)測提高系統(tǒng)的可用性和可靠性監(jiān)測記錄幫助調(diào)整部署策略

監(jiān)測系統(tǒng)及時(shí)發(fā)現(xiàn)系統(tǒng)故障對(duì)監(jiān)測信息的挖掘形成推薦信息幫助用戶找到感興趣的服務(wù)幫助服務(wù)的提供者改進(jìn)和演化服務(wù)服務(wù)的運(yùn)行時(shí)監(jiān)測提供多角度的監(jiān)測視圖,掌握系統(tǒng)狀態(tài)平臺(tái)運(yùn)行時(shí)檢測的主要目標(biāo)資源使用信息服務(wù)信息是否存活?運(yùn)行正常?響應(yīng)時(shí)間?資源占用?訪問安全?圖形化顯示平臺(tái)運(yùn)行時(shí)檢測的主要目標(biāo)資源使用信息例:CloudFoundary的健康管理器健康管理器與云控制器和DEA緊密的配合,來保證所有的應(yīng)用都保持高的可用性如果一個(gè)應(yīng)用崩潰了,健康管理器會(huì)及時(shí)的發(fā)現(xiàn),并安排一個(gè)替代的實(shí)例如果健康管理器發(fā)現(xiàn)快速、重復(fù)的應(yīng)用崩潰,它就會(huì)宣布應(yīng)用進(jìn)入“flapping”狀態(tài),并且停止恢復(fù)這個(gè)應(yīng)用例:CloudFoundary的健康管理器健康管理器與云控概述基礎(chǔ)設(shè)施層平臺(tái)運(yùn)行層服務(wù)管理服務(wù)需要遵守的約束概述服務(wù)需要遵守的約束為了防止用戶無意或惡意對(duì)平臺(tái)進(jìn)行攻擊或?qū)Y源進(jìn)行濫用,平臺(tái)應(yīng)當(dāng)對(duì)服務(wù)的資源占用進(jìn)行約束。資源的限制和配額的設(shè)定應(yīng)當(dāng)合理,不能過大,否則會(huì)失去限制意義;也不能太小,使得很多服務(wù)無法正常運(yùn)行。要保證滿足絕大多數(shù)服務(wù)的正常要求。平臺(tái)一般要提供一些臨時(shí)性的方案使得無惡意的輕微資源超額能夠得到滿足。并且用戶能夠方便地拓展資源配額。服務(wù)需要遵守的約束為了防止用戶無意或惡意對(duì)平臺(tái)進(jìn)行攻擊或?qū)Y常見的服務(wù)約束文件系統(tǒng)的約束上傳的文件的大小、數(shù)量運(yùn)算的約束任務(wù)隊(duì)列的執(zhí)行時(shí)間、等待任務(wù)的數(shù)量命名空間的約束通配符、非法字符、保留字?jǐn)?shù)據(jù)庫的約束訪問權(quán)限網(wǎng)絡(luò)連接的約束最大連接數(shù)、連接池容量、連接保持時(shí)間常見的服務(wù)約束文件系統(tǒng)的約束服務(wù)約束的一般實(shí)現(xiàn)手段文件系統(tǒng)的約束一般通過操作系統(tǒng)的文件操作權(quán)限控制來實(shí)現(xiàn)運(yùn)算的約束一般通過操作系統(tǒng)的進(jìn)程管理接口來強(qiáng)行中止超限進(jìn)程一般通過命名空間的約束一般通過靜態(tài)分析和異步交互檢查來進(jìn)行限制數(shù)據(jù)庫的約束一般通過數(shù)據(jù)庫用戶權(quán)限的分配,借助數(shù)據(jù)庫自身的權(quán)限控制機(jī)制來實(shí)現(xiàn)網(wǎng)絡(luò)連接的約束一般通過應(yīng)用服務(wù)器的配置來實(shí)現(xiàn)服務(wù)約束的一般實(shí)現(xiàn)手段文件系統(tǒng)的約束例:SAE對(duì)服務(wù)的約束目錄或文件名不允許含有以下字符:"*?<>|,目錄或文件名的開始與結(jié)束也不允許有空格。上傳單個(gè)文件大小不超過20M。單個(gè)目錄下的文件個(gè)數(shù)不能超過2000個(gè)。每個(gè)應(yīng)用代碼總大小不超過100M。單個(gè)版本代碼總大小不超過50M。只允許存在10個(gè)以內(nèi)的版本,并且版本號(hào)必須為正整數(shù)。例:SAE對(duì)服務(wù)的約束目錄或文件名不允許含有以下字符:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論