《開源容器雲OpenShift:構建基於Kubernetes的企業應用雲平臺》一第1章開源容器雲概述1.1 容器時代的IT

華章計算機發表於2017-05-02

本節書摘來自華章出版社《開源容器雲OpenShift:構建基於Kubernetes的企業應用雲平臺》一書中的第1章,第1.1節,作者 陳耿 ,更多章節內容可以訪問雲棲社群“華章計算機”公眾號檢視

第1章 開源容器雲概述

1.1 容器時代的IT

進入21世紀,我們的社會和經濟發生了巨大的變化,社會對各行業服務的要求越來越高、越來越細緻。新的需求如洪水一樣滔滔不絕地從市場的第一線噴湧到企業的產品部門和IT部門。企業想要在競爭中獲取優勢,就必須比競爭對手更快地把產品推出市場。為了縮短產品從概念到上市的時間,企業的各個流程和流程中的各個環節都要升級優化。企業在變革,企業IT自然不能獨善其身,必須要跟上市場的節奏響應市場的需求。目標是明確的,就是速度要更快,成本要更低、質量要更好。但是現實的問題是,如何做到?
為了滿足業務的要求,企業IT在不斷地變革,而且從未停步。從客戶端/伺服器模型,變革為瀏覽器/服務端模型,從龐大的資訊孤島,變革為基於服務的架構(Service Oriented Architecture,SOA),從物理機,到虛擬化,再到基礎架構雲(Infrastructure as a Service,IaaS)和應用雲(Platform as a Service,PaaS)。對比十幾年前,如今IT的效率得到了極大的提升,尤其是進入雲時代後,一切資源變得觸手可及。以往應用上線需要的資源,從提出申請,到審批,到採購,到安裝,再到部署往往需要至少幾十天的時間。在雲時代,這些事情往往在幾天或幾小時便可以準備到位。業界在還沒有來得及對雲的懷疑之聲做出反擊回應之前,雲就已經征服了整個IT世界。
通過這些年雲化的推進,大多數有一定規模的企業已經實現了基礎架構資源的雲化和池化,這裡的資源指的是諸如虛擬機器、資料庫、網路、儲存。使用者可以用很短的時間獲取業務應用所需的機器、儲存和資料庫。基礎架構資源雲化其實並不是目的,而是手段。最終的目標是讓承載業務的應用可以更快地上線。但現實是,通過IaaS獲取的大量基礎架構資源並不能被我們的最終業務應用直接消費。應用還必須進行或繁或簡的部署和配置,才可能執行在雲化的虛擬機器之上。部署涉及作業系統配置的修改、程式語言執行環境的安裝配置以及中介軟體的安裝配置等。部署的過程在一些企業仍然是通過手工完成,低效且容易出錯。有的企業則是通過簡單的自動化方式完成,提高了效率,但是滿足不了後期更高階別的需求,如動態擴容,持續部署。即使勉強通過簡單的自動化實現,後期隨著部署平臺型別的增多及複雜化,維護的難度將會陡然提高,無法真正做到隨時隨地持續交付、部署。
基於這個背景,業界需要有一種手段來填充業務應用和基礎架構資源的這道鴻溝。讓應用可以做到“一鍵式”快速地在基礎架構資源上執行。不管底層的基礎架構資源是物理機、虛擬化平臺、OpenStack、Amazon Web service,還是Microsoft Azure,都能實現快速、順暢地部署交付。為了實現這個目標,業界出現了多種不同的平臺,即服務雲的容器方案。最終命運之神的棒槌砸到了一個叫Docker的開源專案上。Docker通過對Linux核心已有機能的整合和強化,為業務應用提供了一個可靠的隔離環境。此外,層疊式的Docker映象為應用環境的複用提供了一個絕妙的方案。最後其簡單易用的使用者命令列,讓Docker快速地獲取了巨大的使用者基礎,也成就了今日其在容器界的地位。
通過容器這個手段,下一步就是實現應用在大規模雲環境進行應用部署。在以往的軟體業中,軟體的交付件往往是軟體的二進位制安裝部署包,比如Java的WAR包、Windows的EXE、Linux的RPM包等。在容器時代,不難想象,未來軟體的交付件將會以容器映象作為載體。容器映象中包含了軟體應用本身,應用所依賴的作業系統配置、基礎軟體、中介軟體及配置。同時這些映象將會設計得非常智慧,能夠自動獲取依賴服務的相關資訊,如網路IP地址、使用者名稱、金鑰等。在雲的環境中部署這些應用,需要做的只是簡單地啟動容器映象,例項化出相應的容器,然後業務應用快速啟動,向終端使用者提供服務。目前大量的企業正處於這個變革和轉型的過程中。
隨著容器成為了部署交付件的標準,大量的業務應用將會需要執行在容器環境中,或者換句話說,未來容器將會成為應用的標準執行環境。那麼下一個問題就是,應用如何在容器的環境中執行得更高效、更穩定?為了更好地執行在容器環境中,應用的架構也必然要發生變化,變得契合容器的特性。正因為這個背景,最近,業界在熱烈地探討容器之餘,也非常關注應用的微服務化。
如同第二次工業革命蒸汽機帶來的衝擊一樣,容器給IT業界帶來了巨大的衝擊。面對這場變革,企業IT要做的不僅僅是技術的決策,而且是一個戰略性的決策。企業要麼主動擁抱它,要麼等待來自競爭對手的壓力後,再被動地接受並追趕其他的先行者。


相關文章