經典云計算包括IaaS、PaaS和SaaS三層服務。IaaS層提供以各種虛擬機為最小粒度的資源調度單位,PaaS層在IaaS的虛擬機之上提供運行時環境、數據庫、開發工具等環境。但是IaaS容易出現資源利用率低、資源調度分配緩慢等問題,PaaS容易面臨應用系統架構選擇、應用運行的軟件環境棧不統一等問題。這些業務系統的運行環境,在面臨業務系統軟件架構復雜、規模龐大,業務需求變更頻繁、研發交付周期逐漸縮短等問題時,會成為業務系統研發人員和運維人員提升工作效率的一個障礙 。
2013年Docker技術出現。Docker是以Docker容器為資源分割和調度的基本單位,可以裝整個軟件環境運行時,用作構建、發布和運行分布式應用的平臺。容器技術打開了一扇窗,但真正運行于線上環境,需要解決與容器環境相關的網絡、存儲、集群、高可用等方面的問題,從容器到容器云的演進應用而生。
容器云究竟能帶來哪些業務價值,容器云又有哪些技術路線可以選擇,以下是由社區專家bryan根據社區多位會員分享整理總結的文章,供各位參考。
WHY:為什么要建設容器云?
隨著虛擬化技術的發展,很多金融行業(尤其銀行同業)已完成物理機虛擬化的進程(多數采用vsphere技術)。這種虛擬化技術一定程度上降低了運維復雜性,提升了資源的使用率。這種虛擬化技術和openstack等可視作云計算中IaaS的發展。此時,銀行業的業務系統研發仍面臨如下問題期待解決:
1) 應用系統使用的基礎軟件多為復雜商業軟件,功能繁多,真正經常使用的功能一般都只占少數。這些基礎軟件一般系統架構復雜、安裝部署復雜且學習曲線陡峭;
2) 應用系統規模越來越復雜,龐大的部署架構模式使得應用的安裝、部署和更新也相對比較復雜,使得業務停機時間和部署成本都有所增加,應用系統開始嘗試微服務的形式解決此類問題;
3) 在面臨互聯網金融等多種行業的激烈市場競爭時,業務部門的需求變化越發頻繁,同時也希望研發部門的軟件交付周期越來越短;銀行IT團隊對提高IT能力驅動業務創新的愿景,是銀行業IT團隊擁抱趨勢技術、緊隨IT技術發展的宣言;
4) 以vsphere為代表的虛擬化技術,同樣面臨硬件使用率相對較低、資源分配調度相對緩慢等問題。
隨著金融科技概念的興起,IT部門需要解決這些問題從而更好的提升研發和運維團隊的生產力,從而更加靈活、高效、快速的滿足業務系統需求,更好提升業務價值。隨著容器技術的不斷發展和完善,容器云的價值也逐漸被發掘出來,它可以從本質上更好的契合新形式下銀行面臨的問題:
1) 標準化應用的部署和交付:采用容器鏡像的方式實現運行環境的標準化,屏蔽應用部署過程中針對不同環境需要的環境配置、安裝步驟等復雜過程。把原先部署、配置的運維工作提前到開發交付階段,在制作鏡像的階段解決運維上線中出現的問題;
2) 促進Devops的落地實施:容器build、ship、run的理念及其技術特點,更夠更好的與CI/CD技術進行融合,促進CI/CD理念的落地,可從技術手段上保證項目管理方式和管理理念的真正有效落地;
3) 有效整合現有資源:容器可運行在多種云平臺環境中,比如AWS、Azure、openstack等,有效避免廠商綁定,可實現對企業已有異構基礎資源的統一化管理,這種統一管理應用的模式屏蔽環境差異性,降低系統運維難度;
4) 提升資源利用率:容器是基于操作系統的輕量級虛擬化技術,與傳統的虛擬技術相比,多個容器可以共享操作系統的內核進程和內核資源,從而有效節省操作系統級資源開銷, 通過容器密度的提升更好的利用資源;
5) 加速企業軟件資產積累: 鏡像倉庫通過對應用鏡像的集中管理可實現類似應用商店的功能,有利于更好的沉淀和積累企業軟件資產,從而更加快速高效的提供各種運行環境。
WHAT:容器云平臺的主要內容
首先確定建設容器云的目標,準備覆蓋應用的范圍,是小范圍試點、部分互聯網應用、還是主要應用。目標決定了企業的各種資源投入和承擔的技術風險;
其次了解所需覆蓋應用是否適合部署于容器云,不是所有類型應用都適合運行于容器云;
第三就是技術選型,主流的容器技術和框架各有優劣,需要根據平臺的最終建設愿景來選擇。
結合銀行的監管要求和企業應用特點,一般容器云建設包括但不限于如下方面:
1) 云管平臺的建設:主要實現整個云平臺可視化的web管理平臺,包括分配資源、管理容器、管理租戶、管理應用和管理服務等操作功能;