雲端計算開發戰略個人一點簡單見解

suke04發表於2017-06-05
隨著雲端計算越來越普及,許多企業開始考慮將系統開發/釋出到雲端計算上,因為與傳統軟體開發/釋出相比,雲端計算有著以下優點:

1. 降低基建成本。
2. 花費成本根據使用額度來計算。
3. 能夠更快速的將軟體產品推出到市場。
4. 能夠更好的利用資源。
5. 提高系統開發的敏捷程度。

6. 提高系統自我擴充套件性和伸縮性。

現在在雲端計算市場上主要有三種平臺可以選擇,

1. IaaS (Infrastructure as aService) 基礎架構服務。 顧名思義,基礎架構服務給客戶提供基建系統。客戶不再需要自己組建自己的伺服器組,網路系統,資料庫系統。這些都可以由基礎架構服務供應商來提供。
而且根據系統的實時運用,可以自動新增或者減少提供服務的硬體數量來達到運載和成本的平衡。現在國際上運用最廣泛的基礎架構服務供應商是AMAZON(亞馬遜)的EC2。在普及方面,國內的一些雲平臺還有一段距離要趕。


2. PaaS (Platform as a Service) 平臺服務。 所謂平臺服務就是指雲端計算供應商提供了整個從系統開發到釋出的平臺。優點是所有需要的部件都已經整合在平臺服務中了,因此技術開發組很快就能開始進行開發而不需要搭建開發平臺。
當然隨之而來的缺點就是系統移植性大大降低, 而且因為開發/執行平臺是由雲端計算供應商設計,有些平臺在開發過程中會有一些技術方面的限制。最典型平臺服務之一就是Google的App Engine。可惜因為業界內眾所周知的原因, Google的服務在中國大陸到現在還一直不是很穩定,損失了很大的市場。


3. SaaS Software as a Service) 軟體服務。簡單的來說雲端計算供應商提供了整個的解決方案,客戶只需要使用供應商的解決方案。一個最好的例子就是Salesforce的CRM系統。

對於一個企業來說,根據自己的需求選擇最適合自己商業模式的雲端計算平臺非常重要。而正確選擇哪一種雲端計算平臺取決於企業本身的戰略需要。對比來說,如果企業最主要的目標是儘快將產品推向市場,那麼第一步就是尋求是否已經有云計算供應商提供了整個解決方案。
此時選擇SaaS平臺可以很快的實施解決方案。然而如果市場上還沒有類似的產品,那麼使用PaaS不失為一個好選擇,企業不需要構建底層平臺,也不需要太多的考慮如何構建基礎框架。技術開發組可以迅速的開始根據需求更快的進入開發模式,整個流程也更加敏捷化。
當然,使用PaaS也是有代價的。比如說整個系統和平臺的黏合性比較高,對於以後的系統移植會有一定的影響,而且一些平臺的限制也會影響解決方案的具體實施。

當如果企業比較貼近傳統化模式,對產品推出市場的時間要求不是那麼急切,而且本身技術組有著足夠的技術力量來構建整個框架的時候,IaaS也不失為一個很好的考慮。雖然對比其他兩個雲端計算模式,IaaS對雲平臺管理的要求比較高,而且需要不同的管理人員 (比如系統管理員,資料庫管理員),但是對於大中型企業來說,這些技術人員已經存在於企業中了,企業有足夠的技術力量來管理IaaS平臺。


雲端計算平臺的可自我擴充套件性是企業選擇雲端計算的一個主要目標。當選擇雲端計算平臺時,構架師或者技術人員必須考慮特定雲端計算平臺的系統結構來確定擴充套件性是否符合將要開發/釋出產品的需求。總的來說,雲端計算平臺的擴充套件性一般有兩種:

1. 垂直擴充套件: 所謂垂直擴充套件是指當系統壓力增大時,平臺的系統資源提高,包括CPU,記憶體等等。而伺服器數量不變。

2. 水平擴充套件: 所謂水平擴充套件是指當系統壓力增大時,雲端計算平臺自動建立新的伺服器,並且加入已經建立的伺服器組。

在現今雲端計算平臺上,分散式水平擴充套件在實際運用中佔了大多數。對於某些有特定需求的系統來說,當選擇雲平臺的時候雲端計算系統如何擴充套件是一個非常重要的考慮因素。


另外,架構師或者技術開發人員在開發/釋出產品到雲端計算平臺上,有幾點也是需要仔細考慮的:

1.    如何保護資料。資料安全永遠是雲端計算平臺上的一個重要話題,建議對於儲存在雲端計算平臺上的敏感資料進行加密,在傳輸過程中使用SSL來進行傳輸。
2.    系統模組化設計。 在設計和開發過程中,儘量減少各個模組之間的黏合度,一方面整個系統便於修改和維護,另一方面,當某一模組成為整個系統的瓶頸後,可以對這個獨立的模組實施擴充套件,而不需要整個系統進行擴充套件。
3.    資料備份。 根據不同的雲端計算平臺,資料備份戰略也大不相同。建議多個資料備份(包括資料本地備份或不同雲端計算供應商備份)以防止某個雲端計算供應商突然無法維持日常經營。
4.    快速訪問資料。在雲端計算平臺上,大量的資料會被輸入輸出。而且根據不同的雲端計算平臺計費方式,大量的資料庫操作和CPU使用會導致雲端計算平臺費用的增加。因此對於不經常改變但是經常需要讀取的資料一定要放入記憶體/快取。這樣一方面使用者訪問速度更快,另一方面平臺計算費用也可以降低。
5.    系統崩潰。只要是人類設計的東西,100%的可靠性是幾乎不可能的。當企業對系統的重要性和可靠性要求非常之高,可以考慮同時採用幾個雲端計算平臺進行整合服務。當一個雲端計算供應商不能夠進行日常運作的時候,企業的核心繫統不受影響的執行在另一個雲端計算供應商平臺上。

作者華傑, 從事IT工作15年,做過程式設計師,首席軟體工程師,架構師,IT技術顧問,現為澳大利亞移民和邊境保護局Tech lead.
LinkedIn:
個人電子郵件:

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

相關文章