📋 個人簡介
-
💖 作者簡介:大家好,我是阿牛😜
-
📝 個人主頁:館主阿牛🔥
-
🎉 支持我:點贊👍+收藏??+留言📝
-
💬格言:迄今所有人生都大寫著失敗,但不妨礙我繼續向前!🔥
前言
最近老是看到云原生這個概念,閑暇之余也去了解了一下!看了很多文章,對云原生的解釋總是迷迷糊糊,看完云里霧里,經過博主的大量查閱,用我的理解總結一下。
云原生的概念
云原生(Cloud Native)是一個組合詞。我們把它拆分為云和原生兩個詞來看。
“云”即在線網絡,我們都知道傳統的應用都跑在本地服務器上,而本地部署的傳統應用可能需要停機更新,且無法動態擴展等,而‘云’表示應用程序運行在分布式的云環境中,支持頻繁變更,持續交付。
‘原生’表示應用程序在設計之初就考慮到了云平臺的彈性和分布式特性,就是為云設計的。
那么隨著云原生的技術的不斷發展,他的定義也在不斷地迭代和更新,不同的社區和公司對云原生有著不同的理解和定義,感興趣的可以去看一下云原生的發展歷程。
云原生的四大要點
可以簡單地把云原生理解為:云原生 = 微服務 + DevOps + 持續交付 + 容器化
微服務
微服務就是一種軟件架構,使用微服務架構可以將一個大型的應用程序按照功能模塊拆分成多個獨立自治的微服務,每個微服務僅僅實現一種功能,具有很明確的邊界。
使用微服務架構能夠為我們帶來如下好處:
1)服務的獨立部署。
每個服務都是一個獨立的項目,可以獨立部署,不依賴于其他服務,耦合性低。
2)服務的快速啟動。
拆分之后服務啟動的速度要比拆分之前快很多,因為依賴的庫少了,代碼量也少了。
3)更加適合敏捷開發。
敏捷開發以用戶的需求進化為核心,采用迭代、循序漸進的方法進行。服務拆分可以快速發布新版本,修改哪個服務只需要發布對應的服務即可,不用整體重新發布。
4)職責專一,由專門的團隊負責專門的服務。
業務發展迅速時,研發人員也會越來越多,每個團隊可以負責對應的業務線,服務的拆分有利于團隊之間的分工。
5)服務可以動態按需擴容。
當某個服務的訪問量較大時,我們只需要將這個服務擴容即可。
6)代碼的復用。
每個服務都提供 REST API,所有的基礎服務都必須抽出來,很多的底層實現都可以以接口方式提供。
容器化
容器技術是云原生的核心技術,容器是一種相對于虛擬機來說更加輕量的虛擬化技術。能為我們提供一種可移植、可重用的方式來打包、分發和運行程序。
容器的基本思想就是將需要執行的所有軟件打包到一個可執行程序包。例如,將一個 Java 虛擬機、 Tomcat 服務器以及應用程序本身打包進一個容器鏡像。用戶可以在基礎設施環境中使用這個容器鏡像啟動容器并運行應用程序。
而Docker是目前應用最為廣泛的容器引擎,容器化為微服務提供實施保障,起到應用隔離作用,K8S是容器編排系統,用于容器管理,容器間的負載均衡,Docker和K8s都采用Go編寫,(K8s全稱Kubernetes,由首字母K,結尾字母s以及中間的8個字母組成,所以簡稱為K8s)。
容器技術好處如下。
- 應用程序的創建和部署過程更加敏捷:與虛擬機鏡像相比,使用應用程序的容器鏡像更簡便和高效。
- 可持續開發、集成和部署:借助容器鏡像的不可變性,可以快速更新或回滾容器鏡像版本,進行可靠且頻繁的容器鏡像構建和部署。
- 提供環境一致性:標準化的容器鏡像可以保證開發、測試和生產環境的一致性,不必為不同環境的細微差別而苦惱。
- 提供應用程序的可移植性:標準化的容器鏡像可以保證應用程序運行于 Ubuntu 、 CentOS 等各種操作系統或云環境下。
- 為應用程序的松耦合架構提供基礎設置:應用程序可以被分解成更小的獨立組件,可以很方便地進行組合和分發。
- 資源利用率更高。
- 實現了資源隔離:容器應用程序與主機之間的隔離、容器應用程序之間的隔離可以為運行應用程序提供一定的安全保證。
容器大大簡化了云原生應用程序的分發和部署,可以說容器是云原生應用發展的基石。
devops
DevOps ( Development & Operations ,開發和運維)是軟件開發人員和 IT 運維人員之間的合作過程,是一種工作環境、文化和實踐的集合,目標是高效地自動執行軟件交付和基礎架構更改流程。開發和運維人員通過持續不斷的溝通和協作,可以以一種標準化和自動化的方式快速、頻繁且可靠地交付應用。
云原生應用通常包含多個子功能組件,devops可以大大簡化云原生應用從開發到交付的過程。實現了真正的價值交付。
持續交付
持續交付就是不誤時開發,不停機更新,是一種軟件開發方法,它利用自動化來加快新代碼的發布。在持續交付流程中,開發人員對應用所做的更改可通過自動化被推送至代碼存儲庫或容器鏡像倉庫。
結語
附上一張云原生圖譜
歡迎各位參考與指導!!!
---------------------
作者:館主阿牛
來源:CSDN
原文:https://blog.csdn.net/qq_57421630/article/details/123137575?spm=1001.2100.3001.7377&utm_medium=distribute.pc_feed_blog_category.none-task-blog-classify_tag-2.nonecase&depth_1-utm_source=distribute.pc_feed_blog_category.none-task-blog-classify_tag-2.nonecase
版權聲明:本文為作者原創文章,轉載請附上博文鏈接!
內容解析By:CSDN,CNBLOG博客文章一鍵轉載插件