中小型企業(yè)云平臺建設的坎坷與經(jīng)驗分享 | 最佳實踐

由于企業(yè)普遍缺乏一個長遠的信息化規(guī)劃,企業(yè)的信息化系統(tǒng)的實施存在隨機性和隨意性,在軟硬件部署過程中不會太注重整體的兼容性,其結果導致大量的異構系統(tǒng)獨立并存,信息孤島普遍存在,對后期信息系統(tǒng)之間的集成造成難以逾越的障礙。

本文作者分享了身處中小型企業(yè)在云平臺建設過程中的若干感受,既有經(jīng)歷的坎坷也有收獲的經(jīng)驗,供廣大同行參考借鑒。

作者Rock,目前擔任某國內(nèi)著名餐飲連鎖企業(yè)運維負責人,從事過數(shù)據(jù)庫、大數(shù)據(jù)和容器集群的工作,對DevOps流程和工具方面有比較深刻的理解。

云計算這個話題,已經(jīng)被談論了好多年了,從最初的使用公有云,到現(xiàn)在越來越多的開始建設或已經(jīng)建設自己的私有云,中小型企業(yè)歷經(jīng)了很多坎坷,也積累了大量的經(jīng)驗,本文想從幾個方面來談談前進道路上的幾點感受。

一、傳統(tǒng)架構捉襟見肘

越來越多的企業(yè)開始關注IT基礎架構對上層業(yè)務系統(tǒng)的支撐能力。在傳統(tǒng)的IT基礎架構環(huán)境下,為了支撐起越來越多的業(yè)務系統(tǒng),底層IT基礎架構正變得越來越復雜,使得企業(yè)要想對IT系統(tǒng)實現(xiàn)高效的管控變得越來越難,與此同時也導致IT運維成本不斷增加。體現(xiàn)在如下幾個方面。

(1)IT系統(tǒng)日趨龐雜且難以維護

隨著業(yè)務規(guī)模的不斷擴張,用于支撐業(yè)務運行的IT系統(tǒng)和基礎設施也日趨龐雜,從前臺、中臺到后臺,從網(wǎng)絡、業(yè)務到數(shù)據(jù),企業(yè)在業(yè)務應用需求變得日趨復雜的同時,企業(yè)的IT基礎設施也開始變得復雜且難以有效管控。

(2)IT運維力不從心,成本日漸高企

在傳統(tǒng)IT基礎架構下,隨著企業(yè)IT基礎架構的不斷擴張,企業(yè)需要投入越來越多的IT人員保證IT系統(tǒng)的正常運行,同時IT系統(tǒng)的故障率也快速攀升,IT系統(tǒng)的運行效率卻呈下降趨勢。

(3)IT系統(tǒng)無法快速適應業(yè)務需求

扎克伯格曾經(jīng)對傳統(tǒng)架構提出一個問題,他無法知道該購買多少服務器,原因是當業(yè)務高峰來臨時需要大量的服務器節(jié)點擴容,而常規(guī)時間則需要少量的服務器足矣。傳統(tǒng)架構的服務器通常是根據(jù)項目來購買的,無法實現(xiàn)快速的擴容和縮容。

(4)IT系統(tǒng)集成難度日益加大

由于企業(yè)普遍缺乏一個長遠的信息化規(guī)劃,企業(yè)的信息化系統(tǒng)的實施存在隨機性和隨意性,在軟硬件部署過程中不會太注重整體的兼容性,其結果導致大量的異構系統(tǒng)獨立并存,信息孤島普遍存在,對后期信息系統(tǒng)之間的集成造成難以逾越的障礙。

二、云架構的優(yōu)勢

互聯(lián)網(wǎng)時代的到來改變了很多原有的定式,而中國特有的互聯(lián)網(wǎng)+模式的出現(xiàn)也改變了很多企業(yè)的經(jīng)營運作方式,云計算逐步已經(jīng)成為眾多企業(yè)關注的焦點。究其原因就在于,云計算平臺架構能突破傳統(tǒng)IT基礎架構所面臨的諸多問題,比如資源利用效率低、成本投入高、系統(tǒng)調(diào)整不靈活等。這些問題在云計算平臺上都能得到很好的解決?;谠频钠脚_部署架構具備以下幾個優(yōu)勢:

(1)大幅降低IT投入成本

傳統(tǒng)IT系統(tǒng)實施過程中主要包括三大成本投入:軟硬件系統(tǒng)購買成本、IT系統(tǒng)部署和實施成本、IT系統(tǒng)運維成本。隨著企業(yè)業(yè)務的不斷擴張,企業(yè)需持續(xù)不斷的進行IT成本的投入,導致三大成本會持續(xù)增長。在很多企業(yè),IT成本投入已經(jīng)占據(jù)企業(yè)利潤的很大一部分,給企業(yè)的資金帶來了不小壓力。這使得越來越多的企業(yè)考慮通過將業(yè)務托管到云平臺來降低IT投入費用。

