從服務器到雲託管,到底經歷了什麼?

“服務上雲” 一直是一個進行時,在 2010 年 - 2017 年期間,發力點重心都在「自有物理建設」到「IAAS 基礎設施即服務」,各個雲廠商都在此基礎上推出網絡產品、數據庫產品、存儲產品,提供「PAAS」層面的產品來促進上雲的過程,我們稱爲 “服務上雲 1.0”

 

“服務上雲 1.0” 本質上就是將自建的物理服務設施遷移到雲廠商提供的服務設施,並配備了一大批專業的工具。但在這一過程中,內在的關於開發者所選的服務技術架構,卻很少干預觸及;目前大部分流通的都是傳統服務架構模式。

 

傳統服務架構模式是什麼,有什麼特點?這裏舉幾個例子大家感受一下:

a. 使用本地文件系統來持久化存儲,數據文件和應用的文件混合在一起。

b. 在同一個服務器上運行很多服務,比如 MySQL、Redis 、Nginx 以及一大堆定時任務。

c. 使用大雜燴式的腳本和手工流程進行安裝和升級。

d. 配置是存儲在文件裏的,通常散落在多個位置,並與應用的文件混在一起。

e. 進程間的通信是藉助本地文件系統進行的(比如在磁盤上放一個文件,另一個進程來讀取),而不是 TCP/IP。

f. 按照單個服務器上只運行一個應用的實例的方式來設計的。

 

這些特點會在執行維護的過程中暴露出很多問題,比如:

a. 自動化部署很困難,雖然可以通過各種工具來實現,但仍有很大的水分空間存在。

b. 如果需要運行應用的多個不同的實例,很難讓多個實例在同一個服務器上同時存在。

c. 如果服務器停機,由於需要手工流程所以需要較長的時間來恢復。

d. 部署新版本的過程基本是手動的,或者大部分是手動的,難以回滾。

e. 很有可能測試環境與生產環境有較大差異,導致一些生產環境問題不能在測試期間發現。

f. 很難通過增加新的實例來進行橫向擴展。

 

這些問題會隨着業務的發展日益突出,最終極大的消耗人力成本,也累積了很多風險因素,即使服務設施上雲,有強大的環境,內部系統的維護問題始終阻礙和影響高質量的服務。

 

容器技術,規避了傳統服務架構模式所帶來的問題,作爲一種新的架構模式開始在近幾年興起。

 

容器服務,就是通過標準化方式,將業務代碼和其所依賴的環境資源一起打包成爲鏡像,然後在服務器中啓動一個實例運行這個鏡像,就可以提供服務了。

 

比如你去網吧工作,使用網吧的純淨系統,需要安裝自己所需要的辦公軟件才能夠開始正式工作,這裏就類比你在傳統模式下需要根據服務設施的不同來進行鍼對性運維,才能夠把自己的業務項目運行起來。容器服務在這個例子中就是,你帶了一塊硬盤(或者一個 U 盤),將你的辦公系統存儲在其中,到網吧裏直接插入你的硬盤,就可以立刻使用熟悉的系統了。

 

我們總結容器技術的幾個特點:

a. 部署容易,可以使用新的容器鏡像直接替換整個老版本。

b. 自動化部署也相對容易,可以完全由 CI 來驅動。

c. 部署失敗時的回滾只要切換到之前的鏡像就行,非常方便。

d. 應用升級不需要去考慮複雜的升級配置流程,不必執行繁瑣的步驟。

e. 相同的容器鏡像可以在不同的環境中充分測試,再直接部署到生產環境,確保測試環境與生產環境完全一致。

f. 系統更容易從宕機中恢復,因爲可以迅速在新硬件資源上啓動裝有這個應用鏡像的新容器,並附加到同一數據源上。

g. 開發人員能在本地以容器的形式,在更逼真的環境裏測試新功能。

h. 硬件資源的利用更高效,在單一主機上可以運行多個容器應用。

i. 容器化是支持零停機升級、金絲雀部署、高可用和橫向擴展的堅實基礎。

 

容器技術和 Docker 到底是什麼關係?Docker 是構建容器的技術工具,是目前流行的。就好比安卓和 IOS(Docker)是手機終端操作系統(容器技術)中比較流行的,因爲流行,所以各個廠商都會適配,使得技術方案可以暢行無阻沒有門檻。當我們構建的服務越來越多,同一個服務因爲併發可能包含多個容器實例,那麼如何有效的管理協調多個容器的位置資源?如何處理容器與容器之間的通信?這就需要容器編排技術。

 

Kubernetes 是目前最流通的容器編排技術,提供 API 來控制容器的執行方式和位置,操作執行 Docker 容器和調節工作負載,解決在調整跨多部伺服器部署多個容器規模時的一些複雜作業。

 

我們來看一下標準的容器服務需要的配置,其適用於對容器編排非常熟悉的團隊使用,可以靈活配置,按照自己的需求來調整

 

 

微信雲託管,通過簡化繁雜的配置流程,提供易配置高可用的容器服務;並整合與業務相關的套件,包含可自動擴縮容的數據庫,對象存儲等,同時也提供很多微信在服務技術的一些積累,打造安全的有生態特色的一站式後端服務平臺。

 

 

也就是說,你即使沒有微信相關應用服務,也可以使用微信雲託管來爲自己的業務提供服務,其在防刷攻擊,安全鏈路方面都有很強的優勢特點。

 

 

騰訊雲與千鋒聯合推出精品項目課程《鋒運票務系統 —— 基於微信雲託管的鋒運票務管理系統》已上線  “騰訊雲開發者社區”,幫你瞭解完整的微信雲託管部署流程,學習實戰級的小程序開發。機構名師手把手教學,共計 3 小時滿滿乾貨課程,快來領取全套課程吧:

《鋒運票務系統 —— 基於微信雲託管的鋒運票務管理系統》

免費領取課程福利:騰訊雲產品代金券

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章