Cloud Foundry介紹
Cloud Foundry介紹
1??????概述
本文介紹了Cloud Foundry及其工作原理。
云平臺讓任何人在幾分鐘內就可以部署網絡應用或服務,并讓它們向世界開放,當一個應用變得流行起來時,云就可以輕松地擴展它來處理更多的流量。用幾個按鍵代替幾個月的構建和遷移,云平臺代表了IT演進的下一步,讓你專注于自己的應用和數據,而不擔心底層的基礎設施。
并不是所有的云平臺都是一樣的,有些語言和框架支持有限,缺少關鍵的應用服務,或者限制部署到一個云上,Cloud Foundry成了業界的標準,它是一個開源的平臺,可以在自己的計算基礎設施上運行應用?;蛘卟渴鹪贗aaS上,如vSphere、AWS、Au r e、GCP、OpenStack等,也可以使用商用Cloud Foundry云提供商部署的PaaS。一個廣泛的社區對云基礎的貢獻和支持,平臺的開放性和可擴展性使其用戶不會被鎖定在一個單一的框架、一套應用服務或云中。
Cloud Foundry可以消除成本和復雜性的配置基礎設施,為應用程序開發人員可以部署他們的應用程序到Cloud Foundry使用他們現有的工具和零修改他們的代碼。
相關鏈接:
Cloud Foundry project on GitHub
Cloud Foundry Certified Platforms
Welcome to the Cloud Foundry Community
2??????Cloud Foundry如何運作
為了靈活地服務和規模應用在線,Cloud Foundry有各子系統進行專門的功能。下面的章節描述了這些主要子系統的工作方式。
邏輯架構:
2.1??????Cloud Foundry如何平衡負載
介紹如何處理負載均衡。
云將它們的處理負載平衡在多臺機器上,以優化效率和抗點故障的彈性。Cloud Foundry使用下列組件完成這項工作:
l??BOSH:在物理計算基礎設施之上創建和部署虛擬機,并在云上部署和運行Cloud Foundry。BOSH documentation.
l??Cloud Controller:運行云上虛擬機上的應用和其他進程,均衡需求,管理應用生命周期。Cloud Controller.
l??Gorouter:將來自世界的流入的流量路由到運行流量所需的應用程序的虛擬機上,通常與客戶提供的負載均衡器一起工作。Gorouter.
2.2??????應用如何在任何地方運行
本節介紹在Cloud Foundry中運行您的應用程序的虛擬機,以及平臺如何將您的應用程序打包到這些虛擬機上運行。
Cloud Foundry中的 虛擬機:
Cloud Foundry定義了以下類型的虛擬機:
·?????????組件虛擬機(Components VMs):搭建平臺基礎設施。
·?????????主機虛擬機(Host VMs):將您的應用托管到外部世界。
在Cloud Foundry中,Diego系統將托管的應用程序負載分發到所有主機虛擬機上,并通過需求浪涌、中斷或其他變化來保持它的運行和平衡。迭戈通過拍賣算法實現了這一點。
有關更多信息,請參見Diego架構。
2.3??????Cloud Foundry如何分發應用
為了滿足需求,多個主機虛擬機運行同一個應用的重復實例,這意味著應用必須是可移植的,Cloud Foundry將應用源碼分發到虛擬機上,所有虛擬機需要編譯和運行的應用都在本地。
Cloud Foundry包括以下與您的應用程序的源代碼:
l??Stack:應用運行的操作系統。
l??BuildPack:包含應用程序使用的所有語言、庫和服務。
在向虛擬機發送應用程序之前,Cloud Controller將堆棧、構建包和源代碼合并為一個droplet,虛擬機可以進行解包、編譯和運行。對于簡單的、沒有動態指針的獨立應用程序,該droplet可以包含一個預編譯的可執行文件,而不是源代碼,語言和Libraries。
有關更多信息,請參見以下主題:
Changing Stacks
Buildpacks
How Apps Are Staged
·
2.4??????Cloud Foundry者如何組織用戶和工作空間
介紹Cloud Foundry中的認證。
Cloud Foundation通過兩臺用戶認證和授權(UAA)服務器管理用戶賬號,該服務器支持作為OAuth2服務的訪問控制,可以內部存儲用戶信息,也可以通過LDAP或SAML連接外部用戶存儲。
有關詳細信息,用戶帳戶和身份驗證(UAA)服務器。
兩臺UAA服務器的主要作用如下:
服務器
目的
第一臺UAA服務器
·?????????授予BOSH訪問權限
·?????????為Cloud Foundry運營商提供賬戶,這些運營商直接將運行時間、服務和其他軟件部署到BOSH層。
第二臺UAA服務器
·?????????控制對云控制器的訪問
·?????????定義用戶角色,如管理員、開發人員或審計員,并授予它們不同的權限來運行Cloud Foundry命令
·?????????作用域在安裝中分離、分隔的組織和空間的角色,以管理和跟蹤使用
2.5??????Cloud Foundry如何存儲資源
介紹Cloud Foundry資源的存儲方式。
Cloud Foundry使用了github?系統版本控制源代碼、構建包、文檔和其他資源系統,平臺開發人員也使用GitHub作為自己的應用、自定義配置和其他資源,用于存儲大的二進制文件。Cloud Foundry維護一個內部或外部的broadcast,Cloud Foundry使用MySQL存儲和共享臨時信息,如內部組件狀態。
2.6??????Cloud Foundry組件如何通信
介紹Cloud Foundry組件之間的通信方式。
Cloud Foundry組件通過兩的方式進行通信,主要有以下幾種方式:
l??通過HTTP和HTTPS協議內部發送消息
l??直接向對方發送NATS消息
有關詳細信息,請參閱消息(NATS)。
BOSH Director在每個部署的虛擬機上共同定位一個BOSH的DNS服務器。所有虛擬機都為同一個基礎上的所有其他虛擬機保留最新的DNS記錄。這樣就可以在虛擬機之間發現服務。
BOSH DNS支持在虛擬機的IP地址發生變化的情況下,繼續與虛擬機進行通信,同時提供客戶端負載均衡功能,在有多個虛擬機的情況下,隨機選擇一個健康的虛擬機。
2.7??????如何監控和分析Cloud Foundry部署
本節主要介紹Cloud Foundry中的日志記錄。
Cloud Foundry從Cloud Foundry組件中生成系統日志,從托管應用中生成應用日志。
隨著Cloud Foundry機的運行,其組件和主機虛擬機產生日志和計量。Cloud Foundry應用程序也通常生成日志。對數系統將組件度量和應用程序日志聚合成一個結構化、可用的形式,即可使用的所有輸出,或直接將輸出指向特定用途。例如監控系統內部,觸發警報,或分析用戶行為,通過使用nozzles。
有關詳細信息,Loggregator架構。
組件日志遵循不同的路徑。它們從Syslog代理流中流,云操作員可以將它們配置為向syslog drain。
3??????使用Cloud Foundry業務
本節介紹如何在Cloud Foundry上使用您的應用服務。
典型應用依賴于免費或計量的服務,如數據庫或第三方API等,為了將這些應用集成到應用中,開發者編寫服務代理,向云控制器發布API,提供服務商品列表、服務開通、應用調用等功能。
有關更多信息,請參見服務。
軟件開發云
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。