(2)根據(jù)業(yè)務需求快速調(diào)整IT需求

在云平臺架構下,企業(yè)只需要登錄云平臺進行資源的重新申請和配置就可以實現(xiàn),而且不需要停機操作,極大的縮短的調(diào)整周期和業(yè)務運行風險,而且云平臺通常具備自動擴縮容的能力,能根據(jù)負載情況,自動調(diào)節(jié)節(jié)點或負載點的數(shù)量。

(3)極大的降低業(yè)務集成難度

在云平臺上,所有的系統(tǒng)可以基于統(tǒng)一的架構體系,系統(tǒng)之間只要簡單的二次開發(fā)就能實現(xiàn)對接。

三、云建設的選型

目前在企業(yè)內(nèi)部實施云平臺的企業(yè)比比皆是,比如德國大眾,這樣的超大型企業(yè)使用了Mirantis公司Openstack架構,對企業(yè)內(nèi)部各種平臺進行了整合,建立了統(tǒng)一的企業(yè)云平臺。但是中小企業(yè)由于其業(yè)務量和資金的限制,在云計算平臺的建設方面需要考慮自身的特點,主要有以下幾點。

(1)公有云還是私有云?

公有云無疑是有其優(yōu)勢的,特別對于企業(yè)云平臺發(fā)展的初期,由于無須初期的投入,中小型企業(yè)可以避免在建設初期對基礎設置投入大筆的資金,把有限的資金和時間投入業(yè)務軟件代碼開發(fā)中,而且還可以省去中后期的基礎架構運維人員的成本,而把自己的注意力集中在業(yè)務軟件上。目前,亞馬遜云、阿里云擁有大量的中小型企業(yè)客戶,這都體現(xiàn)出公有云對它們的魅力所在。但是,隨著企業(yè)規(guī)模的擴大,在公有云上的缺點也就暴露出來了,那就是成本。雖然公有云上規(guī)模后,費用可以大幅降低,但大量云上IaaS和PaaS的成本,還是不斷的在敲打著企業(yè)管理者的心弦。我曾經(jīng)見到過,某個互聯(lián)網(wǎng)中小型的獨角獸企業(yè),一買騰訊云的服務器都是上千臺的量級,這里所花的費用自然非常之高。所以,當企業(yè)在服務器達到一定規(guī)模后,都會建立自己私有云。這里涉及到成本的核算,以及業(yè)務規(guī)模和發(fā)展的衡量。通常,混合云的架構會被采用,即利用公有云作為流量的入口,可以必然在網(wǎng)絡入口設置上巨大的投入,而自己的業(yè)務放在私有云上,用以降低成本。

(2)數(shù)據(jù)放在公有云上還是私有云?

在混合云架構下,數(shù)據(jù)是放在云上,還是云下呢?這在國內(nèi)和國外還真的不一樣。老外的思維和中國人不太一樣,比如美國公司是絕對信任云商的,所有,有大量的中小型企業(yè)把數(shù)據(jù)放在云上,亞馬遜云的DynamoDB每年都會從Oracle搶走不少市場份額,讓不少中小型企業(yè)將數(shù)據(jù)庫遷移到云上,此舉導致了Oracle的市場份額每年都以一定的微小幅度下滑。國內(nèi)的中小型企業(yè)正好相反,他們更相信數(shù)據(jù)保留在IDC或私有云中是安全的。所以數(shù)據(jù)是放置在公有云還是私有云,需要根據(jù)企業(yè)數(shù)據(jù)的屬性,如果是金融或財務類數(shù)據(jù),傾向于放在私有云內(nèi),而一般數(shù)據(jù)放置在公有云內(nèi)?,F(xiàn)在公有云,比如阿里云的RDS,已經(jīng)有了金融云數(shù)據(jù)庫,所以,金融類數(shù)據(jù)有的也放置在了公有云上。

(3)Openstack架構還是Kubernetes架構?

