




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第五講
新運行平臺:云計算平臺第五講
新運行平臺:云計算平臺1主要內容第一部分:云計算第二部分:平臺即服務主要內容第一部分:云計算第一部分:云計算1、概念2、軟件即服務3、基礎設施即服務4、平臺即服務第一部分:云計算1、概念什么是云?1、概念什么是云?1、概念CLOUD
COMPUTINGCLOUD
COMPUTING到底什么是云計算?云計算是近年來得到廣泛關注和快速發展的一種新型的計算方式云計算借助互聯網實現計算資源和信息的按需供給云計算是一個發展中的概念,其中的很多定義和標準都在討論中到底什么是云計算?云計算是近年來得到廣泛關注和快速發展的一種Berkeley對云計算的定義CloudComputingreferstoboththeapplicationsdeliveredasservicesovertheInternet,andthehardwareandsystemssoftwareinthedatacentersthatprovidethoseservicesBerkeley對云計算的定義CloudComputingWiki的定義云計算是一種基于互聯網的計算方式通過互聯網上異構、自治的服務為個人和企業用戶提供按需即取的計算云計算的資源是動態易擴展而且虛擬化的,終端用戶不需要了解云中基礎設施的細節,只關注自己需要什么樣的資源以及如何得到相應的服務Wiki的定義云計算是一種基于互聯網的計算方式CloudComputingisInternet-basedcomputing,wherebysharedresources,softwareandinformation
areprovidedtocomputersandotherdeviceson-demand,liketheelectricitygrid.CloudComputing(Wiki):NISTTheterm"cloud"isusedasametaphorfortheInternet,basedontheclouddrawingused……todepicttheInternetincomputernetworkdiagramsasanabstractionoftheunderlyinginfrastructureitrepresents為什么叫“云”?“云是可以通過網絡訪問的、集中管理的服務”CloudComputingisInternet-ba云計算的主要特征資源高度集中大量的硬件、大量的軟件、大量的數據以在線形式向用戶提供服務資源利用率高用戶使用方便接入簡單(本地用最小化的設施,瀏覽器)數目處于不斷變化之中要求服務質量高云計算的主要特征資源高度集中云計算的關鍵技術基于虛擬化技術快速部署資源或獲得服務實現動態的、可伸縮的擴展按需求提供資源、按使用量付費通過互聯網提供、面向海量信息處理用戶可以方便地參與形態靈活,聚散自如減少用戶終端的處理負擔降低用戶對于IT專業知識的依賴云計算的關鍵技術基于虛擬化技術快速部署資源或獲得服務NIST:云計算的服務模型軟件即服務(SaaS)平臺即服務(PaaS)架構即服務(IaaS)NIST:云計算的服務模型軟件即服務(SaaS)云計算體現了IT服務化的思想云計算的三種基本服務模式SaaS:SoftwareasaService,軟件即服務。服務的提供者將應用軟件部署在服務器上,用戶根據需求通過互聯網訪問應用并獲得服務IaaS:InfrastructureasaService,基礎設施即服務。服務的提供者將計算機基礎設施作為計量服務提供給用戶PaaS:PlatformasaService,平臺即服務。服務的提供者將軟件應用的開發環境、運行環境等作為計量服務提供給用戶云計算體現了IT服務化的思想云計算的三種基本服務模式云包含不同類型的服務IaaS:EC2,S3,…PaaS:GAE,Heroku,…SaaS:Salesforce,…動因不同:如何處理剩余資源?讓用戶更方便地使用軟件SaaS發展的必然結果云包含不同類型的服務IaaS:EC2,S3,…Pa云計算的實踐現狀你已經在使用大量的云了網絡搜索:googlesearch電子郵件:gmail查病毒:自動更新病毒庫云輸入:自動更新常用輸入你甚至可能已經有過“云開發”的經歷了CVS、SVNIssueTracker云計算的實踐現狀你已經在使用大量的云了歷史ASP(ApplicationServiceProvider)代表:S在線客戶關系管理(CRM)誕生首次提出:“StrategicBackgrounder:SoftwareAsAService”,inFebruary2001bytheSoftware&InformationIndustryAssociation's(SIIA)eBusinessDivision2、軟件即服務歷史2、軟件即服務軟件即服務是最普遍的一類服務模式。服務的提供者將軟件應用部署在服務器上,通過互聯網分發給最終用戶用戶往往不再為“擁有”軟件支付費用,而是為“使用”軟件支付費用服務的提供者所服務的每一個個人或者組織被稱之為“租戶”,這種配置模式被稱為多租戶架構。服務的提供者的資源被虛擬地劃分為多個部分,使得每個租戶都可以利用定制的實例進行工作對于最終用戶來說,使用SaaS無需前期的服務器或者軟件許可投資對于應用的開發者來說,只需要為多個客戶端維護一個應用軟件即服務是最普遍的一類服務模式。服務的提供者將軟件應用部署客戶所使用的服務商提供的這些應用程序運行在云基礎設施上。這些應用程序可以通過各種各樣的客戶端設備所訪問,通過瘦客戶端界面像WEB瀏覽器(例如,基于WEB的電子郵件)客戶不管理或者控制底層的云基礎架構,包括網絡、服務器、操作系統、存儲設備,甚至獨立的應用程序機能,在可能異常的情況下,限制用戶可配置的應用程序設置客戶所使用的服務商提供的這些應用程序運行在云基礎設施上。這些3、基礎設施即服務服務的提供者將IT設基礎設施資源的利用作為服務提供給用戶,這些資源通常包括處理器資源、存儲資源、網絡帶寬等。用戶可以在這些基礎設施上部署和運行軟件,包括操作系統和應用軟件典型代表:Amazon
EC2
(ElasticComputeCloud)通過互聯網訪問,向用戶提供按需計費的計算能力和存儲空間Amazon的AWS是一個新的IaaS,可以直接向用戶提供基于VMware的虛擬機,支持windows和Linux等操作系統3、基礎設施即服務服務的提供者將IT設基礎設施資源的利用作為基礎設施即服務向客戶提供處理、存儲、網絡以及其他基礎計算資源,客戶可以在上運行任意軟件,包括操作系統和應用程序。用戶不管理或者控制底層的云基礎架構,但是可以控制操作系統、存儲、發布應用程序,以及可能限度的控制選擇的網絡組件(例如,防火墻)基礎設施即服務向客戶提供處理、存儲、網絡以及其他基礎計算資源4、平臺即服務服務的提供者把應用程序的開發和運行環境作為一種服務提供給用戶,用戶在平臺的基礎上開發或者部署自己的應用程序,并借助平臺的服務器通過互聯網交付給應用程序的最終用戶PaaS可以給企業或個人提供研發的中間件平臺如數據庫、應用服務器等資源典型代表:F、GAE、Heroku、CloudFoundry4、平臺即服務服務的提供者把應用程序的開發和運行環境作為一種平臺即服務客戶使用云供應商支持的開發語言和工具,開發出應用程序,發布到云基礎架構上客戶不管理或者控制底層的云基礎架構,包括網絡、服務器、操作系統或者存儲設備,但是能控制發布應用程序和可能的應用程序運行環境配置平臺即服務客戶使用云供應商支持的開發語言和工具,開發出應用程第二部分:平臺即服務概述基礎設施層平臺運行層服務管理服務需要遵守的約束面臨的挑戰第二部分:平臺即服務概述平臺即服務概述平臺即服務發展大事記2007F平臺即服務概述平臺即服務發展大事記2007一些約定(I)PaaS上的角色約定PaaSProviderPaaSConsumerServiceConsumer(SaaSConsumer)一些約定(I)PaaS上的角色約定高級軟件工程PKUSEI課件一些約定(II)PaaS上的服務概念約定應用——PaaS-ConsumerView應用服務——SaaS-ConsumerView應用服務實例——PaaS-ProviderView一些約定(II)PaaS上的服務概念約定高級軟件工程PKUSEI課件PaaS平臺的基本體系結構PaaS平臺可以大體分為以下幾個層次平臺的最底層是基礎設施層,為平臺本身以及部署在平臺上的各種服務提供硬件支持基礎設施層的上層是PaaS平臺層,PaaS平臺的核心功能都在這一層實現,為部署在平臺上的服務提供運行時環境的支持。平臺的最高層是應用層,平臺自身定制的各種服務,以及服務提供者部署在平臺上的各種服務都運行在這一層。PaaS平臺的基本體系結構PaaS平臺可以大體分為以下幾個層高級軟件工程PKUSEI課件CloudFoundryLogicalView31CloudFoundryLogicalView31概述基礎設施層平臺運行層服務管理服務需要遵守的約束概述基礎設施層基礎設施層是PaaS的硬件基礎,為PaaS平臺提供硬件和系統軟件的支持,這一層又可以細分為以下幾個層次:硬件設備層虛擬化層操作系統層基礎設施層基礎設施層是PaaS的硬件基礎,為PaaS平臺提供
硬件設備層硬件設備層是組成平臺的硬件設備通俗地說,就是服務器機群。硬件設備層的性能是平臺性能的重要決定因素CPU內存外存儲器大小和讀寫速率網絡帶寬在大多數已經公開的PaaS平臺中,硬件設備層對平臺上的應用是透明的主要原因是硬件虛擬化層的存在。硬件設備層的硬件可以是同構的,也可以是異構的機架式服務器PC服務器小型機混搭機群硬件設備層硬件設備層是組成平臺的硬件設備虛擬化層隱藏硬件細節,實現抽象的硬件平臺通俗的說就是用一臺高性能計算機模擬多臺中低性能的計算機提高硬件資源的利用率實現資源的隔離和較細粒度的管理實現節點的快速復制、遷移技術不斷走向成熟vSphere(VMware)Citrix(Microsoft)XEN(OPENSOURCE)虛擬化層隱藏硬件細節,實現抽象的硬件平臺操作系統層虛擬化層為平臺模擬除了大量邏輯上的計算機邏輯計算機的運行仍然要借助操作系統為了支持更多種類的服務,就必須為邏輯計算機安裝種類豐富的操作系統WindowsLinux……操作系統層虛擬化層為平臺模擬除了大量邏輯上的計算機概述基礎設施層平臺運行層服務管理服務需要遵守的約束概述平臺運行層平臺運行支持的相關技術主要體現在PaaS的平臺層,與服務的支持技術有所重疊。為了便于理解,本節先介紹平臺層的基本情況,然后介紹平臺運行支持的相關技術。整體分為以下幾點:PaaS平臺層簡介平臺交互信息控制平臺運行控制平臺用戶身份認證平臺路由PaaS平臺的中間件PaaS平臺的數據庫管理系統平臺運行層平臺運行支持的相關技術主要體現在PaaS的平臺層,PaaS平臺層平臺層為應用提供運行時環境(系統軟件)系統類庫中間件數據庫平臺層為應用的運行提供基本服務服務的部署服務的負載控制服務信息的分析和推薦服務和平臺的安全保障用戶的身份認證PaaS平臺層平臺層為應用提供運行時環境(系統軟件)平臺交互信息控制器統管平臺層上各種信息的傳遞實現的方式多種多樣RPC(遠程程序調用)客戶端控制服務調用消息總線信息的種類控制命令資源路徑平臺交互信息控制器統管平臺層上各種信息的傳遞例:CloudFoundary的信息交互例:CloudFoundary的信息交互例:Azure的平臺管理消息機制管理員可以直接使用WindowsAzure門戶來管理程序門戶提供了創建,刪除項目,創建,刪除,更新部署,等眾多功能。此外還提供了ManagementAPI,讓開發人員自行開發程序來管理他們的部署。今后還會將SystemCenter與WindowsAzure集成,從而可以使用同一套工具,同時管理企業內部的服務器,以及云端的資產。例:Azure的平臺管理消息機制管理員可以直接使用Windo平臺運行控制(文件訪問控制)屏蔽不同文件系統對應用的影響網盤FTPHadoop提供平臺相關文件的存儲空間提供應用相關文件的存儲空間控制應用的文件操作權限平臺運行控制(文件訪問控制)屏蔽不同文件系統對應用的影響例:Azure的文件訪問機制四種存儲服務Blob類似文件系統的存儲方式Table結構化的存儲方式Queue先進先出的存儲方式Drive使用標準的NTFSAPI讀寫文件例:Azure的文件訪問機制四種存儲服務例:GAE的安全保障機制沙盒無法向文件系統寫入只允許讀取與該應用程序一起上傳的“資源”文件。無法產生子進程或線程無法打開套接字或直接訪問另一主機禁用不適用于GAE的
java.lang.System
類的功能允許應用程序對自己的類進行完全、無限制的反射訪問,無法對不屬于自己的任何其他類進行反射,也無法使用
setAccessible()
方法來避開這些限制例:GAE的安全保障機制沙盒平臺運行控制(運行時控制)
平臺運行參數的設置與調整平臺各模塊運行的控制與協調平臺運行管理的控制接口平臺運行控制(運行時控制)平臺運行參數的設置與調整例:GAE的運行時控制機制請求計時器請求處理程序對請求生成和返回響應的時間是有限的,通常約為30秒。達到限制時間后,請求處理程序將中斷。Java運行時環境通過引發
com.google.apphosting.api.DeadlineExceededException
中斷servlet。如果請求處理程序不捕獲此異常,那么和所有未捕獲的異常一樣,運行時環境將向客戶端返回HTTP500服務器錯誤。例:GAE的運行時控制機制請求計時器例:CloudFoundary的云控制器負責系統中的所有狀態改變保證所有的依賴可用將服務和應用綁定所有影響用戶、應用和服務的操作都由cloudcontroller來進行PushInstancescreate-service當應用被組裝好以后,cloudcontroller負責將應用和一個DEA執行單元連接起來例:CloudFoundary的云控制器負責系統中的所有狀用戶身份認證服務平臺用戶的身份認證平臺用戶的權限分配部署在平臺上的服務的使用者部署在平臺上的服務的提供者平臺上服務的用戶身份統一認證單點登錄oAuth身份認證用戶身份認證服務平臺用戶的身份認證平臺路由隔離平臺內外網絡環境實現應用的彈性擴展實現應用的負載平衡平臺路由隔離平臺內外網絡環境例:CloudFoundary的ROUTER路由負責接收外界的所有請求,并負責維護外網URL到內部服務實例的映射除了對應用的請求,對所有的CloudFoundry的API的請求(一般是由vmc和STS發出的)也會經過路由路由同時也是一個負載均衡器,負責把請求平均的分發給一個給定應用的所有實例例:CloudFoundary的ROUTER路由負責接收外PaaS平臺的中間件控制平臺上的WEB服務器WEB服務器的配置與部署保證服務在運行時環境上的隔離性兩個層面的應用服務器管理平臺核心服務所使用的應用服務器部署在平臺上的服務所使用的應用服務器服務管理的基本單位服務的部署服務的遷移服務的監測PaaS平臺的中間件控制平臺上的WEB服務器PaaS平臺的數據庫管理系統控制平臺上的數據庫管理系統保證應用在數據庫上的隔離性兩個層面的數據庫管理平臺自身所需的數據庫平臺的相關信息用戶的相關信息服務的相關信息應用所需的數據庫權限分配沖突配置的分析與排除PaaS平臺的數據庫管理系統控制平臺上的數據庫管理系統例:AzureSQL部署在云端的關系型數據庫引擎絕大多數的管理工作都由微軟為你完成,因此你不用擔心任何諸如備份,集群,等管理方面的問題SQLServer2008ManagementStudioR2(目前為CTP版本)針對SQLAzure也提供了很強大的支持例:AzureSQL部署在云端的關系型數據庫引擎概述基礎設施層平臺運行層服務管理服務需要遵守的約束概述服務管理PaaS平臺層的重要功能是對服務進行支持,本節主要介紹平臺層如何對服務整個生命周期提供支持。本節主要從以下幾個方面展開討論:服務的上傳服務的部署服務的狀態管理服務的運行時監測服務管理PaaS平臺層的重要功能是對服務進行支持,本節主要介服務的上傳將應用的代碼包裝入服務器端的文件系統檢查并調整應用代碼中與平臺沖突的配置利用靜態分析技術檢查代碼中的缺陷服務的上傳將應用的代碼包裝入服務器端的文件系統上傳代碼包幫助用戶完成服務在平臺上的上傳客戶端及IDE插件(GAE)服務器端命令(CloudFoundry)基于瀏覽器的部署(SASEP)上傳的方式一般上傳方式增量上傳方式支持Maven的上傳方式上傳代碼包幫助用戶完成服務在平臺上的上傳檢查并調整沖突配置常見的沖突配置數據庫配置的沖突監聽端口的沖突文件讀寫的沖突調整方法重包裝bean修改配置文件修改代碼并重新編譯檢查并調整沖突配置常見的沖突配置檢查缺陷代碼對服務的源代碼進行全面的靜態分析,并給出詳細的分析報告,防止有缺陷的代碼被部署到平臺上,保護服務的公共運行環境代碼違禁調用分析安全類缺陷分析代碼低效調用分析資源泄漏分析檢查缺陷代碼對服務的源代碼進行全面的靜態分析,并給出詳細的分利用靜態分析提高平臺的健壯性Safety:避免不必要的資源占用內存泄漏死循環Security安全漏洞保護用戶私密數據資源占用:支持合理部署、調度服務預計CPU占用預計內存占用預計磁盤占用預計網絡帶寬占用利用靜態分析提高平臺的健壯性Safety:避免不必要的資源占例:CloudFoundary的DEADEA是指DropletExecutionAgent一個droplet就是應用的代碼和它的依賴庫所打成的一個包,并且要添加一個start和stop命令系統會維護一個待命的DEA的池,也就是一個虛擬機級別的應用容器DEA同時支持單租戶和多租戶的操作(即每個應用一個DEA虛擬機,或是n個應用一個DEA虛擬機)DEA還提供了一個安全且受限的操作系統環境來運行應用所在的應用服務器和應用的代碼例:CloudFoundary的DEADEA是指Dropl服務的部署服務的部署關注初次部署和重部署兩個過程服務的初次部署服務的初次部署是服務的初始化過程初次部署對應的是服務的試用期服務的重部署服務的重部署是服務部署策略的優化過程重部署對應的是服務的正式運行期服務的部署服務的部署關注初次部署和重部署兩個過程服務的初次部署(服務的初始化)服務初次部署的目的是觀察服務的運行狀況通過服務運行時的監測來獲取信息服務有無運行時的缺陷和漏洞服務的資源需求類型服務負載在時間上的分布服務之間的相互調用關系為服務在平臺上的正式運行做準備服務的初次部署(服務的初始化)服務初次部署的目的是觀察服務的服務的重部署(部署策略優化)服務的重部署是為服務尋找符合條件的節點實現服務的搭配部署資源需求類型的搭配CPU占用較高的服務和IO占用較高的服務搭配部署資源需求時間的搭配OA類服務和休閑信息服務搭配部署交互服務的搭配有相互調用關系的服務考慮網絡拓撲上的就近搭配部署服務的重部署(部署策略優化)服務的重部署是為服務尋找符合條件服務部署的高級功能實現服務的自動部署自動為服務尋找節點,部署并使之運行實現服務的部署策略的優化調整部署策略,充分利用服務器的各種資源應用服務實例數目的確定實現服務部署策略的智能調整根據服務器的實時負載情況和資源消耗情況,隨時調整部署使得資源利用率總是最高,用戶體驗總是最好熱升級和熱遷移技術相近的應用服務可以共享公共庫節省存儲服務部署的高級功能實現服務的自動部署服務的狀態管理服務的生命周期包括試用階段和正式運行階段服務試用階段:起始:服務的上傳后的初次部署結束:服務被平臺拒絕或被平臺重部署服務的正式運行階段:起始:服務被平臺重部署結束:服務下線服務的狀態管理服務的生命周期包括試用階段和正式運行階段服務在試用過程中的狀態轉換服務在試用過程中的有運行和就緒兩個狀態服務的就緒狀態應用服務器關閉服務的運行狀態應用服務器打開服務在試用過程中的狀態轉換服務在試用過程中的有運行和就緒兩個高級軟件工程PKUSEI課件服務在正式運行過程中的狀態轉換服務在正式運行的過程中有就緒、運行、掛起三個狀態服務的就緒狀態應用服務器關閉,未加入到平臺路由轉發表服務的運行狀態應用服務器打開,加入平臺路由轉發表服務的掛起狀態應用服務器打開,未加入到平臺路由轉發表服務在正式運行過程中的狀態轉換服務在正式運行的過程中有就緒、高級軟件工程PKUSEI課件面向服務特征的運行管理面向服務特征的運行管理服務的運行時監測
提供多角度的監測視圖,掌握系統狀態系統管理員視圖服務提供者視圖用戶視圖通過監測提高系統的可用性和可靠性監測記錄幫助調整部署策略
監測系統及時發現系統故障對監測信息的挖掘形成推薦信息幫助用戶找到感興趣的服務幫助服務的提供者改進和演化服務服務的運行時監測提供多角度的監測視圖,掌握系統狀態平臺運行時檢測的主要目標資源使用信息服務信息是否存活?運行正常?響應時間?資源占用?訪問安全?圖形化顯示平臺運行時檢測的主要目標資源使用信息例:CloudFoundary的健康管理器健康管理器與云控制器和DEA緊密的配合,來保證所有的應用都保持高的可用性如果一個應用崩潰了,健康管理器會及時的發現,并安排一個替代的實例如果健康管理器發現快速、重復的應用崩潰,它就會宣布應用進入“flapping”狀態,并且停止恢復這個應用例:CloudFoundary的健康管理器健康管理器與云控概述基礎設施層平臺運行層服務管理服務需要遵守的約束概述服務需要遵守的約束為了防止用戶無意或惡意對平臺進行攻擊或對資源進行濫用,平臺應當對服務的資源占用進行約束。資源的限制和配額的設定應當合理,不能過大,否則會失去限制意義;也不能太小,使得很多服務無法正常運行。要保證滿足絕大多數服務的正常要求。平臺一般要提供一些臨時性的方案使得無惡意的輕微資源超額能夠得到滿足。并且用戶能夠方便地拓展資源配額。服務需要遵守的約束為了防止用戶無意或惡意對平臺進行攻擊或對資常見的服務約束文件系統的約束上傳的文件的大小、數量運算的約束任務隊列的執行時間、等待任務的數量命名空間的約束通配符、非法字符、保留字數據庫的約束訪問權限網絡連接的約束最大連接數、連接池容量、連接保持時間常見的服務約束文件系統的約束服務約束的一般實現手段文件系統的約束一般通過操作系統的文件操作權限控制來實現運算的約束一般通過操作系統的進程管理接口來強行中止超限進程一般通過命名空間的約束一般通過靜態分析和異步交互檢查來進行限制數據庫的約束一般通過數據庫用戶權限的分配,借助數據庫自身的權限控制機制來實現網絡連接的約束一般通過應用服務器的配置來實現服務約束的一般實現手段文件系統的約束例:SAE對服務的約束目錄或文件名不允許含有以下字符:"*?<>|,目錄或文件名的開始與結束也不允許有空格。上傳單個文件大小不超過20M。單個目錄下的文件個數不能超過2000個。每個應用代碼總大小不超過100M。單個版本代碼總大小不超過50M。只允許存在10個以內的版本,并且版本號必須為正整數。例:SAE對服務的約束目錄或文件名不允許含有以下字符:"*例:GAE和SAE對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對FetchURL約束的比較SAE:GA例:GAE提供的平臺定制服務Memcache定時任務AppEngineCron服務允許在指定時間執行或按指定間隔執行定期計劃任務:cronjob網址抓取應用程序可使用
AppEngine網址抓取服務分別向端口80和443上的其他主機發出HTTP和HTTPS請求Email用戶認證圖形地圖等等……例:GAE提供的平臺定制服務Memcache例:Azure提供的平臺定制服務ServiceBusServiceBus可以被用于將本地的服務暴露給Internet解決:內網服務沒有對外地址所以無法被直接訪問AppFabric在云中,權限管理往往要比在企業內部來的困難。這是因為你無法直接使用諸如活動目錄之類的產品來統一管理你的程序的訪問控制。其他將現今WindowsServerAppFabric中的功能移植到WindowsAzureplatformAppFabric中來:如分布式緩存等。例:Azure提供的平臺定制服務ServiceBusPaaS面臨的挑戰服務質量安全問題應用服務開發盈利模式PaaS面臨的挑戰服務質量服務質量應用服務是否在正常運行?與SaaS有什么不同?開發者不是運營者:誰最介意?應用服務數目大不同的應用服務差異大資源開銷、用戶期望響應時間?需要能夠及時處理異常服務質量應用服務是否在正常運行?安全問題與SaaS相比角色復雜支持多租戶應用不是運營者開發的隔離成本安全問題與SaaS相比應用服務開發離線基于SDK基于領域框架應用遷移在線定制與組裝基于Web的開發持續集成應用服務開發離線基于SDK的開發GAE為典型代表使用流程安裝本地IDE,下載安裝GAE
SDK,搭建開發環境在本地開發、調試應用使用安裝GAESDK時提供的上傳工具,將應用部署到GAE上在管理界面中啟動應用利用管理界面監控應用的運行狀態與資費基于SDK的開發GAE為典型代表基于領域框架的開發以基本SDK為基礎提供與領域知識相關的更多接口以便于應用服務的開發通常是PaaS運營者提供SDK開發組織將SDK下載到本地,需要研究與本地IDE的集成,以提高開發效率開發組織在線開發,需要“在線編程”服務具有訪問并使用這些SDK的能力基于領域框架的開發以基本SDK為基礎應用遷移將現有的應用遷移到PaaS平臺上涉及的技術包括:1)針對底層API變化的代碼轉換;2)如何充分利用領域框架;3)對并發性的支持應用遷移將現有的應用遷移到PaaS平臺上在線定制與組裝F為代表用戶可以定制自己的界面涉及多個業務時,可以定制自己的流程甚至表格專門的組裝語言(Apex)F用的類似Java的強類型語言可以創建web服務,編輯復雜的業務邏輯,整合多個服務模塊在線定制與組裝F為代表基于Web的在線開發類似于在線定制與組裝功能開發為主涉及環節在線建模在線編程在線調試在線測試在線分析基于Web的在線開發類似于在線定制與組裝在線建模復用已有模型支持協同建模促進交流,提高效果操作沖突如何解決?模型映射向在線開發映射向服務組裝映射PIM->PSM在線建模復用已有模型在線編程支持基本的編輯、查找等操作過程錄制與回放在線編程環境能夠十分方便地積累大量的代碼分析大規模的實際代碼挖掘接口使用、編程行為模式等方面的大量知識為編程人員提供多種在線提示功能調用代碼補全、接口使用異常提示等等在線編程支持基本的編輯、查找等操作調試是編程環境的重要組成部分針對web應用,需要適用于在線編程環境的輕量級調試方法,讓編程人員可以方便地選擇希望觀察的變量將調試版目標程序封裝為特定的服務,并集成到在線編程環境的方法支持多用戶同時進行調試在線調試調試是編程環境的重要組成部分在線調試模擬真實場景的用戶輸入尤其是大量用戶的并發請求分布式系統支持測試數據生成對測試結果進行自動分析缺陷查找、定位、修復建議“查全”與“查準”在線測試模擬真實場景的用戶輸入在線測試利用已知的缺陷模式知識以程序的數據流分析、控制流為基礎查找應用中存在的缺陷API使用錯誤、內存泄露、等等分析結果的準確性與全面性報告結果的排序在線分析利用已知的缺陷模式知識在線分析持續集成與Github等版本管理系統、Bugzilla等問題跟蹤系統進行集成需要自動部署的支持在維護階段順暢地解決運行時發現的問題實現問題發現、定位、代碼修改、重新部署等一系列活動的無縫運轉持續集成與Github等版本管理系統、Bugzilla等問PaaS發展約束:盈利模式與IaaS、SaaS相比?作為IaaS、SaaS的補充?F,GAE,Cloudfoundry單獨公司困難?期待超越中間件!PaaS發展約束:盈利模式與IaaS、SaaS相比?基于互聯網群體智能的軟件工程基于互聯網群體智能的軟件工程第五講
新運行平臺:云計算平臺第五講
新運行平臺:云計算平臺101主要內容第一部分:云計算第二部分:平臺即服務主要內容第一部分:云計算第一部分:云計算1、概念2、軟件即服務3、基礎設施即服務4、平臺即服務第一部分:云計算1、概念什么是云?1、概念什么是云?1、概念CLOUD
COMPUTINGCLOUD
COMPUTING到底什么是云計算?云計算是近年來得到廣泛關注和快速發展的一種新型的計算方式云計算借助互聯網實現計算資源和信息的按需供給云計算是一個發展中的概念,其中的很多定義和標準都在討論中到底什么是云計算?云計算是近年來得到廣泛關注和快速發展的一種Berkeley對云計算的定義CloudComputingreferstoboththeapplicationsdeliveredasservicesovertheInternet,andthehardwareandsystemssoftwareinthedatacentersthatprovidethoseservicesBerkeley對云計算的定義CloudComputingWiki的定義云計算是一種基于互聯網的計算方式通過互聯網上異構、自治的服務為個人和企業用戶提供按需即取的計算云計算的資源是動態易擴展而且虛擬化的,終端用戶不需要了解云中基礎設施的細節,只關注自己需要什么樣的資源以及如何得到相應的服務Wiki的定義云計算是一種基于互聯網的計算方式CloudComputingisInternet-basedcomputing,wherebysharedresources,softwareandinformation
areprovidedtocomputersandotherdeviceson-demand,liketheelectricitygrid.CloudComputing(Wiki):NISTTheterm"cloud"isusedasametaphorfortheInternet,basedontheclouddrawingused……todepicttheInternetincomputernetworkdiagramsasanabstractionoftheunderlyinginfrastructureitrepresents為什么叫“云”?“云是可以通過網絡訪問的、集中管理的服務”CloudComputingisInternet-ba云計算的主要特征資源高度集中大量的硬件、大量的軟件、大量的數據以在線形式向用戶提供服務資源利用率高用戶使用方便接入簡單(本地用最小化的設施,瀏覽器)數目處于不斷變化之中要求服務質量高云計算的主要特征資源高度集中云計算的關鍵技術基于虛擬化技術快速部署資源或獲得服務實現動態的、可伸縮的擴展按需求提供資源、按使用量付費通過互聯網提供、面向海量信息處理用戶可以方便地參與形態靈活,聚散自如減少用戶終端的處理負擔降低用戶對于IT專業知識的依賴云計算的關鍵技術基于虛擬化技術快速部署資源或獲得服務NIST:云計算的服務模型軟件即服務(SaaS)平臺即服務(PaaS)架構即服務(IaaS)NIST:云計算的服務模型軟件即服務(SaaS)云計算體現了IT服務化的思想云計算的三種基本服務模式SaaS:SoftwareasaService,軟件即服務。服務的提供者將應用軟件部署在服務器上,用戶根據需求通過互聯網訪問應用并獲得服務IaaS:InfrastructureasaService,基礎設施即服務。服務的提供者將計算機基礎設施作為計量服務提供給用戶PaaS:PlatformasaService,平臺即服務。服務的提供者將軟件應用的開發環境、運行環境等作為計量服務提供給用戶云計算體現了IT服務化的思想云計算的三種基本服務模式云包含不同類型的服務IaaS:EC2,S3,…PaaS:GAE,Heroku,…SaaS:Salesforce,…動因不同:如何處理剩余資源?讓用戶更方便地使用軟件SaaS發展的必然結果云包含不同類型的服務IaaS:EC2,S3,…Pa云計算的實踐現狀你已經在使用大量的云了網絡搜索:googlesearch電子郵件:gmail查病毒:自動更新病毒庫云輸入:自動更新常用輸入你甚至可能已經有過“云開發”的經歷了CVS、SVNIssueTracker云計算的實踐現狀你已經在使用大量的云了歷史ASP(ApplicationServiceProvider)代表:S在線客戶關系管理(CRM)誕生首次提出:“StrategicBackgrounder:SoftwareAsAService”,inFebruary2001bytheSoftware&InformationIndustryAssociation's(SIIA)eBusinessDivision2、軟件即服務歷史2、軟件即服務軟件即服務是最普遍的一類服務模式。服務的提供者將軟件應用部署在服務器上,通過互聯網分發給最終用戶用戶往往不再為“擁有”軟件支付費用,而是為“使用”軟件支付費用服務的提供者所服務的每一個個人或者組織被稱之為“租戶”,這種配置模式被稱為多租戶架構。服務的提供者的資源被虛擬地劃分為多個部分,使得每個租戶都可以利用定制的實例進行工作對于最終用戶來說,使用SaaS無需前期的服務器或者軟件許可投資對于應用的開發者來說,只需要為多個客戶端維護一個應用軟件即服務是最普遍的一類服務模式。服務的提供者將軟件應用部署客戶所使用的服務商提供的這些應用程序運行在云基礎設施上。這些應用程序可以通過各種各樣的客戶端設備所訪問,通過瘦客戶端界面像WEB瀏覽器(例如,基于WEB的電子郵件)客戶不管理或者控制底層的云基礎架構,包括網絡、服務器、操作系統、存儲設備,甚至獨立的應用程序機能,在可能異常的情況下,限制用戶可配置的應用程序設置客戶所使用的服務商提供的這些應用程序運行在云基礎設施上。這些3、基礎設施即服務服務的提供者將IT設基礎設施資源的利用作為服務提供給用戶,這些資源通常包括處理器資源、存儲資源、網絡帶寬等。用戶可以在這些基礎設施上部署和運行軟件,包括操作系統和應用軟件典型代表:Amazon
EC2
(ElasticComputeCloud)通過互聯網訪問,向用戶提供按需計費的計算能力和存儲空間Amazon的AWS是一個新的IaaS,可以直接向用戶提供基于VMware的虛擬機,支持windows和Linux等操作系統3、基礎設施即服務服務的提供者將IT設基礎設施資源的利用作為基礎設施即服務向客戶提供處理、存儲、網絡以及其他基礎計算資源,客戶可以在上運行任意軟件,包括操作系統和應用程序。用戶不管理或者控制底層的云基礎架構,但是可以控制操作系統、存儲、發布應用程序,以及可能限度的控制選擇的網絡組件(例如,防火墻)基礎設施即服務向客戶提供處理、存儲、網絡以及其他基礎計算資源4、平臺即服務服務的提供者把應用程序的開發和運行環境作為一種服務提供給用戶,用戶在平臺的基礎上開發或者部署自己的應用程序,并借助平臺的服務器通過互聯網交付給應用程序的最終用戶PaaS可以給企業或個人提供研發的中間件平臺如數據庫、應用服務器等資源典型代表:F、GAE、Heroku、CloudFoundry4、平臺即服務服務的提供者把應用程序的開發和運行環境作為一種平臺即服務客戶使用云供應商支持的開發語言和工具,開發出應用程序,發布到云基礎架構上客戶不管理或者控制底層的云基礎架構,包括網絡、服務器、操作系統或者存儲設備,但是能控制發布應用程序和可能的應用程序運行環境配置平臺即服務客戶使用云供應商支持的開發語言和工具,開發出應用程第二部分:平臺即服務概述基礎設施層平臺運行層服務管理服務需要遵守的約束面臨的挑戰第二部分:平臺即服務概述平臺即服務概述平臺即服務發展大事記2007F平臺即服務概述平臺即服務發展大事記2007一些約定(I)PaaS上的角色約定PaaSProviderPaaSConsumerServiceConsumer(SaaSConsumer)一些約定(I)PaaS上的角色約定高級軟件工程PKUSEI課件一些約定(II)PaaS上的服務概念約定應用——PaaS-ConsumerView應用服務——SaaS-ConsumerView應用服務實例——PaaS-ProviderView一些約定(II)PaaS上的服務概念約定高級軟件工程PKUSEI課件PaaS平臺的基本體系結構PaaS平臺可以大體分為以下幾個層次平臺的最底層是基礎設施層,為平臺本身以及部署在平臺上的各種服務提供硬件支持基礎設施層的上層是PaaS平臺層,PaaS平臺的核心功能都在這一層實現,為部署在平臺上的服務提供運行時環境的支持。平臺的最高層是應用層,平臺自身定制的各種服務,以及服務提供者部署在平臺上的各種服務都運行在這一層。PaaS平臺的基本體系結構PaaS平臺可以大體分為以下幾個層高級軟件工程PKUSEI課件CloudFoundryLogicalView131CloudFoundryLogicalView31概述基礎設施層平臺運行層服務管理服務需要遵守的約束概述基礎設施層基礎設施層是PaaS的硬件基礎,為PaaS平臺提供硬件和系統軟件的支持,這一層又可以細分為以下幾個層次:硬件設備層虛擬化層操作系統層基礎設施層基礎設施層是PaaS的硬件基礎,為PaaS平臺提供
硬件設備層硬件設備層是組成平臺的硬件設備通俗地說,就是服務器機群。硬件設備層的性能是平臺性能的重要決定因素CPU內存外存儲器大小和讀寫速率網絡帶寬在大多數已經公開的PaaS平臺中,硬件設備層對平臺上的應用是透明的主要原因是硬件虛擬化層的存在。硬件設備層的硬件可以是同構的,也可以是異構的機架式服務器PC服務器小型機混搭機群硬件設備層硬件設備層是組成平臺的硬件設備虛擬化層隱藏硬件細節,實現抽象的硬件平臺通俗的說就是用一臺高性能計算機模擬多臺中低性能的計算機提高硬件資源的利用率實現資源的隔離和較細粒度的管理實現節點的快速復制、遷移技術不斷走向成熟vSphere(VMware)Citrix(Microsoft)XEN(OPENSOURCE)虛擬化層隱藏硬件細節,實現抽象的硬件平臺操作系統層虛擬化層為平臺模擬除了大量邏輯上的計算機邏輯計算機的運行仍然要借助操作系統為了支持更多種類的服務,就必須為邏輯計算機安裝種類豐富的操作系統WindowsLinux……操作系統層虛擬化層為平臺模擬除了大量邏輯上的計算機概述基礎設施層平臺運行層服務管理服務需要遵守的約束概述平臺運行層平臺運行支持的相關技術主要體現在PaaS的平臺層,與服務的支持技術有所重疊。為了便于理解,本節先介紹平臺層的基本情況,然后介紹平臺運行支持的相關技術。整體分為以下幾點:PaaS平臺層簡介平臺交互信息控制平臺運行控制平臺用戶身份認證平臺路由PaaS平臺的中間件PaaS平臺的數據庫管理系統平臺運行層平臺運行支持的相關技術主要體現在PaaS的平臺層,PaaS平臺層平臺層為應用提供運行時環境(系統軟件)系統類庫中間件數據庫平臺層為應用的運行提供基本服務服務的部署服務的負載控制服務信息的分析和推薦服務和平臺的安全保障用戶的身份認證PaaS平臺層平臺層為應用提供運行時環境(系統軟件)平臺交互信息控制器統管平臺層上各種信息的傳遞實現的方式多種多樣RPC(遠程程序調用)客戶端控制服務調用消息總線信息的種類控制命令資源路徑平臺交互信息控制器統管平臺層上各種信息的傳遞例:CloudFoundary的信息交互例:CloudFoundary的信息交互例:Azure的平臺管理消息機制管理員可以直接使用WindowsAzure門戶來管理程序門戶提供了創建,刪除項目,創建,刪除,更新部署,等眾多功能。此外還提供了ManagementAPI,讓開發人員自行開發程序來管理他們的部署。今后還會將SystemCenter與WindowsAzure集成,從而可以使用同一套工具,同時管理企業內部的服務器,以及云端的資產。例:Azure的平臺管理消息機制管理員可以直接使用Windo平臺運行控制(文件訪問控制)屏蔽不同文件系統對應用的影響網盤FTPHadoop提供平臺相關文件的存儲空間提供應用相關文件的存儲空間控制應用的文件操作權限平臺運行控制(文件訪問控制)屏蔽不同文件系統對應用的影響例:Azure的文件訪問機制四種存儲服務Blob類似文件系統的存儲方式Table結構化的存儲方式Queue先進先出的存儲方式Drive使用標準的NTFSAPI讀寫文件例:Azure的文件訪問機制四種存儲服務例:GAE的安全保障機制沙盒無法向文件系統寫入只允許讀取與該應用程序一起上傳的“資源”文件。無法產生子進程或線程無法打開套接字或直接訪問另一主機禁用不適用于GAE的
java.lang.System
類的功能允許應用程序對自己的類進行完全、無限制的反射訪問,無法對不屬于自己的任何其他類進行反射,也無法使用
setAccessible()
方法來避開這些限制例:GAE的安全保障機制沙盒平臺運行控制(運行時控制)
平臺運行參數的設置與調整平臺各模塊運行的控制與協調平臺運行管理的控制接口平臺運行控制(運行時控制)平臺運行參數的設置與調整例:GAE的運行時控制機制請求計時器請求處理程序對請求生成和返回響應的時間是有限的,通常約為30秒。達到限制時間后,請求處理程序將中斷。Java運行時環境通過引發
com.google.apphosting.api.DeadlineExceededException
中斷servlet。如果請求處理程序不捕獲此異常,那么和所有未捕獲的異常一樣,運行時環境將向客戶端返回HTTP500服務器錯誤。例:GAE的運行時控制機制請求計時器例:CloudFoundary的云控制器負責系統中的所有狀態改變保證所有的依賴可用將服務和應用綁定所有影響用戶、應用和服務的操作都由cloudcontroller來進行PushInstancescreate-service當應用被組裝好以后,cloudcontroller負責將應用和一個DEA執行單元連接起來例:CloudFoundary的云控制器負責系統中的所有狀用戶身份認證服務平臺用戶的身份認證平臺用戶的權限分配部署在平臺上的服務的使用者部署在平臺上的服務的提供者平臺上服務的用戶身份統一認證單點登錄oAuth身份認證用戶身份認證服務平臺用戶的身份認證平臺路由隔離平臺內外網絡環境實現應用的彈性擴展實現應用的負載平衡平臺路由隔離平臺內外網絡環境例:CloudFoundary的ROUTER路由負責接收外界的所有請求,并負責維護外網URL到內部服務實例的映射除了對應用的請求,對所有的CloudFoundry的API的請求(一般是由vmc和STS發出的)也會經過路由路由同時也是一個負載均衡器,負責把請求平均的分發給一個給定應用的所有實例例:CloudFoundary的ROUTER路由負責接收外PaaS平臺的中間件控制平臺上的WEB服務器WEB服務器的配置與部署保證服務在運行時環境上的隔離性兩個層面的應用服務器管理平臺核心服務所使用的應用服務器部署在平臺上的服務所使用的應用服務器服務管理的基本單位服務的部署服務的遷移服務的監測PaaS平臺的中間件控制平臺上的WEB服務器PaaS平臺的數據庫管理系統控制平臺上的數據庫管理系統保證應用在數據庫上的隔離性兩個層面的數據庫管理平臺自身所需的數據庫平臺的相關信息用戶的相關信息服務的相關信息應用所需的數據庫權限分配沖突配置的分析與排除PaaS平臺的數據庫管理系統控制平臺上的數據庫管理系統例:AzureSQL部署在云端的關系型數據庫引擎絕大多數的管理工作都由微軟為你完成,因此你不用擔心任何諸如備份,集群,等管理方面的問題SQLServer2008ManagementStudioR2(目前為CTP版本)針對SQLAzure也提供了很強大的支持例:AzureSQL部署在云端的關系型數據庫引擎概述基礎設施層平臺運行層服務管理服務需要遵守的約束概述服務管理PaaS平臺層的重要功能是對服務進行支持,本節主要介紹平臺層如何對服務整個生命周期提供支持。本節主要從以下幾個方面展開討論:服務的上傳服務的部署服務的狀態管理服務的運行時監測服務管理PaaS平臺層的重要功能是對服務進行支持,本節主要介服務的上傳將應用的代碼包裝入服務器端的文件系統檢查并調整應用代碼中與平臺沖突的配置利用靜態分析技術檢查代碼中的缺陷服務的上傳將應用的代碼包裝入服務器端的文件系統上傳代碼包幫助用戶完成服務在平臺上的上傳客戶端及IDE插件(GAE)服務器端命令(CloudFoundry)基于瀏覽器的部署(SASEP)上傳的方式一般上傳方式增量上傳方式支持Maven的上傳方式上傳代碼包幫助用戶完成服務在平臺上的上傳檢查并調整沖突配置常見的沖突配置數據庫配置的沖突監聽端口的沖突文件讀寫的沖突調整方法重包裝bean修改配置文件修改代碼并重新編譯檢查并調整沖突配置常見的沖突配置檢查缺陷代碼對服務的源代碼進行全面的靜態分析,并給出詳細的分析報告,防止有缺陷的代碼被部署到平臺上,保護服務的公共運行環境代碼違禁調用分析安全類缺陷分析代碼低效調用分析資源泄漏分析檢查缺陷代碼對服務的源代碼進行全面的靜態分析,并給出詳細的分利用靜態分析提高平臺的健壯性Safety:避免不必要的資源占用內存泄漏死循環Security安全漏洞保護用戶私密數據資源占用:支持合理部署、調度服務預計CPU占用預計內存占用預計磁盤占用預計網絡帶寬占用利用靜態分析提高平臺的健壯性Safety:避免不必要的資源占例:CloudFoundary的DEADEA是指DropletExecutionAgent一個droplet就是應用的代碼和它的依賴庫所打成的一個包,并且要添加一個start和stop命令系統會維護一個待命的DEA的池,也就是一個虛擬機級別的應用容器DEA同時支持單租戶和多租戶的操作(即每個應用一個DEA虛擬機,或是n個應用一個DEA虛擬機)DEA還提供了一個安全且受限的操作系統環境來運行應用所在的應用服務器和應用的代碼例:CloudFoundary的DEADEA是指Dropl服務的部署服務的部署關注初次部署和重部署兩個過程服務的初次部署服務的初次部署是服務的初始化過程初次部署對應的是服務的試用期服務的重部署服務的重部署是服務部署策略的優化過程重部署對應的是服務的正式運行期服務的部署服務的部署關注初次部署和重部署兩個過程服務的初次部署(服務的初始化)服務初次部署的目的是觀察服務的運行狀況通過服務運行時的監測來獲取信息服務有無運行時的缺陷和漏洞服務的資源需求類型服務負載在時間上的分布服務之間的相互調用關系為服務在平臺上的正式運行做準備服務的初次部署(服務的初始化)服務初次部署的目的是觀察服務的服務的重部署(部署策略優化)服務的重部署是為服務尋找符合條件的節點實現服務的搭配部署資源需求類型的搭配CPU占用較高的服務和IO占用較高的服務搭配部署資源需求時間的搭配OA類服務和休閑信息服務搭配部署交互服務的搭配有相互調用關系的服務考慮網絡拓撲上的就近搭配部署服務的重部署(部署策略優化)服務的重部署是為服務尋找符合條件服務部署的高級功能實現服務的自動部署自動為服務尋找節點,部署并使之運行實現服務的部署策略的優化調整部署策略,充分利用服務器的各種資源應用服務實例數目的確定實現服務部署策略的智能調整根據服務器的實時負載情況和資源消耗情況,隨時調整部署使得資源利用率總是最高,用戶體驗總是最好熱升級和熱遷移技術相近的應用服務可以共享公共庫節省存儲服務部署的高級功能實現服務的自動部署服務的狀態管理服務的生命周期包括試用階段和正式運行階段服務試用階段:起始:服務的上傳后的初次部署結束:服務被平臺拒絕或被平臺重部署服務的正式運行階段:起始:服務被平臺重部署結束:服務下線服務的狀態管理服務的生命周期包括試用階段和正式運行階段服務在試用過程中的狀態轉換服務在試用過程中的有運行和就緒兩個狀態服務的就緒狀態應用服務器關閉服務的運行狀態應用服務器打開服務在試用過程中的狀態轉換服務在試用過程中的有運行和就緒兩個高級軟件工程PKUSEI課件服務在正式運行過程中的狀態轉換服務在正式運行的過程中有就緒、運行、掛起三個狀態服務的就緒狀態應用服務器關閉,未加入到平臺路由轉發表服務的運行狀態應用服務器打開,加入平臺路由轉發表服務的掛起狀態應用服務器打開,未加入到平臺路由轉發表服務在正式運行過程中的狀態轉換服務在正式運行的過程中有就緒、高級軟件工程PKUSEI課件面向服務特征的運行管理面向服務特征的運行管理服務的運行時監測
提供多角度的監測視圖,掌握系統狀態系統管理員視圖服務提供者視圖用戶視圖通過監測提高系統的可用性和可靠性監測記錄幫助調整部署策略
監測系統及時發現系統故障對監測信息的挖掘形成推薦信息幫助用戶找到感興趣的服務幫助服務的提供者改進和演化服務服務的運行時監測提供多角度的監測視圖,掌握系統狀態平臺運行時檢測的主要目標資源使用信息服務信息是否存活?運行正常?響應時間?資源占用?訪問安全?圖形化顯示平臺運行時檢測的主要目標資源使用信息例:CloudFoundary的健康管理器健康管理器與云控制器和DEA緊密的配合,來保證所有的應用都保持高的可用性如果一個應用崩潰了,健康管理器會及時的發現,并安排一個替代的實例如果健康管理器發現快速、重復的應用崩潰,它就會宣布應用進入“flapping”狀態,并且停止恢復這個應用例:CloudFoundary的健康管理器健康管理器與云控概述基礎設施層平臺運行層服務管理服務需要遵守的約束概述服務需要遵守的約束為了防止用戶無意或惡意對平臺進行攻擊或對資源進行濫用,平臺應當對服務的資源占用進行約束。資源的限制和配額的設定應當合理,不能過大,否則會失去限制意義;也不能太小,使得很多服務無法正常運行。要保證滿足絕大多數服務的正常要求。平臺一般要提供一些臨時性的方案使得無惡意的輕微資源超額能夠得到滿足。并且用戶能夠方便地拓展資源配額。服務需要遵守的約束為了防止用戶無意或惡意對平臺進行攻擊或對資常見的服務約束文件系統的約束上傳的文件的大小、數量運算的約束任務隊列的執行時間、等待任務的數量命名空間的約束通配符、非法字符、保留字數據庫的約束訪問權限網絡連接的約束最大連接數、連接池容量、連接保持時間常見的服務約束文件系統的約束服務約束的一般實現手段文件系統的約束一般通過操作系統的文件操作權限控制來實現運算的約束一般通過操作系統的進程管理接口來強行中止超限進程一般通過命名空間的約束一般通過靜態分析和異步交互檢查來進行限制數據庫的約束一般通過數據庫用戶權限的分配,借助數據庫自身的權限控制機制來實現網絡連接的約束一般通過應用服務器的配置來實現服務約束的一般實現手段文件系統的約束例:SAE對服務的約束目錄或文件名不允許含有以下字符:"*?<>|,目錄或文件名的開始與結束也不允許有空格。上傳單個文件大小不超過20M。單個目錄下的文件個數不能超過2000個。每個應用代碼總大小不超過100M。單個版本代碼總大小不超過50M。只允許存在10個以內的版本,并且版本號必須為正整數。例:SAE對服務的約束目錄或文件名不允許含有以下字符:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國文件閱讀器行業市場調研分析及投資戰略咨詢報告
- 2025年中國智能手機電感市場運營態勢及發展前景預測報告
- 稅務師美姍沖刺課件
- 2025年 西安齊力鐵路技工學校招聘考試筆試試題附答案
- 2025年 祿豐市焊工證理論考試練習題附答案
- 香滑綠豆蓉行業深度研究分析報告(2024-2030版)
- 中國通信控制處理機行業市場全景調研及投資規劃建議報告
- 2025年 常德漢壽縣事業單位招聘考試筆試試題附答案
- 2020-2025年中國濃香型白酒行業市場調查研究及未來發展趨勢報告
- 中國海口市房地產行業市場深度分析及投資策略咨詢報告
- 《準實驗研究設計》課件
- 二年級下冊口算題大全(全冊可直接打印)
- 福建省廈門市2022-2023學年高一下學期期末考試語文試題(解析版)
- 大學生職業生涯規劃園藝專業
- 使用單位特種設備安全風險管控清單
- 乳腺結核課件
- 音樂與電影-《功夫》音樂賞析
- 小學科學湘科版六年級下冊全冊同步練習含答案
- 中藥熏蒸的護理
- 中職學校計算機基礎知識復習考試題庫(附答案)
- 拼多多第三方誘導承諾書
評論
0/150
提交評論