Pivotal Cloud Foundry 支持 Docker/Netflix OSS 服務
今天,Pivotal 發布了 Pivotal Cloud Foundry(PCF)的升級,PCF是非常流行的用于構建、部署和運行Cloud-native應用的開源平臺 Cloud Foundry 的商業版本。此次1.6版本的發布,給了開發者可以原生訪問Spring云平臺的Netflix OSS服務的子集、內置.Net應用的支持、對Docker鏡像的內測支持、以及集成ALM工具到源碼控制和持續集成。InfoQ和Pivotal云平臺的總經理兼副總裁James Watters進行了交流,以了解更多的內幕。
開源項目Cloud Foundry-過去稱之為平臺即服務(PaaS),但是現在更加的傾向于cloud-native平臺--包括了應用程序在運行時的自我修復、支持更多的開源編程語言和開發框架、部署工具、集中的日志、健康監控、以及應用服務框架等等。Pivotal在2013整合后發布了其第一個商業版的Cloud Foundry。它提供“企業級”的特性,如基于web的管理界面、可以安裝到各種流行的基礎設施中的軟件包、應用服務市場、以及專業的支持。 Watters告訴InfoQ,PCF的第一個版本僅能在vSphere環境中運行,但隨后的1.x版本就對多個云平臺做了支持。PCF現在可以原生的運行在vSphere、OpenStack、AWS、以及CenturyLink等云平臺中。此次1.6版本還增加了對微軟Azure的支持。
據Watters透露,新版本的PCF聚焦于技術組織來寫12-factor或者cloud-native的應用。Pivotal過去在Java上做了很多的創新,尤其是Spring框架。Netflix是構建彈性cloud-native應用的典范,而且和Pivotal進行合作添加了很多開源的Netflix服務的支持到項目中,而這個項目就是Spring Cloud。基于對Spring Boot的支持,(現在叫Spring云服務),Watters稱PCF是“運行cloud-native的應用是可選的,不行就創建它們”。PCF所提供的Spring云驅動的服務有:
-
配置服務。Cloud Foundry提供基本的輕量級的環境變量來存儲共享的配置,但是配置服務可以做的更多,它是基于Git的服務,這就意味著可以跨開發/測試/生產環境中使用,而且可無縫集成到Spring的應用中。
-
服務注冊 。基于Netflix的Eureka項目。它為運行在PCF的Spring應用提供了自動發現功能。開發者再也不用硬編碼來處理依賴服務了,開發者可以在運行時使用服務發現來注冊和定位服務。
-
斷點儀表。彈性的分布式系統可防止連鎖的失效。來自Netflix開源軟件的Hystrix就是此斷點模式的實際實現。PCF的用戶可以用此來應對Spring云服務的失效情況,且可提供失效切換直到有問題的服務恢復正常。
Pivotal在PCF中還對基于Windows的.NET應用提供了官方的支持,Pivotal發行注記中稱:
由于在這個最新的版本中采用了新一代的運行時交付,使得.NET應用程序現在可以運行在Pivotal Cloud Foundry中了。基于這個為.NET所擴展的支持,企業可以得到由基于Linux和Windows應用的所組成的異質環境的支持。.NET的應用會以原生的姿態運行在Windows Server 2012 R2 Hyper-V的虛擬機中,且PCF可以使用相同的命令來管理這些應用,還有像已有的應用那樣活的相同一致的Day 2運維好處。
Watters說道,從用戶的角度來看,.NET的應用在PCF中受到一流的待遇,像其它所有支持的語言和框架一樣都能夠做到本地服務發現、健康管理、伸縮、以及開發工具的支持。然而,Spring 云服務不能夠支持.NET的應用,還有運維人員也不能使用發布管理工具BOSH來部署需要的Windows Server 2012 主機服務器。Watters表示,這些差別很快就會被彌補。
Docker 在現代的平臺和維服務討論中絕對是占主導地位的。Pivotal通過為PCF增加(測試)運行Docker容器的支持來加入這個陣營,Pivotal描述了它是如何工作的基本原理。
Docker的應用現在可以使用Pivotal Cloud Foundry平臺的功能了,諸如調度、健康管理、負載均衡、企業身份、日志、以及多個云平臺的支持等。現在仍處于測試階段,原生Docker鏡像的支持使新的運行時彈性成為可能,且讓Pivotal Cloud Foundry能夠在今天的市場中利用容器管理系統的優點。用戶可以在Pivotal Cloud Foundry中部署應用時使用來自公網的擁有安全的注冊處的Docker鏡像,比如Docker Hub。
Watters告訴InfoQ,當開發者向PCF推送一個應用時,他們是可以使用注冊處位置的鏈接的,從而下載Docker鏡像然后將之部署到平臺中的。然而,Watters澄清說,“支持Docker”并不是意味著開發者可以隨意的拉下任意的Docker鏡像、有狀態、以及其它的支持如啟動它們、擁有Docker的編排和管理。舉例來說,是不可以部署官方的Cassandra Docker鏡像的,也無法做到開發者綁定的應用作為一個服務拋給PCF。相反,Pivotal可以接受開發者在他們自己的持續集成環境中所構建的Docker鏡像,PCF所支持的Docker能滿足特定的某些場景。相對于成為一個通用的Docker編排引擎,它提供了一個部署代碼用的備用機制。
Pivotal還在PCF中增加了內置的應用程序生命周期管理工具的支持。具體來說,Pivotal和一些老牌的持續集成/開發廠商進行合作,將這些交給最擅長的公司去做。
建立在流行的軟件項目管理工具-Pivotal Tracker,用戶可以集成Gitlab源代碼核心倉庫、CloudBee Jenkins持續集成、以及JFrog Artifactory二進制artifact管理使之可管理的平臺版本。通過提供現代應用交付工具鏈的構建塊,Pivotal鼓勵軟件企業要充滿信心并加速構建和部署微服務和原生云應用。
Github是很多開源項目重要的歸屬地,但是其本身并不是開源的。Pivotal新的合作伙伴Gitlab給Watters帶來很多驚喜,其強大的開源軟件軟代碼控制服務能夠接受pull request,從而獲得新的特性。
誰是Pivotal視為最強大的競爭對手?據Watters透露,還是AWS。云的用戶經常認為使用AWS就足矣,甚至都到了非亞馬遜就沒有原生云應用這么一說。但是,Watters說,“人們要想成功,就不能光是考慮亞馬遜”。Watters認為Pivotal一些最優質的客戶第一次自己嘗試創建平臺,隨后就會問出“為我的組織做些什么正確的事情?”
轉載自 infoq.com/cn