早些年的私有云建設還要在Openstack和VMware之間做選擇題,OpenStack是這樣使用Python寫的半成品平臺,如果簡單使用,是不用二次開發(fā)的,但要用開源的Openstack用于生產(chǎn)環(huán)境運行,說真的,業(yè)界可能還沒有見到過。OpenStack的結構非常松散,項目特別多,開發(fā)的團隊也特別多,源代碼一直缺乏很好的管理。所以,目前公有云運行的都是魔改后的OpenStack框架,比如IBM的Bluebox,EasyStack。VMware是商業(yè)化產(chǎn)品,受制于龐大的許可證方面的原因,很少有中小型企業(yè),會采用這個方案。近些年來,隨著Kubernetes技術的成熟,越來越多的企業(yè)的云平臺轉向了Kubernetes,Kubernetes簡稱為k8s,雖然也是開源的實現(xiàn),但由于谷歌主導CNCF組織的加入,對源代碼的控制力非常強,所以,使得Kubenetes的穩(wěn)定性和效率不斷提高。目前已經(jīng)推出的1.20版本,3年了還沒出2.x版本,足見對其代碼質量要求之高。

All In Kubenetes的容器云已經(jīng)成為了新一代的標準,過去數(shù)據(jù)庫是不建議部署在容器云內(nèi)的,主要考慮到穩(wěn)定性、效率和傳統(tǒng)的理念,但是隨著TIDB和Vitness的出現(xiàn),這已經(jīng)被克服了。

Kubernetes本質上是IaaS結合PaaS的平臺,由于其穩(wěn)定性、自動監(jiān)控性、先天編排自愈等的特性,比OpenStack更為受到歡迎,又有谷歌這樣的一方巨擘為其背書。各大公有云廠商早就各自推出了自己容器云的平臺供企業(yè)選擇。

(4)網(wǎng)絡的重要性

這里要尤其突出云平臺網(wǎng)絡的重要性。云平臺無論是哪種架構,都是分布式的存在,實現(xiàn)的是存儲和計算分離,對于網(wǎng)絡的依賴比傳統(tǒng)架構更強烈。在傳統(tǒng)架構中,如果網(wǎng)絡一部分不可用,不會影響到其他,但是在云平臺系統(tǒng)中,網(wǎng)絡不可用,甚至工作緩慢,可能就是致命的。所以,如果要建立私有云,選擇可靠且高速的網(wǎng)絡是非常重要的。筆者曾經(jīng)使用過一個大廠的商業(yè)化的kubenetes集群產(chǎn)品,使用不到半年就退貨了,為什么呢?讓廠商到我們機房來自建網(wǎng)絡設備,而且全部使用這個大廠推薦的品牌的網(wǎng)絡設備,還是時常報出網(wǎng)絡卡死導致Ceph不可用的情況,發(fā)生狀況時,登錄mysql要花10分鐘,實在不敢用于生產(chǎn)系統(tǒng),最后只能遺憾退貨了。

四、云平臺建設的組成部分

總的說來,構建云平臺的主要驅動力包括降低軟硬件成本、實現(xiàn)應用系統(tǒng)快速部署、應對業(yè)務負載突發(fā)性增長需求、構建安全可靠自主可控的基礎架構環(huán)境等,在設計中小型企業(yè)私有云過程中需要對以下四點需要重點關注。

(1)資源池

云計算要進行軟硬件資源的統(tǒng)一管控和靈活調(diào)度,首先需要做到的就是對資源納管,即構建資源池。而需要注意的是資源池的意義并非僅僅是通過平臺使軟硬件資源的可知可控成為可能,更為重要的是明確與之相匹配的管控手段和策略,使其涵蓋資源的全生命周期管理。

A、資源可達

資源池是在技術層面打破舊有的豎井式信息系統(tǒng)建設模式的關鍵,是軟硬件資源實現(xiàn)統(tǒng)一管控、靈活調(diào)度的基礎。使任意資源在技術上都可以通過網(wǎng)絡以服務的形式被無障礙、無區(qū)別的供給。

B、規(guī)??煽?/strong>

主要是在指云計算的彈性,制定資源池擴展和收縮的規(guī)則,通過使用時間、使用量、持續(xù)時間、優(yōu)先級等一系列量化閾值觸發(fā)規(guī)則在資源池體量不足時可以靈活的向資源池中添加各種資源。這點對于中小型企業(yè)而言,可以實現(xiàn)在混合云架構中,在公有云上進行自動擴縮容,來彌補本身IDC資源的不足。

C、能力可知

這點需要逐步完成,因為云計算的本質是種服務,通過具備科學完備的統(tǒng)計方法和計算規(guī)則,評估可供給的服務能力,配以必要的系統(tǒng)監(jiān)控、資源使用監(jiān)控、計量計費等手段,實現(xiàn)資源池的能力可知。

(2)云管理平臺

云管平臺是云服務設計、發(fā)布和管理是云計算的核心,體現(xiàn)了云計算的運營形態(tài),而云管理平臺是實現(xiàn)云服務全生命周期管理的基礎,是實現(xiàn)云計算運營模式的載體。它的建設需要實現(xiàn)以下幾點。

