摘要:可更新云原生應用程序始終是的,云原生應用始終可用。彈性云原生應用程序通過在峰值期間增加的資源來利用云的彈性。多租戶云原生應用程序在虛擬化環境中工作,并與其他應用程序共享資源沒有問題。云原生應用程序更加模塊化,許多功能分解為微服務。
“云原生”這個詞被大量引用,尤其是云服務商。不僅如此,云原生甚至還有自己的基金會:由Linux基金會于2015年推出的云原生應用基金會(CNCF)。
“云原生”定義
在一般用法中,“云原生”是一種構建和運行應用程序的方法,它利用了云計算交付模型的優勢?!霸圃笔顷P于如何創建和部署應用程序,和位置無關。 這意味著應用程序位于云中,而不是傳統數據中心。
CNCF將“云原生”定義的更為狹窄,意味著使用開源軟件堆棧進行容器化,其中應用程序的每個部分都打包在自己的容器中,動態編排,以便每個部分都被主動調度和管理,以優化資源利用率和面向微服務的應用程序,以提高應用程序的整體靈活性和可維護性。
咨詢公司Deloitte的董事總經理Mike Kavis說:“云原生應用程序專門設計用于運行現代云計算平臺所需的彈性和分布式特性。” “這些應用程序松散耦合,意味著代碼不會硬連接到任何基礎架構組件,因此應用程序可以按需伸縮,并采用不可變基礎架構的抽象。通常,這些架構是使用微服務構建的,但這不是強制性要求?!?/p>
云服務提供商Splunk的首席技術支持者Andi Mann表示,對于云原生應用程序而言,較大的不同之處在于應用程序的構建,交付和運維方式?!袄迷品找馕吨褂妹艚莺涂蓴U展的組件(如容器)來提供離散和可重用的功能,這些功能以良好描述的方式集成,甚至跨越多云等技術邊界,這使得交付團隊可以使用可重復的自動化和編排來快速迭代。”
云原生應用程序開發通常包括DevOps,敏捷方法,微服務,云平臺,Kubernetes和Docker等容器,以及持續交付,簡而言之,每種新的和現代的應用程序部署方法。
因此,你確實希望擁有平臺即服務(PaaS)模型。PaaS不是必需的,但它使事情變得更容易。絕大多數云客戶從基礎架構即服務(IaaS)開始,這有助于從底層硬件中抽象出他們的應用程序。但PaaS增加了一個額外的層來抽象底層操作系統,因此你可以完全專注于應用程序的業務邏輯,而不必擔心進行操作系統調用。
云原生和本地部署應用程序之間的差異
云原生應用程序開發采用與傳統企業應用程序完全不同的體系結構。
編程語言
編寫在公司服務器上運行的本地部署應用程序往往使用傳統語言編寫,如C/C ++,C#或其他Visual Studio語言(如果部署在Windows Server平臺上)和企業級Java。如果它在大型機上,可能使用Cobol。
云原生應用更有可能以網絡為中心的語言編寫,這意味著使用HTML,CSS,Java,JavaScript,.Net,Go,Node.js,PHP,Python和Ruby。
可更新
云原生應用程序始終是的,云原生應用始終可用。
本地部署應用程序需要更新,并且通常由供應商按訂閱提供,并且在安裝更新時需要停機。
彈性
云原生應用程序通過在峰值期間增加的資源來利用云的彈性。如果你的基于云的電子商務應用程序使用頻繁,你可以將其設置為使用額外的計算資源,直到峰值消退然后關閉這些資源。云原生應用可以根據需要調整增加資源和規模。
本地部署應用程序無法動態擴展。
多租戶
云原生應用程序在虛擬化環境中工作,并與其他應用程序共享資源沒有問題。
許多本地部署應用程序要么在虛擬環境中不能正常工作,要么根本不工作,必須要非虛擬化環境。
連接資源
本地部署應用程序與網絡資源的連接相當嚴格,例如網絡,安全性,權限和存儲。其中許多資源需要進行硬編碼,如果移動或更改了任何內容,它們就會中斷。
“網絡和存儲在云端完全不同。當你聽到“重新平臺化”一詞時,通常是為了適應網絡,存儲甚至數據庫技術的變化,以允許應用程序在云中運行,“Deloitte的Kavis說。
停止時間
云中存在比本地部署更大的冗余,因此如果云供應商遭受中斷,則另一個冗余區域可以消除中斷。
本地部署應用程序可能已準備好故障轉移,但如果服務器出現故障,應用程序可能會崩潰。
自動化
云計算的大部分都是自動化的,其中包括應用程序管理。 “云原生交付的好處,特別是速度和敏捷性,依賴于可靠,經過驗證和經過審核的已知良好流程的基礎,這些流程根據自動化和編排工具的需要而不是通過人工干預重復執行,”Splunk的Mann說。工程師應該考慮自動化是不止一次做的任何事情,以實現可重復性,自助服務,敏捷性,可擴展性以及審計和控制。
本地部署應用程序必須手動管理。
模塊化設計
本地部署應用程序往往在設計上是單一的。他們肯定會將一些工作卸載到庫中,但最終它是一個包含大量子程序的大應用程序。云原生應用程序更加模塊化,許多功能分解為微服務。這允許在不需要時關閉它們,并將更新推廣到那個模塊,而不是整個應用程序。
無狀態
云的松耦合特性意味著應用程序與基礎架構無關,這意味著它們是無狀態的。云原生應用程序將其狀態存儲在數據庫或其他外部實體中,因此實例可以來去,應用程序仍然可以跟蹤應用程序在工作單元中的位置。 “這是松耦合的本質。不依賴于基礎架構允許和應用程序以高度分布的方式運行,并且仍然保持其狀態獨立于底層基礎架構的彈性性質,“Kavis說。
大多數本地部署應用程序都是有狀態的,這意味著它們會在運行代碼的基礎架構上存儲應用程序的狀態。因此,在添加服務器資源時可能會破壞應用程序。
云原生的挑戰
Mann說,客戶犯下的一個重大錯誤就是試圖將舊的本地部署應用程序直接并遷移到云端。 “試圖利用現有的應用程序,特別是單一的遺留應用程序 ,并將它們轉移到云基礎架構上將無法利用必要的云原生功能?!?/p>
相反,你應該以新的方式開展新事物,或者將新的云原生應用程序放入新的云基礎架構中,或者通過拆分現有的單塊應用來從頭開始使用云原生原則重構它們。(譯者注:這個觀點可能有點,遷移到云,至少可以先開始利用云的一些優勢,至少能提高資源利用率。對許多組織來說,重構應用程序也基本是不可能的。)
你還需要放棄舊的開發方法。瀑布模型當然不會再用,甚至敏捷開發可能還不夠。因此,你必須采用新的云原生方法,如最小可行產品(MVP)開發,多變量測試,快速迭代,以及在DevOps模型中跨組織邊界密切合作。
云原生有很多方面,包括基礎架構服務,自動化/編排,虛擬化和容器化,微服務架構和可觀察性。所有這些都意味著一種新的做事方式,這意味著在學習新方法時打破舊習慣。請以以有節奏的速度做到這一點。
原文鏈接
https://www.infoworld.com/article/3281046/cloud-computing/what-is-cloud-native-the-modern-way-to-develop-software.html
譯者 肖力?
新鈦云服技術副總裁,十九年運維經驗,曾就職盛大、金山。豐富的私有云和運維管理經驗,是國內虛擬化實踐先驅者和業內知名的虛擬化專家,主導參與G云、西山居以及多個私有云/專享云的建設運維。開源云聯盟WG5工作組組長。云技術社區創始人,《深度實踐KVM》等書作者。
聲明:文章收集于網絡,如有侵權,請聯系小編及時處理,謝謝!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/4883.html
摘要:在本次上,京東云將在大會上為對云原生感興趣的研發和運維人員帶來利用延遲加載快速啟動容器的話題分享。今天聊的主角云原生也是一樣。 showImg(https://segmentfault.com/img/bVbtNqp?w=688&h=113); showImg(https://segmentfault.com/img/bVbtQaR?w=684&h=327); showImg(http...
摘要:在本次上,京東云將在大會上為對云原生感興趣的研發和運維人員帶來利用延遲加載快速啟動容器的話題分享。今天聊的主角云原生也是一樣。 showImg(https://segmentfault.com/img/bVbtNqp?w=688&h=113); showImg(https://segmentfault.com/img/bVbtQaR?w=684&h=327); showImg(http...
摘要:全球最大的開源基金會軟件基金會的董事甚至認為,云原生邊緣計算意味著嵌入式計算的終結。這次我們不妨更加透徹的談談,云原生邊緣計算和嵌入式計算,將如何融合相互借勢。云原生應用,即指專門為在云平臺部署和運行而設計的應用。這是我在【物女心經】專欄寫的第105篇文章。嵌入式計算已經笑傲江湖多年,然而,最近它的地位似乎正在受到某種撼動。全球最大的開源基金會——Apache軟件基金會的董事Roman Sh...
閱讀 3884·2021-11-17 09:33
閱讀 1195·2021-10-09 09:44
閱讀 399·2019-08-30 13:59
閱讀 3477·2019-08-30 11:26
閱讀 2177·2019-08-29 16:56
閱讀 2848·2019-08-29 14:22
閱讀 3150·2019-08-29 12:11
閱讀 1266·2019-08-29 10:58