




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
云計算架構與部署云計算架構與部署云計算概覽云計算概覽內容簡介什么是云計算云計算實現模式云計算交付模式IaaS/PaaS/SaaS的定義內容簡介什么是云計算什么是云計算云計算解決方案的特點:按需自助服務廣泛的網絡訪問資源池快速彈性測量服務什么是云計算云計算解決方案的特點:云計算模式簡介混合云是一種將兩個單獨的云(公共云和私有云)綁定在一起的技術,以組合和補充每個云提供的優勢公共云是云服務提供商提供的供公眾訪問和使用的基礎架構,平臺或應用程序服務私有云是一種私有的且受用戶自管理的云,其提供類似于公共云的優點,但是被設計使得用戶在自己的數據中心管理和維護私有云的基礎設施云計算模式簡介混合云是一種將兩個單獨的云(公共云和私有云)綁數據應用運行環境中間件網絡存儲服務器虛擬化操作系統數據應用運行環境中間件網絡存儲服務器虛擬化操作系統數據應用運行環境中間件網絡存儲服務器虛擬化操作系統數據應用運行環境中間件網絡存儲服務器虛擬化操作系統IaaSPaaSSaaS本地部署云計算服務模式數據應用運行環境中間件網絡存儲服務器虛擬化操作系統數據應用運如何理解IaaSPaaS和SaaSIaaS目標用戶是企業內部架構師,基于云平臺提供底層基礎架構服務。PaaS目標用戶是應用開發者,提供各種預制的托管的開發環境。SaaS目標客戶是終端用戶,為企業提供最終解決方案。
如何理解IaaSPaaS和SaaSIaaS目標用戶是企業內首先把云平臺高度抽象成一個無所不包而且取之不盡用之不竭的資源池。然后考慮我們的服務如何部署上去。到底該如何理解云平臺服務模式呢首先把云平臺高度抽象成一個無所不包而且取之不盡用之不竭的資源IaaS本質上就是平臺給你交付一臺虛機,虛機的操作系統給裝好,用戶自己配置系統,安裝應用,搭建服務。按照責任分擔模型,以虛機操作系統為分界線,上面這些層次,用戶自己負責,操作系統中病毒也是客戶的責任哦,操作系統以下的基礎架構服務由平臺方交付。優點:之前服務怎么裝怎么配現在還是一個樣,而且A平臺有問題,我換個地方重裝就是缺點:如果是跑虛機,我為啥不能自己跑快速理解IaaS數據應用運行環境中間件網絡存儲服務器虛擬化操作系統IaaSIaaS本質上就是平臺給你交付一臺虛機,虛機的操作系統給裝好PaaS交付的平臺,也就是應用程序運行所需的環境,如果你要一個DB放數據,沒必要套一個數據庫服務器,如果要一個website,沒必要給你一個網站服務器。優點:客戶只要填充數據和實現應用就好,非常省心。缺點:隨著“標準化”的提升,用戶的選擇靈活性降低了快速理解PaaS數據應用運行環境中間件網絡存儲服務器虛擬化操作系統PaaSPaaS交付的平臺,也就是應用程序運行所需的環境,如果你要一平臺都已經把一切安排到位,用戶只要付錢開通服務賬號就行優點:省心到極致缺點:還能費心定制定制嗎快速理解SaaS數據應用運行環境中間件網絡存儲服務器虛擬化操作系統SaaS平臺都已經把一切安排到位,用戶只要付錢開通服務賬號就行快速理網絡存儲服務器虛擬化操作系統中間件運行環境數據應用網絡存儲服務器虛擬化操作系統中間件運行環境數據應用網絡存儲服務器虛擬化操作系統中間件運行環境數據應用網絡存儲服務器虛擬化操作系統中間件運行環境數據庫應用私有云計算(laaS、PaaS)實例1)如果你自己買了服務器,要托管在集團數據中心:2)你直接向數據中心申請服務器資源:3)如果有需要,數據中心連中間件和運行環境也提供:4)我們的數據中心,甚至可以直接提供數據庫資源:網絡存儲服務器虛擬化操作系統中間件運行環境數據應用網絡存儲服我們把服務高度抽象成兩類有狀態:狀態需要保持,例如數據庫無狀態:狀態不需要保持,例如前端web服務器服務的類型我們把服務高度抽象成兩類服務的類型縱向擴展scaleup橫向擴展scaleout服務可用性縱向擴展scaleup服務可用性從可用性角度考慮:無狀態應用通過橫向擴展提升可用性有狀態應用通過縱向擴展提升可用性很顯然無狀態的服務特別匹配云平臺,可以考慮優先將此類服務遷移/部署到云平臺那些服務可以優先上云從可用性角度考慮:那些服務可以優先上云受法律法規限制的服務,如醫學影像資料被特定硬件限制的服務,如加密狗需要CPU和內存緊密交互的服務,如12306不適應遷移到云上的服務受法律法規限制的服務,如醫學影像資料不適應遷移到云上的服務如果不著急,舊服務可以保持原狀,或者以IaaS的方式進行遷移,可以保證穩妥。對于新服務,就必須有個考慮,以何種方式部署到云?以IaaS方式部署,屬于舊瓶裝新酒。以PaaS方式部署,靈活性又在哪里所以痛點就是PaaS缺乏統一的標準新服務如何部署如果不著急,舊服務可以保持原狀,或者以IaaS的方式進行遷移基準代碼:一份基準代碼,多份部署依賴:顯式聲明依賴關系配置:在環境中存儲配置后端服務:把后端服務當作附加資源構建,發布,運行:嚴格分離構建和運行進程:以一個或多個無狀態進程運行應用端口綁定:通過端口綁定提供服務易處理:快速啟動和優雅終止可最大化健壯性開發環境與線上環境等價:盡可能的保持開發,預發布,線上環境相同日志:把日志當作事件流管理進程:后臺管理任務當作一次性進程運行云原生原則—12-factor基準代碼:一份基準代碼,多份部署云原生原則—12-facto容器即服務CaaS容器即服務CaaS增加了容器層,符合原生應用的要求,buildoncerunanywhere公有云平臺都支持容器化應用,所以跨云遷移不再困難對于私有云平臺,可以借助CaaS實現PaaS功能快速理解容器即服務CaaS增加了容器層,符合原生應用的要求,buildonceruServerless的一種實現方式,代碼邏輯由開發者完成,但是托管運行在第三方云平臺上,由事件驅動,短時執行(甚至只有一次調用)架構特點:用戶僅需關心代碼,不需要考慮基礎架構不需要特定的框架和庫,可以適配所有的語言上傳代碼,使用API進行初始化云平臺負責執行自動化和彈性的水平擴展代碼的運行由云平臺提供的消息類型觸發通常由API網關啟動觸發優勢:更細顆粒度的計算資源分配彈性伸縮高可用沒有閑置損耗其實還沒完,還有FaaSServerless的一種實現方式,代碼邏輯由開發者完成,但媽媽再也不擔心我封裝服務了媽媽再也不擔心我封裝服務了BDaaS:大數據即服務DaaS:桌面即服務Dbaas:數據庫及服務HaaS:硬件即服務IDaaS:身份即服務NaaS:網絡即服務…………Xaas:一切皆服務更多的XaaSBDaaS:大數據即服務更多的XaaS深入了解云平臺服務模式
深入了解云平臺服務模式
內容一覽IaaS核心服務及場景演示PaaS核心服務及場景演示SaaS核心服務及場景演示其他類型云服務內容一覽IaaS核心服務及場景演示IAAS(InfrastructureasaService)基礎設施即服務:以服務的形式提供服務器、存儲和網絡硬件以及相關軟件。它是三層架構的最底層,是指企業或個人可以使用云計算技術來遠程訪問計算資源,這包括計算、存儲以及應用虛擬化技術所提供的相關功能。無論是最終用戶、SAAS提供商還是PAAS提供商都可以從基礎設施服務中獲得應用所需的計算能力,但卻無需對支持這一計算能力的基礎IT軟硬件付出相應的原始投資成本。
IAAS定義IAAS(InfrastructureasaServ基礎設施即服務(實用計算、虛擬化)IaaS——InfrastructureasaService
位于云計算3層服務的最底端,把IT基礎設施像水、電一樣以服務的形式提供給用戶,以服務形式提供基于服務器和存儲等硬件資源的可高度擴展和按需變化的IT能力。通常按照所消耗資源的成本進行收費。該層提供的是基本的計算和存儲能力,以計算能力的提供為例,其提供的基本單元就是服務器,包含CPU、內存、存儲、操作系統及一些軟件。
基礎設施即服務(實用計算、虛擬化)IaaS——InfrlaaS提供服務的架構InternetInternet映像管理資源部署服務目錄&門戶服務管理用量計量&計費統計報表資源性能管理瀏覽器用戶用戶物理系統云計算服務Telnet,ftp,...云主機云存儲云主機網絡資源申請資源訪問物理資源的轉變資源管理瀏覽器云存儲云主機服務器網絡存儲服務器和存儲刀片服務器開放異構的硬件laaS提供服務的架構InternetInternet映像應用特點完全操作系統(軟硬件)接入云存儲有限權限的網絡組件(防火墻、路由器、負載平衡器)的控制優勢節省費用靈活,可隨時擴展和收縮資源安全可靠專注核心業務IAAS應用特點及優勢應用特點IAAS應用特點及優勢PAAS(PlatformasaService)平臺即服務:以服務的方式提供應用程序開發和部署平臺。就是指將一個完整的計算機平臺,包括應用設計、應用開發、應用測試和應用托管,都作為一種服務提供給客戶。在這種服務模式中,客戶不需要購買硬件和軟件,只需要利用PAAS平臺,就能夠創建、測試和部署應用和服務。PAAS定義PAAS(PlatformasaService)平平臺即服務PaaS——PlatformasaService
PaaS位于云計算3層服務的最中間。通常也稱為"云計算操作系統"。它提供給終端用戶基于互聯網的應用開發環境,包括應用編程接口和運行平臺等,并且支持應用從創建到運行整個生命周期所需的各種軟硬件資源和工具。通常按照用戶或登錄情況計費。在PaaS層面,服務提供商提供的是經過封裝的IT能力,或者說是一些邏輯的資源,比如數據庫、文件系統和應用運行環境等。平臺即服務PaaS——PlatformasaSer應用特點復雜多租戶應用已有應用的兼容構建復合應用優勢開發簡單部署簡單維護簡單PAAS應用特點及優勢應用特點PAAS應用特點及優勢谷歌AppEngine平臺。AppEngine是Google提供的基于Google數據中心的開發、托管網絡應用程序的平臺,每個GoogleAppEngine應用程序都可使用500MB存儲空間,以及可支持每月約500萬頁面瀏覽量的CPU和寬帶。目前每個用戶可以免費創建十個應用。微軟的Azure平臺。主機位于微軟的數據中心,是一個基于Internet的云服務平臺。提供操作系統和一系列的開發服務,各種服務可進行自由組合。PAAS應用實例谷歌AppEngine平臺。AppEngine是GoogPaaS功能演示PaaS功能演示SAAS(SoftwareasaService)軟件即服務:以服務的方式將應用程序提供給互聯網最終用戶。它是用戶獲取軟件服務的一種新形式,不需要用戶將軟件產品安裝在自己的電腦或服務器上,而是按某種服務水平協議(SLA)直接通過網絡向專門的提供商獲取自己所需要的、帶有相應軟件功能的服務。本質上而言,軟件即服務就是軟件服務提供商為滿足用戶某種特定需求而提供其消費的軟件的計算能力。SAAS定義SAAS(SoftwareasaService)軟軟件即服務SaaS——SoftwareasaService
這是最常見的云計算服務,位于云計算3層服務的頂端。用戶通過標準的Web瀏覽器來使用Internet上的軟件。服務供應商負責維護和管理軟硬件設施,并以免費(提供商可以從網絡廣告之類的項目中生成收入)或按需租用方式向最終用戶提供服務。這類服務既有面向普通用戶的,諸如GoogleCalendar和Gmail;也有直接面向企業團體的,用以幫助處理工資單流程、人力資源管理、協作、客戶關系管理和業務合作伙伴關系管理等。這些SaaS提供的應用程序減少了客戶安裝和維護軟件的時間和技能等代價,并且可以通過按使用付費的方式來減少軟件許可證費用的支出。軟件即服務SaaS——SoftwareasaSer應用特點在中小企業盛行無需管理軟硬件服務主要通過瀏覽器實現優勢簡單初始成本低無需管理與維護免費試用SAAS應用特點及優勢應用特點SAAS應用特點及優勢應用實例CRM軟件領域工具化SAAS,比如視頻會議租用,企業郵箱等在線進銷存,物流軟件等SAAS應用實例應用實例SAAS應用實例SaaS功能演示SaaS功能演示這三種模式都是采用外包的方式,減輕企業負擔,降低管理、維護服務器硬件、網絡硬件、基礎架構軟件和應用軟件的人力成本。從更高的層次上看,它們都試圖去解決同一個商業問題——用盡可能少甚至是為零的資本支出,獲得功能、擴展能力、服務和商業價值。實際上當某種云計算的模式獲得了成功,這三者之間的界限就會進一步模糊。成功的SAAS或IAAS服務可以很容易地延伸到平臺領域。總結這三種模式都是采用外包的方式,減輕企業負擔,降低管理、維護服云平臺網絡功能設計云平臺網絡功能設計云計算平臺對網絡的需求軟件虛擬化發展概述SDN基礎知識Overlay技術概述OpenFlow技術概述主要內容
云計算平臺對網絡的需求主要內容 什么是SDN?解耦控制平面和數據平面邏輯上集中網絡智能和狀態將底層網絡基礎設施從應用中抽象出來在通用硬件上執行和運行控制平面軟件解耦傳統網絡設備固件使用商用服務器和交換機數據平面可編程集中維護、控制數據平面及對數據平面狀態編程SDN結構不僅限于控制單個網絡設備,而是控制整個網絡什么是SDN?解耦控制平面和數據平面SDN至于企業的意義超大型云計算平臺:在低成本硬件上自己開發軟件(Google)希望用到自定義的功能和協議(Yahoo)白盒硬件+開源軟件(Facebook)普通用戶需求更快速的軟件開發可編程網絡模塊快速就位集中化管理SDN至于企業的意義超大型云計算平臺:SDN的起源和大事件2006年:斯坦福大學的博士生馬丁·卡薩多(MartinCasado)和團隊提出了新的安全架構(SANE),定義了集中的安全控制(而非邊緣)結構。2008:SDN的理念由OpenFlow項目引發2009:斯坦福大學發布OpenFlowV1.0.0規范2009年6月:MartinCasado聯合創建了Nicira2011年3月:OpenNetworkingFoundation組織成立2011年11月:第一屆開放網絡峰會(OpenNetworkingSummit)召開。Juniper,Cisco宣布加入2012年7月:VMWare收購NiciraSDN的起源和大事件2006年:斯坦福大學的博士生馬丁·卡薩Google
SDN帶來的啟發Google面臨的問題:百萬臺量級的服務器管理開銷巨大:硬件和軟件升級冗余設計帶來的硬件量升級海量備份占用巨大的流量花費大量時間管理獨立的交換機人海戰術管理架構鏈路故障,重建鏈路導致延誤鏈路故障,重建路由表緩慢。難以預測新網絡的部署Google一馬當前使用SDN在低成本硬件上自己獨立開發網絡系統軟件,用在自己的大型數據中心
驗證了SDN可以用在生產環境,甚至是大型數據中心,尚屬首例,行業重新審視SDN。
GoogleSDN帶來的啟發Google面臨的問題:主流SDN組織2大SDN組織:OpenNetworkingFoundation-ONF:由Microsoft,Google,Facebook聯合提出和發起,成立于2011年,推動SDN的標準化的非營利性組織,目前已經制定了OpenFlow協議和OF-Config版本的標準OpenDaylight-ODL:于2013年成立,由Brocade,
Cisco,Citrix,IBM,Juniper,RedHat,Microsoft,VMWare,HP,Intel,
Ericsson等18家廠商發起。2大SDN組織的區別:ONFODL目標制定SDN標準,推動SDN產業化打造統一開放的SDN平臺,推動SDN產業化主要任務制定唯一的南向接口標準OpenFlow,制定硬件轉發行為規則不制定任何標準,打造一個SDN系統平臺,利用現有一些技術作為南向接口與OpenFlow的關系其唯一的南向接口包括OpenFlow1.0、1.3,BGP-LS等,OpenFlow是其南向接口之一,北向接口暫無任何北向接口標準化定義了一套北向接口API南向接口使用OpenFlow定義轉發平面標準行為不涉及任何轉發平面工作主流SDN組織2大SDN組織:ONFODL目標制定SDN標準SDN分類和結構SDN分類和結構傳統網絡設備結構網絡軟件結構管理平面控制平面—大腦/決策者數據平面—數據包轉發器以太交換機控制路徑(軟件)數據路徑(軟件)傳統網絡設備結構網絡軟件結構以太交換機控制路徑(軟件)數據路SDN-網絡發生解耦和分離交換機控制平面數據平面分離SDN-網絡發生解耦和分離交換機控制平面數據平面分離SDN解耦的主要部份網絡操作系統路由流量工程其他應用已知API②網絡圖抽象轉發轉發轉發轉發③數據平面和控制平面分離①網絡虛擬化安全數據平面控制平面應用平面指令指令指令指令SDN解耦的主要部份網絡操作系統路由流量工程其他應用已知APSDN結構網絡應用網絡應用管理平面控制平面數據平面控制平面和數據平面分離可編程接口差異化、個性化加速新功能及服務的迭代集中網絡智能簡化創建優化性能更細顆粒度的管理松耦合及分離軟硬件松耦合控制平面和數據平面分離物理和邏輯配置分離SDN結構網絡應用網絡應用管理平面控制平面數據平面控制平面可SDN控制器是SDN網絡的邏輯控制中心通過南向接口與交換機連接,提供網絡指令,目前比較熱的ONF的Openflow協議,IETF的ForCES協議,還有OVS使用的OVSDB等等,都是定義控制平面與數據平面分離之后使用的通信協議通過北向接口與應用連接,向上提供資源抽象,實現軟件可編程控制的網絡架構,目前尚未形成統一標準,常見的北向接口有RestfulAPI、RPC、Java等下一個目標是控制平面的擴展性問題,也就是多個設備的控制平面之間如何協同工作SDN控制器產品分兩類:一類是推出商用級產品的廠商CiscoXNC/ACI,JuniperContrail,NECProgrammableFlow等另一類是較大開源社區中打算開發SDN控制器軟件的開源項目/組織SDN控制器SDN控制器是SDN網絡的邏輯控制中心SDN控制器“Overlay”SDN和“Underlay"SDNOverlaySDN更多指的是以軟件廠家為代表的SDN解決方案,比如VMwareNSX,MicrosoftHNV,JuniperContrail,OverlaySDN構建于現有Underlay網絡基礎之上。OverlaySDN使用VXLAN,STT和NVGRE封裝原始數據包(帶有Payload),并在虛擬交換機內部或者支持的物理交換機上創建隧道終點(VTEP或者HNVFilter等),使用Underlay網絡進行隧道傳輸優勢—使用隧道很好的隔離租戶,保證大量租戶的網絡重復但是不沖突,對Underlay隱藏租戶網絡。UnderlaySDN更多指的是以硬件廠家為代表的SDN解決方案,比如OpenFlow,這類SDN對底層網絡結構進行重新布局和配置。SDN控制器
負責集中操作網絡組件的配置,確保控制器北向接口API得到正確的組織。優勢1—沉淀了多年的網絡、網絡架構、配置路徑和鏈路等知識,可以使用到復雜的路由算法提高網絡結構效率。
優勢2—SDN控制器對網絡流量的控制更為準確
,對于排錯效率,影響分析和安全都有很大的幫助。“Overlay”SDN和“Underlay"SDN實現SDN的4種方式控制平面和數據平面分離比如OpenFlow控制或管理平面交互現有或者新的控制平面協議,比如BGP,BGPFlowSpec,I2RS等現有或者新的管理平面協議,比如NETCONF,XMPP,OpFlex解耦和抽離Overlay虛擬網絡使用傳統網絡設備供應商提供的API比如JuniperSDK,CiscoOnePK,AristaeAPI,F5iControl等
實現SDN的4種方式控制平面和數據平面分離Overlay網絡的意義技術層面超越4096VLAN的限制位置和ID分離,Overlay結構里,設備移動時仍保留ID結合分布式路由技術減少路由路徑設備移動后ID不變IPcoreIP地址代表ID和位置設備移動后,ID和位置都發生變化IP地址代表ID和位置IPcore僅位置發生變化UnderlayOverlay網絡虛擬化平臺A-子網/24B-子網/24C-子網/24IP虛擬化收益靈活自定義自己網絡公有云租戶地址的重復租戶自帶IP到公有云Overlay網絡的意義技術層面設備移動后ID不變IPcoOverlay協議目前已經廣泛在使用的VXLANNVGRESTT新的協議Geneve-GenericNetworkVirtualizationEncapsulationOverlay協議目前已經廣泛在使用的3種常用的Overlay協議比較VXLANNVGRESTT提出者Cisco、VMWareMicrosoftNicira適用場景物理或虛擬交換機物理或虛擬交換機物理或虛擬交換機原理MACinUDPMACinGRETCPoverIP優勢可以更好地進行負載均衡可以利用現有技術,大多設備都支持GRE可以依靠網卡對包分片,降低CPU負擔劣勢需要新購或者升級硬件/軟件設備來支持有些設備不支持用GREKey做負載均衡Nicira私有協議,且不能用于硬件交換機3種常用的Overlay協議比較VXLANNVGRESTT提什么是OpenFlow?OpenFlow類似于x86服務器的指令集,用于管理網絡設備。提供開放的接口對“黑盒”網絡設備(如路由器和2/3層交換機)進行管理,達到對網絡的可視性和開放性。OpenFlow交換機的數據路徑包含一個或者多個流表(FlowTable),每個流(Flow)入口關聯了一個操作;控制路徑包含了用于編程流表流入口的控制器。分離控制平面和數據平面集中控制網絡設備(不同品牌和型號)全局網絡視圖從交換機獲取狀態信息發送控制指令到交換機基于流(Flow)進行控制利用以太網交換機和路由器中的路由表SDN并不是OpenFlow,OpenFlow是SDN的解決方案之一SDN是分離物理網絡數據平面和控制平面、網絡虛擬化等的概念集合OpenFlow是SDN結構中網絡控制平面和網絡設備通信的接口
直接訪問和控制物理層及虛擬層的交換機/路由器的轉發平面OpenFlow是一種協議,和在控制器接口和交換機中使用的協議類似。OpenFlow
協議數據路徑(硬件)控制路徑OpenFlow控制平面(網絡OS)應用A應用B數據平面數據路徑(硬件)控制路徑OpenFlow什么是OpenFlow?OpenFlow類似于x86服務器的應用層控制層基礎結構層應用網絡服務網絡服務OpenFlow網絡應用網絡應用管理平面(應用層)控制平面(控制層)數據平面(基礎結構層)控制平面和數據平面分離OpenFlow和SDN結構的相似之處可編程接口差異化、個性化加速新功能及服務的迭代集中網絡智能簡化創建優化性能更細顆粒度的管理松耦合及分離軟硬件松耦合控制平面和數據平面分離物理和邏輯配置分離OpenFlow結構SDN結構應用層控制層基礎結構層應用網絡網絡服務OpenFlow網絡應網絡應用網絡應用管理平面控制平面數據平面基于語言的虛擬化編程語言網絡應用程序網絡虛擬化網絡操作系統北向接口網絡基礎架構南向接口到管理平面或應用的API,開放發布、無標準,基于軟件體系網絡虛擬化軟件(FlowVisor),隱藏復雜性、向下級管理員委派管理子網、實現多個控制器和一組交換機對話、隔離實驗和測試環境、虛擬化網絡模型(如拓撲、路由等)OpenFlow詳細結構決策和發送指令路由、負載均衡和安全執行SDN所需的編程語言、抽象和接口,確保單一應用的多個任務互相之間不干擾,提供高級編程接口避免低層指令和配置BigDataApps:優化網絡使用率CloudNaaS:云應用的網絡基元,NOX控制器FlowComb:預測應用負載,使用NOXFlowDiff:檢測運行問題,FlowVisor控制器LIME:實時網絡遷移,FloodLight控制器NetGraph:網絡管理圖表查詢,使用自己的控制器OpenTCP:動態和可編程的TCP引用,使用自己的控制器。所有的組件都使用OpenFlow與交換機進行通信,OpenTCP除外網絡應用網絡應用管理平面控制平面數據平面基于語言的虛擬化編程部分支持OpenFlow的網絡設備(待更新)CienaCoredirectorNECIP8800JuniperMX-seriesHPProcurve5400Pronto3240/3290WiMax(NEC)PCEnginesNetgear7324部分支持OpenFlow的網絡設備(待更新)CienaCo63傳統交換機/路由器轉發鄰居路由器路由器管理/策略平面配置/命令行/圖形靜態路由控制平面BGP/ISIS/OSPF鄰居表鏈路狀態數據IP路由表轉發表數據平面數據平面控制平面BGP/ISIS/OSPF鄰居路由器數據平面控制平面BGP/ISIS/OSPF路由交換功能固化暴露執行細節非標準/非現成的狀態管理API包入站2層表+VLAN3層表VRFACL/QoS端口組包出站ABC63傳統交換機/路由器轉發鄰居路由器路由器管理/策略平面配置OpenFlow交換機轉發包入站流表包出站ABC流表流表交換機/路由器OpenFlowOpenFlow交換機轉發包入站流表包出站ABC流表流表交數據平面MAC學習路由算法指令檢測系統負載均衡控制平面:SDN控制器流表使用安全通道通信網絡應用程序規則操作狀態數據包+計數器將數據包轉發到端口封裝并轉發到控制器丟棄數據包發送到正常處理管道交換機端口源MAC地址目標MAC以太類型交換機端口源IP目標IP源TCP端口目標TCP端口匹配數據包頭流表(包含3個部分)流表OpenFlow如何工作?使用以下交換機中的流表控制器管理流量(網絡流)存儲在流表的指令當數據包到達交換機時,將報頭字段與流表中的流條目進行匹配。如果有匹配的條目,則執行所指示的操作并更新計數器。如果不匹配,交換機通過發送數據包頭的消息來詢問控制器。數據平面MAC學習路由算法指令檢負載控制平面:SDN控制器流控制器流表安全通道PCOpenFlow協議TCP/TLS硬件軟件①66OpenFlow網絡組件①OpenFlow控制器通過OpenFlow通道管理一個或多個交換機使用OpenFlow協議和支持OpenFlow的交換機通信和傳統交換機控制平面角色一樣為北向接口的應用提供網絡范圍的抽象在OpenFlow交換機里編程不同的表交換機可以被多臺做成負載均衡的控制器管理,控制器既可以是Master和Slave或者Equal②OpenFlow通道用于交換機和控制器之間交換消息交換機可以建立單一或者多個連接到相同或不同的控制器控制器配置和管理交換機,并從交換機上接收事件和數據安全通道基于TLS/TCP連接,交換機和控制器通過交換由站點交換機私鑰頒發的證書進行相互驗證③OpenFlow交換機包含一到多個流表、組表和計量表單一交換機可以被一個或多個控制器管理
在查找和轉發階段將用到流表和組表,以將數據包轉發到正確的端口計量表既可用于簡單的QoS操作如限速(RateLimiting),又可用于復雜的QoS操作如DiffServ②③控制器流表安全PCOpenFlow協議TCP/TLS硬件OpenFlow控制器軟件IRIS:(Java語言)擴展性和高可用MUL:(C語言)SDN)控制器,基于C語言,具備多線程基礎架構NOX:(C++/Python語言)NOX是第一個OpenFlowJaxon:(Java語言)Jaxon是基于Java語言寫的依賴于NOX的OpenFlow控制器Trema:(C/Ruby語言)Trema,基于C和Ruby語言,用于開發OpenFlow控制器的全棧框架Beacon:(Java語言)Beacon支持基于事件和線程操作
Floodlight:(Java語言)是由Beacon控制器的分之,最初由Stanford的DavidErickson開發。其他OpenFlow控制器軟件IRIS:(Java語言)擴展OpenFlow交換機軟件Indigo:運行在MacOSX,開源LINC:運行在Linux,Solaris,Windows,MacOS和FreeBSD,開源Pantou:將商業無限路由/訪問設備轉為OpenFlow交換機,
運行在OpenWRTOf13softswitch:用戶空間軟件交換機,
基于EricssonTrafficLab1.1軟交換機OpenvSwitch:開源,使用較為廣泛OpenFlow交換機軟件Indigo:運行在MacOOpenVSwitchSwitch-OVS軟件開源虛擬交換機基于Nicira概念既可以是單獨的虛擬交換機,也可以是跨多臺物理機的分布式虛擬交換機。內置于XenServer6.0,Xen云平臺并支持ProxmoxVE,VirtualBox,XenKVM.集成在多個云管理系統,比如OpenStack,openQRM,OpenNebula和oVirt.和Ubuntu,Debian,FedoraLinux和FreeBSD一起發布OpenVSwitchSwitch-OVS軟件開源虛擬交OpenFlow交換機OpenFlow交換機OpenFlow交換機控制器1控制器2OpenFlow交換機和控制器常規拓撲OpenFlowOpenFlowOpenFlow控制器采用網絡虛擬化(FlowVisor)的OpenFlow拓撲OpenFlow協議OpenFlowFlowVisor&PolicyControl廣播多播OpenFlow協議http負載均衡OpenFlow交換機OpenFlow交換機OpenFlow交換機dl_dst=FFFFFFFFFFFFtp_src=80,or
tp_dst=80采用網絡虛擬化(FlowVisor)的OpenFlow拓撲OOpenFlow部署結構轉發硬件軟件控制轉發硬件軟件控制轉發硬件軟件控制轉發硬件軟件控制轉發硬件軟件控制轉發硬件OpenFlow轉發硬件OpenFlow轉發硬件OpenFlow轉發硬件OpenFlow轉發硬件OpenFlow軟件控制OpenFlow部署結構轉發硬件軟件控制轉發硬件軟件控制分布式存儲分布式存儲存儲發展簡史1980s個人電腦1960s大型機1990s互聯網2000s移動互聯網2010s
大數據,云計算分布式存儲最早誕生在互聯網行業,隨著技術的產品化成熟,越來越多的企業級用戶也在嘗試,將傳統的業務遷移到彈性,靈活的分布式存儲資源池IBMDS8000EMCVMAXHuawei180001956年世界第一臺磁盤存儲系統IBM305磁盤介質取代打孔卡,容量5MB讀寫速率10K/s1980年,薄膜磁頭技術,性能飛躍,容量8*2.52GB讀寫速率3MB/s1993年EMCSymmetrix16MBDRAM,1GBGlobalMemory,容量1TB,HypervolumeExtensionIAAS2.0以服務器、SAN/NAS為主TB時代,GB/sIAAS1.0以主機和終端、DAS為主GB時代,MB/sIAAS3.0以云服務、移動寬帶網絡、大數據分析、社交網絡技術為依托PB時代,10~100GB/s,分布式架構存儲發展簡史1980s個人電腦1960s大型機1990存儲基本概念-----RAIDRAID(RedundantArrayofIndependentDisks)即獨立磁盤冗余陣列,RAID將多個單獨的物理硬盤以不同的方式組合成一個邏輯硬盤,從而提高了硬盤的讀寫性能和數據安全性RAID5和RAID10計算機發展初期,大容量硬盤價格非常高,而需要存儲的數據量越來越大容量性能CPU運算速度飛速提高,數據讀寫速度不應該成為計算機系統處理的瓶頸信息時代,數據對企業和個人的重要性越來越大,數據存儲安全更需要保障RAID可靠性槽點:RAID橫行30年,技術越來越復雜,維護難度加大存儲基本概念-----RAIDRAID(Redundant存儲基本概念-----物理卷與邏輯卷物理卷由幾個硬盤通過RAID方式組成,從整體上看相當于一個盤組在物理卷的基礎上可以按照指定容量創建一個或多個邏輯卷,通過LUN(LogicUnitNumber)來標識槽點:卷管理的概念,既在存儲設備中存在,也在主機操作系統中使用,因此傳統塊存儲的IO層級較為復雜,維護工作量較大RAID10RAID5物理卷物理卷邏輯卷邏輯卷單個物理卷上創建1個邏輯卷單個物理卷上創建2個邏輯卷LUN1LUN2LUN3存儲基本概念-----物理卷與邏輯卷物理卷由幾個硬盤通過RA存儲基本概念---磁盤陣列控制器是磁盤陣列的“大腦”,主要部件為處理器和緩存,最先主要實現簡單IO操作、RAID管理功能,隨著技術發展,能夠提供各種各樣的數據管理功能,如快照、鏡像、復制等磁盤柜包含了多塊的磁盤,本身既沒有處理器,也沒有緩存,RAID及數據管理功能通過控制器實現槽點:中高端存儲經過crossbar架構、全點對點總線架構等演進,掌握架構基本靠想象,黑盒子形成控制器磁盤柜磁盤線纜存儲基本概念---磁盤陣列控制器是磁盤陣列的“大腦”,主要部存儲基本概念---DAS、NAS、SAN
主機DASFCSAN應用文件/操作系統I/O重定向器TCP/IP協議棧NFS/CIFS網絡接口卡
主機文件處理I/ONASIPNetwork網絡接口卡TCP/IP協議棧NFS/CIFS文件系統+邏輯卷管理器數據管理系統RAID塊處理I/O設備驅動應用邏輯卷管理器裸卷SCSI設備驅動塊處理I/OIPSAN應用邏輯卷管理器裸卷iSCSILayerTCP/IPStack網絡接口卡
主機塊處理I/O塊處理I/OIPNetworkFCNetwork網絡接口卡TCP/IP協議棧數據管理系統RAID塊處理I/OFC總線卡FC協議棧數據管理系統RAID塊處理I/O應用邏輯卷管理器裸卷SCSI設備驅動FC協議棧FC總線卡設備驅動設備驅動SCSI設備驅動
主機文件/操作系統數據庫文件/操作系統數據庫文件/操作系統數據庫RAIDSCSI/FC總線卡存儲基本概念---DAS、NAS、SAN主什么是NAS?優點:價格相對低廉,NAS以合理的價格提供集中存儲易于配置缺點:訪問時間較慢不是企業解決方案NAS是通過網絡共享訪問附加的專用存儲設備的存儲類型FileserverLocalAreaNetwork(Ethernet)NASdeviceFile-levelaccess(CIFS,NFS)Network什么是NAS?優點:NAS是通過網絡共享訪問附加的專用存儲設什么是SAN?優點:最快的訪問時間易于擴展集中存儲高水平的冗余缺點:更貴需要專業技能SAN提供更高的可用性和最大的靈活性通過使用光纖通道或iSCSI實施SANServersSwitchesStoragedevices什么是SAN?優點:SAN提供更高的可用性和最大的靈活性通過DASNASSAN的比較和使用場景DAS:復雜性最小最低設置成本NAS:最適合特定情況的解決方案與DAS和SAN互補SAN:性能最高有最多的功能未來的趨勢:WindowsServer存儲功能正在擴展,以提高使用DAS時的功能DASNASSAN的比較和使用場景DAS:塊級存儲與文件級存儲塊級存儲:是高性能通常是基于SAN的向服務器提供LUN不是最具成本效益的文件級存儲:通過NAS,存儲服務器或文件服務器提供使用CIFS/SMB(共享文件夾)或NFS(導出)在存儲后端使用塊級存儲塊級存儲與文件級存儲塊級存儲:什么是光纖通道?光纖通道組件包括:SAN具有HBA卡的計算機光纖通道交換機以太網光纖通道:同時采用
一種廉價的,
預先存在的
以太網基礎架構,為您提供了光纖通道的好處光纖通道布局包括:仲裁環路:不需要采用交換機,目前比較罕見點對點:光纖通道主機直接連接到存儲設備,并且不需要交換機,不常用交換網絡:所有光纖通道主機連接到光纖通道交換機,光纖通道交換機連接到后端存儲。什么是光纖通道?光纖通道組件包括:什么是iSCSI?iSCSI通過IP網絡傳輸SCSI命令組件描述ip網絡網絡提供高性能和冗余iscsi目標該存儲裝置上運行,并允許訪問磁盤的服務器iscsi啟動器在服務器上的軟件組件或主機適配器,它提供iscsi目標的訪問iscsiiqniscsi用于在iscsi網絡上尋址發起方和目標的全局唯一標識符iSCSIclientthatrunstheiSCSIinitiatorTCP/IPprotocoliSCSITargetServerStoragearray什么是iSCSI?iSCSI通過IP網絡傳輸SCSI命令組件核心存儲組件網絡適??配器通常在以太網上使用HBA通常用在存儲網絡(如SAN)上聚合網絡適配器可用于以太網或SANInfiniBand主機通道適配器用于InfiniBand網絡磁盤控制器便于磁盤驅動器和CPU之間的通信核心存儲組件網絡適??配器通常在以太網上使用傳統存儲的問題總結(滿滿的槽點)投資:一次性成本較高,中高端集采單價1.5W/TB,光交30-40萬一對,FC適配器可忽略;如無規模優勢,維保成本高;維護人員成本高,令人艷羨的待遇;能耗成本高。工程集成:zone、LUN、RAID、owner、多鏈路、卷管理、備份、冗余、容災。。。。工作量較大,技能get投入大維護監控:一套存儲三種軟件,有額外軟件成本;廠家異構型號異構讓統一存儲運維只是一個夢想;運維數據難于導出和解讀,“拿去!你看不懂!”;故障處理往往需要多方會診,問題定位周期長,分析靠創意,排查靠遍歷。擴容升級:需要停機、擴容周期長、實施風險高,0點以后3小時起刷大夜。性能表現:需根據實際配置進行計算,從不能相信技術指標;性能數據需專業解讀,性能優化基本靠擴高可用及穩定性:穩定性高的背后,是大量的更換備件和升級版本操作;高可用演練環節多,藥不能停;設備老舊,穩定性驟減,老干部要好好伺候。存儲本質上是IT硬件集成,IT軟件定義。無非是集成和定義誰來做的問題。傳統存儲的問題總結(滿滿的槽點)投資:一次性成本較高,中高端幾個存儲新概念軟件定義存儲:存儲資源由軟件自動控制,通過抽象、池化和自動化,將標準服務器內存存儲、直連存儲、外置存儲或云存儲等存儲資源整合起來,實現應用感知,或者基于策略驅動的部署、變更和管理,最終達到存儲即服務的目標超融合(HCI):是指同一套單元設備(如X86通用服務器)同時具備提供計算、存儲和網絡服務的能力ServerSAN(基于服務器的分布式塊存儲):采用標準服務器作為硬件,通過軟件對外提供存儲服務的產品對象存儲(基于服務器的分布式對象存儲):采用標準服務器作為硬件,通過軟件對外提供對象服務的產品,對象是一種數據集合,如圖片、視頻等,每個對象都在一個被稱作存儲池的扁平地址空間的同一級別里擁有唯一OID,一個對象不會屬于另一個對象的下一級基于服務器的分布式文件存儲:采用標準服務器作為硬件,通過軟件對外提供文件存儲服務的產品,主流還是NAS,使用NFS/CIFS文件共享傳輸協議,樹形目錄+inode管理方法幾個存儲新概念軟件定義存儲:存儲資源由軟件自動控制,通過抽象實現SDS的scale-out架構VMVM…VMFC/iSCSISANCPUCPU…硬盤硬盤硬盤…硬盤硬盤硬盤…硬盤硬盤硬盤…傳統集中存儲Scale-Up架構分布式存儲Scale-Out架構X86服務器1X86服務器2X86服務器N通過昂貴硬件保證系統的高可用性管理維護要求能力高擴展方式通過增加硬件配置實現X86硬件,軟件定義實現自動化、智能機制管理維護要求能力低擴展容易,可以達到PB級擴容空間X86服務器1VMVMVMVMVMVM軟件定義存儲硬盤硬盤硬盤硬盤硬盤硬盤...X86服務器2X86服務器N實現SDS的scale-out架構VMVM…VMFC/iSC分布式塊存儲---VSANVSAN與其他VMware產品集成部署在一起,主要針對虛擬機應用進行了優化,聚合了虛擬化管理程序的體系結構,按虛擬機設置的存儲策略進行管理。要合理搭配服務器內存和硬盤占比,以最大化利用存儲資源和計算資源。分布式塊存儲---VSANVSAN與其他VMware產品基于服務器的分布式文件存儲——存儲空間使用存儲空間:將任何類型和大小的物理磁盤添加到存儲池從池中創建高可用性虛擬磁盤要創建虛擬磁盤,您需要:一個或多個物理磁盤包含磁盤的存儲池虛擬磁盤(或存儲空間)
使用磁盤創建的
存儲池基于的磁盤驅動器
虛擬驅動器DiskdrivePhysicaldisksStoragepoolVirtualdisk基于服務器的分布式文件存儲——存儲空間使用存儲空間:Disk存儲空間的組件和功能特征選項存儲布局簡單雙向或三向鏡像校驗磁盤扇區大小512或512e4KB驅動器分配數據存儲手動熱備用配置方案精簡配置空間固定配置空間條帶參數列交錯在您的環境中最佳地使用存儲空間的功能存儲空間的組件和功能特征選項存儲布局簡單磁盤扇區大小512或存儲空間使用場景存儲空間功能:實施和輕松管理可擴展,可靠和廉價的存儲使用具有或不具有外部存儲的廉價存儲將多個驅動器合并到存儲池中,管理員可以將其作為單個實體進行管理在同一池中實施不同類型的存儲根據需要增加存儲池根據需要從現有存儲池中調配存儲將特定驅動器指定為熱備用存儲空間使用場景存儲空間功能:…FibreChannel/(iSCSI)協議層存儲層…NFS/CIFS…FileSystemObjectObjectSystemObjectKeyMetadatadataUserdefinedmeta-dataS3/SwiftObjectObjectObjectObject主要協議:FC,iSCSI應用場景:結構化,數據庫應用,低延時,高性能,如Oracle主要協議:NFS,CIFS應用場景:非結構化,文件共享的服務主要協議:S3,Swift,RESTful/soap
應用場景:對象數據,互聯網服務存儲,數據歸檔或備份iSCSI/FCSANNASObjectbucketbucketbucket對象存儲——SAN、NAS和Object的對比說明:近年出現分布式架構,主要以傳統架構為主說明:逐漸演進到分布式架構,也支持傳統架構說明:從出現開始就是分布式架構,集中式架構極少…FibreChannel/(iSCSI)協議層存儲層…N對象存儲使用場景業務場景場景詳情醫療影像云1)醫療影像文件較大,且多跨醫院與地域訪問,云存儲可以方便的解決跨醫院訪問的問題。2)醫療影像要求保存10年以上,長期保存在本地的成本高企業網盤1)文件備份2)文件共享云備份icloud、EMUI、公有云1)桶數量2)對象尺寸\帶寬要求\TPS\接口調用時延3)每日讀寫量、刪除量4)單桶對象數5)最大并發數6)上層業務平臺引入評估指標項ObjectKey元數據數據Userdefined元數據metadataObjectObjectObject對象存儲系統業務主機APPeSDK調用本地API直接調用Web服務開發軟件使用工具BucketObjectObjectBucketObjectObject用戶對象存儲使用場景業務場景場景詳情醫療影像云1)醫療影像文件較小總結:不同形態存儲產品對比存儲產品全閃存陣列分布式塊存儲分布式文件存儲對象存儲性能業界最高性能,百萬級IOPS,<1ms時延對位業界中端SAN存儲,性能與中端SAN存儲相仿。IOPS可達10萬級別,時延一般在5ms-40ms之間性能隨節點數增加而線性上漲。對于全對稱式結構分布式,單節點帶寬一般在400MB/s到800MB/s之間,時延在5ms-40ms之間非性能敏感場景下使用,性能一般不重點關注,性能與中端SAN存儲相仿。功能SANSANNAS對象商用情況企業或者機構核心業務、關鍵業務中,其穩定性、性能、對技術的成熟度要求高,例如數據庫應用場景在非關鍵環境中,在建設成本相對有限、數據量較大的條件下使用較多,例如云資源池、虛擬主機、桌面云等等文件存儲場景,在強調系統擴展性及文件系統性能的場景下使用,例如視頻監控、媒體云、大數據分析等場景對外提供對象存儲接口(如S3,OpenstackSwift…),多用于互聯網行業,關注數據共享功能及容量,在云盤類應用使用廣泛。生態鏈兼容性測試已非常充分,所有高端、中端、以及低端的服務器均能支持,所有存儲廠家均有相關產品。主要完成的是Windows,Linux等較低端的服務器的兼容性測試。支持NAS協議,兼容性測試已非常充分,所有高端、中端、以及低端的服務器均能支持。支持對象存儲協議,數據共享性最優,支持公網訪問、跨地域訪問,對主機兼容性無明顯要求價格體系全閃存架構,商務成本最高存儲介質多為全SATA或全NLSAS,關注系統容量,部分產品會考慮到性能而增加少量SSD,商務成本較低。關注系統容量,商務成本根據節點數量增長而線性提升。商務成本最低小總結:不同形態存儲產品對比存儲產品全閃存陣列分布式塊存儲分云原生應用云原生應用內容一覽云原生(CloudNative)概述云原生應用12基本要素解析云原生和容器云原生和DevOps云原生和持續集成云原生和微服務內容一覽云原生(CloudNative)概述CloudNative云原生概念CloudNative云原生概念I.基準代碼一份基準代碼,多份部署II.依賴顯式聲明依賴關系III.配置在環境中存儲配置IV.后端服務把后端服務當作附加資源V.構建,發布,運行嚴格分離構建和運行VI.進程以一個或多個無狀態進程運行應用VII.端口綁定通過端口綁定提供服務VIII.并發通過進程模型進行擴展IX.易處理快速啟動和優雅終止可最大化健壯性X.開發環境與線上環境等價盡可能的保持開發,預發布,線上環境相同XI.日志把日志當作事件流XII.管理進程后臺管理任務當作一次性進程運行12-factors
I.基準代碼一份基準代碼,多份部署12-factors
一份基準代碼(Codebase),多份部署(deploy)基準代碼和應用之間總是保持一一對應的關系:一旦有多個基準代碼,就不能稱為一個應用,而是一個分布式系統。分布式系統中的每一個組件都是一個應用,每一個應用可以分別使用12-Factor進行開發。多個應用共享一份基準代碼是有悖于12-Factor原則的。解決方案是將共享的代碼拆分為獨立的類庫,然后使用
依賴管理
策略去加載它們。基準代碼
一份基準代碼(Codebase),多份部署(deploy)基顯式聲明依賴關系(
dependency
)12-Factor規則下的應用程序不會隱式依賴系統級的類庫。
它一定通過
依賴清單
,確切地聲明所有依賴項。此外,在運行過程中通過
依賴隔離
工具來確保程序不會調用系統中存在但清單中未聲明的依賴項。這一做法會統一應用到生產和開發環境。依賴顯式聲明依賴關系(
dependency
)依賴在環境中存儲配置通常,應用的
配置
在不同
部署
(預發布、生產環境、開發環境等等)間會有很大差異。這其中包括:數據庫,Memcached,以及其他
后端服務
的配置第三方服務的證書,如AmazonS3、Twitter等每份部署特有的配置,如域名等配置
在環境中存儲配置配置
把后端服務(backingservices)當作附加資源后端服務是指程序運行所需要的通過網絡調用的各種服務,如數據庫(MySQL,CouchDB),消息/隊列系統(RabbitMQ,Beanstalkd),SMTP郵件發送服務(Postfix),以及緩存系統(Memcached)。部署可以按需加載或卸載資源。例如,如果應用的數據庫服務由于硬件問題出現異常,管理員可以從最近的備份中恢復一個數據庫,卸載當前的數據庫,然后加載新的數據庫–整個過程都不需要修改代碼。后端服務
把后端服務(backingservices)當作附加資源后以一個或多個無狀態進程運行應用運行環境中,應用程序通常是以一個和多個進程運行的。最簡單的場景中,代碼是一個獨立的腳本,運行環境是開發人員自己的筆記本電腦,進程由一條命令行(例如pythonmy_script.py)。另外一個極端情況是,復雜的應用可能會使用很多進程類型,也就是零個或多個進程實例。12-Factor應用的進程必須無狀態且無共享。任何需要持久化的數據都要存儲在后端服務內,比如數據庫。進程
以一個或多個無狀態進程運行應用進程
通過端口綁定(Portbinding)來提供服務互聯網應用有時會運行于服務器的容器之中。例如PHP經常作為
ApacheHTTPD
的一個模塊來運行,正如Java運行于
Tomcat
。12-Factor應用完全自我加載
而不依賴于任何網絡服務器就可以創建一個面向網絡的服務。互聯網應用
通過端口綁定來提供服務
,并監聽發送至該端口的請求。端口綁定
通過端口綁定(Portbinding)來提供服務端口綁定
通過進程模型進行擴展任何計算機程序,一旦啟動,就會生成一個或多個進程。互聯網應用采用多種進程運行方式。在12-factor應用中,進程是一等公民。12-Factor應用的進程主要借鑒于
unix守護進程模型
。開發人員可以運用這個模型去設計應用架構,將不同的工作分配給不同的
進程類型
。并發
通過進程模型進行擴展并發
快速啟動和優雅終止可最大化健壯性12-Factor應用的
進程
是
易處理(disposable)的,意思是說它們可以瞬間開啟或停止。
這有利于快速、彈性的伸縮應用,迅速部署變化的
代碼
或
配置
,穩健的部署應用。進程應當追求
最小啟動時間
。理想狀態下,進程從敲下命令到真正啟動并等待請求的時間應該只需很短的時間。更少的啟動時間提供了更敏捷的
發布
以及擴展過程,此外還增加了健壯性,因為進程管理器可以在授權情形下容易的將進程搬到新的物理機器上。易處理
快速啟動和優雅終止可最大化健壯性易處理
盡可能的保持開發,預發布,線上環境相同12-Factor應用想要做到
持續部署
就必須縮小本地與線上差異。
開發環境與線上環境等價
盡可能的保持開發,預發布,線上環境相同開發環境與線上環境等價把日志當作事件流日志
使得應用程序運行的動作變得透明。在基于服務器的環境中,日志通常被寫在硬盤的一個文件里,但這只是一種輸出格式。日志應該是
事件流
的匯總,將所有運行中進程和后端服務的輸出流按照時間順序收集起來。盡管在回溯問題時可能需要看很多行,日志最原始的格式確實是一個事件一行。日志沒有確定開始和結束,但隨著應用在運行會持續的增加。12-factor應用本身從不考慮存儲自己的輸出流。
不應該試圖去寫或者管理日志文件。日志
把日志當作事件流日志
后臺管理任務當作一次性進程運行進程構成(processformation)是指用來處理應用的常規業務(比如處理web請求)的一組進程。與此不同,開發人員經常希望執行一些管理或維護應用的一次性任務。一次性管理進程應該和正常的
常駐進程
使用同樣的環境。這些管理進程和任何其他的進程一樣使用相同的
代碼
和
配置
,基于某個
發布版本
運行。后臺管理代碼應該隨其他應用程序代碼一起發布,從而避免同步問題。12-factor尤其青睞那些提供了REPLshell的語言,因為那會讓運行一次性腳本變得簡單。管理進程
后臺管理任務當作一次性進程運行管理進程
微服務架構微服務架構微服務架構(Cont.)“Anyorganizationthatdesignsasystem(definedbroadly)willproduceadesignwhosestructureisacopyoftheorganization'scommunicationstructure.”--MelvynConway,1967“任何設計系統的組織(廣義定義)都將產生一個設計,其結構是該組織的溝通結構的副本。”-MelvynConway,1967磐石微服務微服務架構(Cont.)“Anyorganization單體應用程序實現方式單體應用程序實現方式微服務架構微服務架構應用程序開發方法的比較應用程序開發方法的比較應用程序樣式之間的狀態存儲比較應用程序樣式之間的狀態存儲比較微服務平臺微服務平臺針對特定問題封裝的解決方案由小型工程團隊開發。使用任何編程語言編寫并使用任何框架。由獨立控制版本、部署及縮放的代碼和(可選)狀態組成。通過定義完善的接口和協議來與其他微服務交互。具有用來解析位置的唯一名稱(URL)。在出現故障時可保持一致且可用微服務特點微服務應用程序由獨立控制版本和可縮放的、以客戶為中心的服務組成,這些服務通過標準協議和定義完善的接口彼此通信。針對特定問題封裝的解決方案微服務特點微服務應用程序由獨立控制SOA和
微服務SOA服務是大型整體的接口編排(Orchestration)通常是必需的,并且傾向于包含業務邏輯跨越企業Microservices服務單獨開發和部署不需要集成技術,邏輯就在于微服務可以限于個別項目SOA和微服務SOAMicroservicesDevOps–推動商業價值通過以下若干方面的改進,組織實現了20%的改善上市時間配置規劃OPS創建校驗打包發布監控DEVSource:GlobalStudybyCATechnologies軟件質量部署頻率收入增加客戶關系的建立和保持DevOps–推動商業價值通過以下若干方面的改進,組織實一個IT系統應該包含如下幾個層次:應用程序運行時平臺(bin/framework/lib)操作系統硬件(基礎設施)開發人員的主要工作是應用程序的編碼、構建、測試和發布,涉及應用程序和運行時平臺這兩層。運維人員的工作則涉及從硬件、操作系統到運行時平臺的安裝、配置、運行監控、升級和優化等工作。Docker提供了一種運行時環境,隔離了上層應用于下層操作系統和硬件的關聯,使得術業有專攻。DevOps實現開發和運維的有效隔離一個IT系統應該包含如下幾個層次:DevOps實現開發和運維CI/CD|主題思想代碼零庫存-代碼直接變產品持續-不間斷細顆粒度-切分任務高頻次-縮短每次迭代的間隔自動化-替代重復勞動用小步快跑的方式降低變更帶來的風險,此外疊加自動化提升效率和質量CI/CD|主題思想代碼零庫存-代碼直接變產品CI/CD|基本概念持續(Continuous):不斷地獲取反饋,響應反饋集成(Integration):編譯,測試,打包發布(Release):具有業務影響力的功能變化對最終用戶可見稱之為發布交付(Delivery):可以理解為從Deployment到release之間的階段,更多的強調是一種能力。開發有能力頻繁地部署,運維有能力隨時發布部署(Deployment):應用組件或者基本設施的代碼或配置變更在產品環境中稱之為部署CI/CD|基本概念持續(Continuous):不斷地源代碼庫:SourceRepository持續集成服務器:CIServer單元測試:UnitTestCheck-in:開發人員實踐持續集成的動作持續集成—持續地做集成和集成結果的修正源代碼庫:SourceRepository持續集成—持續地部署流水線:DeploymentPipelineContinuouslyLearning性能測試功能測試持續交付—持續地完成小顆粒,高頻次的交付部署流水線:DeploymentPipeline持續交付—所有階段的測試都完成之后,自動地將代碼發布到生產環境需要以整體業務為著眼點,確定部署時機和節奏持續部署—持續地將需求部署到目標環境上所有階段的測試都完成之后,自動地將代碼發布到生產環境持續部署容器化的工作流管道
…………………ContainerServiceServiceFabricAppServicesFutureServices…Build/CI,Integrate,TestPushCodeProductionenvironmentsRun,ManageCodeRunValidateDebugCD,DeployVisualStudioTeamServicesSourceCodeControl(SCC)ContainerRegistryAzure容器化的工作流管道
…ContainerSer定義團隊文化和溝通方式,使開發和運維的合作更加流暢高效自主的多技能團隊共同的目標高水平的測試和發布自動化CI/CD和DevOps定義團隊文化和溝通方式,使開發和運維的合作更加流暢高效CI/容器技術的基本實現:Docker容器技術的基本實現:Docker內容一覽
容器WhyWhatHow?了解Docker基礎知識(DockerEngineandClient)運行和管理容器容器映像和Docker注冊表如何使用Dockerfile構建容器映像使用DockerCompose構建多容器應用容器的數據卷Docker網絡限制容器的資源使用量Docker
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年醫藥企業研發外包(CRO)模式下的藥物研發合作與協同創新報告
- 工業互聯網平臺量子密鑰分發技術政策法規解讀報告001
- 沉浸式戲劇市場推廣模式2025年創新策略研究報告001
- 2025年醫藥流通企業供應鏈優化與成本控制策略深度解析報告
- 3D打印技術在制造業大規模生產中的應用前景與挑戰研究報告
- 快時尚品牌在時尚零售行業模式變革中的產品創新路徑報告
- 爆破安全試題及答案
- 2025屆浙江省湖州市名校英語七下期末達標檢測試題含答案
- 廣東省廣州黃埔區五校聯考2025屆八下英語期中綜合測試模擬試題含答案
- 安全知識試題六及答案
- 軟件定義網絡SDN
- 血糖管理課件
- 2024年浙江省普通高中學業水平適應性考試歷史試題(解析版)
- 410th循環流化床鍋爐本體化學清洗方案(HCL)
- DB34∕T 1555-2011 存量房交易計稅價格評估技術規范
- 青少年無人機課程:第一課-馬上起飛
- 桂科版八年級下冊信息技術 1.1規劃網站 教學設計
- 民辦學校托管合同范本
- 風扇合同范本
- GB/T 44325-2024工業循環冷卻水零排污技術規范
- 2024中國城市道路交叉口效能報告
評論
0/150
提交評論