A、狀態(tài)可視

對于云平臺而言,可視并不僅僅代表圖形化的訪問和管控,企業(yè)建設私有云更為重要的是從云服務供應商的視角通過云管理平臺實現(xiàn)對資源的集中管控。因此云計算環(huán)境中,監(jiān)控的重要性將上升到前所未有的高度,同時相比于傳統(tǒng)信息系統(tǒng)架構,監(jiān)控的含義和涵蓋的范圍也有了很大的變化,一般說來,在企業(yè)私有云平臺中,必須具備對包括基礎架構資源、服務、安全審計在內(nèi)的監(jiān)控能力。

B、分配可控

基礎架構資源的管控是云計算運營最重要的基礎和最核心的資源。對基礎架構資源的合理管控是企業(yè)建設自己的私有云的重要出發(fā)點,而對資源管控的實現(xiàn)需要通過云管理平臺完成。對于云計算環(huán)境中的基礎架構資源,從初始建設、分配使用在到回收等一系列動作都應該根據(jù)服務設計和相關SLA規(guī)定制定詳細、規(guī)范的流程以及科學合理的處理手段,使云管理平臺對資源的管控涵蓋資源的全生命周期,做到初始建設合理、管控過程合規(guī)、資源分配合適、管控操作可回溯、已分配資源可回收。

C、服務可用

服務是云計算環(huán)境的核心。在構建私有云時企業(yè)往往會從自身的應用特點和需求出發(fā)進行服務的設計和實現(xiàn),因此很難針對私有云制定通用的服務模板,依據(jù)云計算建設的通用方法,對于云服務的建設,一般說來會關注云服務的識別、設計、實現(xiàn)和維護四個階段。

(3)自動化和標準化

在云計算環(huán)境中,自動化對象往往是那些經(jīng)常使用、手工發(fā)起的復雜操作,這就要求自動化的對象應符合通用設計,遵循相同的技術規(guī)范,具備一致的處理流程,動作行為可參數(shù)化,即自動化的目標應該是標準化的。

標準化時,可以考慮構建基于基礎架構資源的IaaS云、Paas云乃至SaaS云,需要注意的是一并非所有的基礎架構、平臺軟件和應用軟件都具備標準化的條件,而標準化的代價同樣高昂,中小型企業(yè)開始沒有必要構建一個大而全的標準化體系,應該從小處入手,從自身的需求出發(fā),構建一個定制的標準化平臺。比如筆者的公司在開發(fā)PaaS云標準化平臺時,只是根據(jù)開發(fā)的需求開發(fā)和完善Kafka、ElasticSearch、Redis Cluster,很多參數(shù)都寫死在PaaS中,并沒有暴露出來,秉承著“先有后優(yōu)”的方針,后期慢慢優(yōu)化。二是不合理的自動化流程設計將可能會導致錯誤的蔓延和環(huán)境的失控.因此,在進行自動化設計過程中,尤其需要注意規(guī)則的設定和異常處理。比如:Kubernetes中的Redis Cluster的Operator,筆者公司原來找了一個開源的,但是發(fā)現(xiàn)這個Operator考慮的不是很周到,有很多坑,那么處理的方法無非兩種,一避免某些方面Operator的使用,二改寫這種Operator的代碼。

(4)云安全

在云計算體系中,安全涉及到很多層面,一般說來,在云計算環(huán)境中應主要考慮網(wǎng)絡安全、存儲安全、物理機安全、虛擬化安全、虛擬化管理安全、交付層安全、數(shù)據(jù)安全、安全服務和運維安全等9個層面和領域。這也是中小型企業(yè)初期最容易忽視的一部分。全部要做好,有點力不從心。所以,建議全力先做好網(wǎng)絡安全這一點,在前文中,筆者提出互聯(lián)網(wǎng)的入口借助于公有云的入口,有部分原因也是為了安全考慮,要知道公有云對網(wǎng)絡安全的投入是非常大的,除了防火墻,WAF以外,比如騰訊云還有云鏡等設備。

本文是筆者身處中小型企業(yè)在云平臺建設過程中的若干感受,當然中小型企業(yè)不能和大型企業(yè)一樣去一味的購買商業(yè)化產(chǎn)品,也不能如同大型互聯(lián)網(wǎng)公司一樣,招聘大量的業(yè)務資深人才去設計一個功能齊全完備的公有云產(chǎn)品(比如擁有serverless、Lamda等功能)。中小型企業(yè)必須從自身的需求和能力出發(fā),去建設一個符合自身發(fā)展需求的云平臺。

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論