在過去的幾十年里,互聯網大大改變了人們的生活狀態。我們上網,用各種app搜索信息、購買商品、與世界各個地區的人們進行無障礙溝通,其速度之快、操作之便捷,可謂史無前例。私家車的儀表盤上的屏幕可以為我們推薦電影,智能手機可以制作并發布視頻,我們還可以購買恒溫器,它們能在我們到達辦公室之前,提前調整房間的溫度。
盡管這些進步對外界來說就像魔法一樣神奇,但只有研發者們知道保障這些程序運行的開發技術到了何種水平。然而時代在發展,和商業打交道的每一個人都應該對此有所了解,這一點正在變得越來越重要。
原因很簡單:聰明的公司都明白,未來十年的競爭要求我們對信息技術要有新思路。從移動應用到電冰箱,都需要變得更為個性化、智能化,更注重反饋與交互。
公司需要恰當的工具來促進機器的學習、獲取傳感器數據和處理超乎想象的高居不下的用戶流量的能力。
大勢不可逆。如果一款應用不能帶給用戶他們所期望的體驗,他們會另尋別家。
重構應用構建方式
過去幾年里,應用程序和網頁的使用規模不斷擴大,用戶量已經達到上幾百萬甚至幾億級。在這種大流量、大數據的趨勢下,昔日的應用架構開始土崩瓦解。最近,使用海量數據的趨勢,已經激發了市場催生一個全新的科技團體的興趣,他們專門研究這個終端。
處理方法包括開拓全新的存儲空間、處理器和數據庫框架,以期輕松擴大跨集群服務器的規模,簡化處理過程,并提高各部分信息交流的速度。Google、LinkedIn、Facebook、Yahoo和Twitter正在一遍又一遍的重復這個過程。
其中一種模式應用于數據庫,幾乎每個人都從關系數據庫開始,最終制定出新計劃。一些公司花費了上百萬美元(還在繼續付出),犧牲個人時間,來尋找突破MySQL的自身規模局限的方法。
另一種模式則清晰地呈現在處理大數據的架構中。這種特殊的技術在不同領域或許會有所不同,但所有大型網絡公司在處理實時、準實時和批量數據時,都會使用某種特定的架構。它們都希望給用戶傳達一種迅捷的、個性化的體驗,還要確保內部數據分析師和數據科學家能夠滿足這份工作的要求。
邂逅數據中心應用棧
所有IT創新的結果都令人印象深刻。Google、Facebook和Amazon為幾十億的用戶提供服務(可同時服務上百萬用戶)并儲存海量數據。但它們幾乎沒崩潰過。因為對基礎設施投入了大量的建設。
這些公司研發了許多知名技術,其中包括MapReduce、Hadoop、Cassandra和Kafka。除此之外,它們還研發了一套新工具(有的源自初創公司,有的是實驗室開發,有的則是開源項目),旨在幫助應用程序運行得更好,規模更大,并在必要的時候增加新功能。這些新工具包括Spark、Storm和Elasticsearch。
與新技術相配套的新架構也隨之浮出水面,試圖解決為了研發能在大規模環境下穩定運行的應用而帶來的問題。
一種架構是微服務概念,就是將應用看成是一種可以為多種應用提供服務的服務集合,而不是使用自己專用組件的單片實體。除此之外,微服務減少了組件之間的相互依賴,提高了個人服務的可擴展性,這一切無需重建整套應用即可實現。
另一種大型架構是集裝化趨勢,通過像Docker那樣的開發者友好型方式或像Linux控制組那樣的低層次方式構建。集裝可以輕松給分散的服務器插入應用,根據運行處改變焦點。進一步說,開發者可以將焦點集中在應用需要運行的地方。
總的來說,這種新型分布式服務集成和架構技術合稱“數據中心應用堆”。凡是想要構建能在多重平臺上服務上百萬用戶的應用,并利用當今數據的數量、種類和速度的,都得使用服務集成或類似的技術理念。
實際上,這些技術正在迅速流行起來。它們當中有許多已經成為初創公司技術鏈條上的主打,為的是傳遞從下一個大型消費者應用到下一個Salesforce.com之間的一切信息。
這些技術正在超越單純的網絡途徑,而進軍世界500強,甚至進入和IT創新者不沾邊兒的中型企業。他們了解數據中心服務(限于公司層面范圍內)的一切,渴望加入這令人興奮的創新中。.
“大數據”、“實時”和“物聯網”不僅僅是流行語。21世紀,公司的成功在很多方面都要依賴它們。
數據中心應用的操作系統
雖然數據中心應用技術越來越重要,但問題在于(IT供銷商、開源支持者或專業的Facebook工程師不會告訴你)構建十分困難。部署、管理和大規模Hadoop;部署、管理和大規模Cassandra;部署、管理和大規模Kubernetes。你必須清理和重復你想要的每個架構或服務。
某種意義上說,公司或許不愿真正寫程序、建立數據管道和確認架構的彈性。
像Google和微軟那種工程師眾多的大型公司分別用Borg和Autopilot系統為自己解決(或很大程度上解決)問題。系統會自動管理資源分配,實現服務器及為百萬用戶服務的應用程序的高實用性。是算法——而不是開發者或微軟架構師——決定程序的走向和機器的數量。
當然了,它們是偉大的系統,但同時也為公司所專有。Google也是最近才發布文件官方承認Borg的存在。微軟幾乎沒有公開討論過Autopilot的相關事宜,更別說是銷售了。