開源微服務管理趨勢徹底改變了軟體交付

danny_2018發表於2018-08-31

在後容器世界中,將應用程式從資料中心移動到雲是遠遠不夠的。開發人員需要一種新的軟體交付方法——理想情況下,這種方法基於微服務模型。
如果你是使用單體架構的企業,微服務的採用可能會對你的團隊造成一些焦慮。畢竟,沒有一個地方可以找到管理今天的雲原生應用程式所帶來的所有挑戰的答案,而且沒有一個供應商擁有所有答案。
幸運的是,開源社群可以提供一些幫助。開源軟體的趨勢指向了一個採用完全不同的應用程式管理方法的未來。如果你願意深入研究並投資當今領先的開源微服務專案,則可以找到管理雲中現代微服務應用程式所需的一切。

頂級供應商加倍下注開源

直到十年前,開源還是試驗愛好者的領域,主要由開發人員和學生使用。企業避免使用開源,轉而使用微軟、甲骨文和IBM等公司的商業產品。
雲端計算、容器和微服務的出現改變了這一切。GitHub讓我們可以輕鬆地將程式碼儲存在雲中並與任何人共享。它包含來自幾乎所有大型組織的開源專案。微軟是GitHub上專案的最大貢獻者——儘管它收購GitHub時很多人感到驚訝,因為它以前與開原始碼和社群的對抗關係。微軟現在接受開源,並將其視為Azure平臺的未來之路。
現在,許多創業公司都有很棒的開源專案。從這個意義上講,CoreOS是一個成功的故事。該公司建立了數個有影響力的開源專案,如etcd、rkt和flannel。 紅帽今年早些時候以2.5億美元收購了CoreOS,以支援其OpenShift雲平臺。

開源工具源於公司的實際需求

幾乎所有透過網路和移動應用程式提供服務的現代組織現在都嚴重依賴開源。在Netflix、Spotify、Uber和Airbnb的工程部落格中,有很多提到他們自己建立的開源專案以及他們只是從社群中拿來使用的其他專案。開源現在是現代應用程式堆疊的生命線,以下是一些經過驗證的示例:
——Asgard:Netflix建立了Asgard,以在AWS中實現其基礎設施自動化。開源Asgard導致了一個名為Spinnaker的類似工具,不僅適用於AWS,也適用於其他雲平臺。

——Prometheus:SoundCloud需要監控其雲指標,就有了Prometheus,這是當今領先的開源監控工具。

——Istio:Lyft、IBM和谷歌合作建立了針對Kubernetes的服務網格Istio。它源於管理這些公司運營的複雜服務網路之間的通訊的需要。

——gRPC:谷歌使用內部稱為Stubby的工具來管理遠端過程呼叫(RPC)。這有助於跨分散式服務的負載均衡需求。谷歌將Stubby釋出到開源社群並將其重新命名為gRPC。現在,gRPC是一個用於管理負載均衡的著名開源微服務工具。

CNCF強化了開源工具

gRPC負載均衡管理器作為開源微服務管理工具是成功的,但Kubernetes才是谷歌真正的重磅開源專案。Kubernetes是一個容器編排工具,被全行業採用。雲供應商已經開始提供Kubernetes管理服務。

但是Kubernetes並不能滿足與容器編排相關的所有需求。相反,它是構建自定義雲管理平臺的起點。Kubernetes的開放式架構需要進一步擴充套件。
CNCF採用並監督許多開源專案的開發和發展方向,擴充套件了Kubernetes以及其他專案,並將其包圍在一個生態系統中。此治理系統的目標是幫助防止供應商鎖定並確保標準滿足每個人的需求。

執行程式碼是未來(而不是容器)

現在Kubernetes的主要任務是執行和管理容器。但是,在未來,Kubernetes應該達到這樣的成熟水平——可以自動化從Git或等效儲存庫執行程式碼的能力。

此外,無伺服器(每次執行付費模式)和容器管理選項的融合即將出現。今天,這出現在AWS Lambda和AWS Fargate等服務中,但最終它應該擴充套件到更多服務。從DevOps轉變為GitOps,即開發人員編寫程式碼而程式碼自動執行。
開源微服務工具可幫助執行和監督雲原生環境中的微服務。開源趨勢還指向這樣一個未來——程式碼佔據中心位置,執行程式碼的基礎設施比以往更加自動化和簡單。

原文連結:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31547898/viewspace-2213338/,如需轉載,請註明出處,否則將追究法律責任。

相關文章