最近有朋友問我:「為啥你寫的東西我都看不懂,也不是我平時用的。」我不禁啞口無言。就像今天要說的雲計算,其實已經覆蓋了日常生活的不少場景,像檢票一類的人臉識別,智慧型城市的紅綠燈等等,都是雲計算應用的產物。這次把雲計算、容器、容器雲三者放到一起來說,因為這三個現在非常非常的火,它們之間互有關聯,一般談雲計算時也會提到容器,提到容器就更無可避免的提到容器雲。接下來就先從雲計算開始說起。
雲計算是一種基於網際網路的計算方式,通過這種方式,共享的軟硬體資源和資訊可以按需求提供給計算機各種終端和其他裝置。一般的雲計算架構涵蓋三層服務:iaas、paas 和 saas。
paas(平台即服務),簡單理解就是提供類似作業系統(涵蓋資料庫、日誌、監控等服務)和開發工具的功能。
saas(軟體即服務),通過網際網路提供軟體服務的應用,使用者不用搭建環境,只需要付費就可以享受的雲服務。這類服務大家接觸到比較多,比如 google docs、石墨文件、上直播、億方雲,以及又拍雲的 webp 自適應、窄帶高畫質等多**雲處理服務。
總的來說,雲計算是一種基於網際網路的計算方式,通過這種方式,共享的軟硬體資源和資訊可以按需求提供給計算機各種終端和其他裝置。簡而言之,雲計算是網路資源配置的一種方式。
隨著雲計算的發展,計算機技術也跟著推陳出新,應用的規模愈發龐大,邏輯愈發複雜,迭代更新愈發頻繁,應用開發所需的統一規範和原有開發模式雜亂無章成立追求進步的主要障礙。
iaas 的彈性計算價效比低,資源利用率低,需要考慮特定場景,paas 則可以利用容器技術,不依賴虛擬機器、維護成本低另外具有高可擴充套件性。但無論 iaas 或者 paas 在資源利用率、應用架構選擇、支援的軟體環境方面都有一定的侷限性,而容器技術的發展彌補了 iaas 以及 paas 的不足。
說到容器技術,就不得不提一下 devops。devops(development 和 operations 的組合詞)是一組過程、方法與系統的統稱,用於促進開發(應用程式/軟體工程)、技術運營和質量保障(qa)部門之間的溝通、協作與整合。其理念和方法已經為許多團隊所採納。
2014 年 11 月,docker 作為有潛在趨勢的容器技術進入了 devops 的世界。它通過簡單的包裝和應用程式運輸加快了持續部署的能力,進而得到了普及。docker 作為一項開源工具,可以將應用程式及其依賴(如配置檔案等)打包到容器中,就可以在任何 linux 伺服器上執行該容器,而不會出現任何相容性問題。
容器化是乙個相當古老的概念,但 docker 帶來了一些全新的東西。
如今,docker 的主要使用者是開發人員和系統管理員,應用於devops 相關聯的構建和執行分布式應用程式。
為什麼現在 docker 那麼火,它究竟有哪些優點?
docker 輕量級,容器可以秒級啟動;
docker 對系統資源的使用率很高;
docker 容器的執行不需要額外的虛擬化支援,它是核心層級的虛擬化,因此可以實作更高的效能和效率;
docker 幾乎可以在任意平台上執行,包括實體機、公有雲或者個人電腦;
docker 管理簡單,只需要小小更改,就可以替代以往大量的更新工作。
docker 的應用場景主要涵蓋以下幾種:
web 應用的自動化打包和發布;
快速搭建開發和執行環境,並且該環境可以直接傳遞給測試和產品部署;
自動化測試和持續整合、發布;
在服務型環境中部署和調整資料庫或其他的後台應用。
docker 只是開啟網際網路新世界的一把鑰匙,對於企業或者個人複雜的專案來說,面臨的問題更多:
在此背景下容器雲的出現,成為解決這些複雜場景專案的救星。容器雲其實是按照容器為資源分割,封裝整個軟體執行時環境,為開發者和系統管理員提供用於構建,發布和執行分布式應用的平台。當容器雲專注於資源共享與隔離、容器編排與部署,它更接近 iaas 的概念;當容器雲滲透到應用支撐與執行時環境時,它更接近於 paas。
在很多企業中,應用程式發布是一項涉及多個團隊、壓力很大、風險很高的活動。然而在具備 devops 能力的組織中,應用程式發布的風險很低。因為與傳統的瀑布式開發模型相比,迭代式開發更加便捷。
我們假設一種場景,部署在物理機上的業務突然出現問題,該如何應對?普通客戶是更換物理機裝置,部署環境,然後再部署業務,作為乙個嫻熟的老司機,至少也需要耗費 1 小時 以上。之前又拍雲容器雲的乙個客戶就遇到了類似的情況。客戶同時在容器雲和物理機上在跑業務,容器雲上執行的業務大概有十幾個,一次遇到了物理機故障的情況,如果把原有業務遷移到物理機上,需要短時間內尋找替代裝置、設定生產環境,難度頗高;此時的解決方案是把物理機的流量切換到容器雲,不到10秒的時間就完成了業務切換,避免了故障導致的業務中斷,容器雲的好處顯而易見。
由此可見,容器雲為開發者進行構建發布應用的平台,使得企業交付整合能力更強。
五分鐘讀懂什麼是容器雲
又拍雲葉靖:openresty 在又拍雲容器平台中的應用
從雲計算到框計算
現在也是創造名詞的時代,從雲計算到框計算,一直都在蒙人。雲計算說白了就是cs模式,客戶端和伺服器的方式,伺服器為了適應網路大量服務,是多台,無論採用何種方式。一切有了這個聽起來有些玄,貌似深奧和優雅的名字後,有了很多雲計算的所謂技術,到處吹噓,這個還叫做有譜,baidu的框計算就基本屬於扯淡。使用者...
從SOA到雲計算
曾經有過世界性的 計算機將來是否可以超越人的智力,機械人是否可以反過來統治人類,當人把自己的感情能力也賦予給計算機,計算機也有了 生命 那 麼機械人也可以擁有人的權利嗎?計算機作為人類的輔助工具,而且越來越深入到人類生活 工作的各個角落,那麼計算機比人究竟擅長的是什麼?計算機技術飛速 發展,形態也花...
雲計算容器服務該何去何從
容器技術最近很火,各家專案紛紛提出自己的支援方案,比如 openstack cf mesos,以及一堆本身就基於容器的平台方案,更是跟容器技術脫不開關係。這也直接導致了曖昧已久的 iaas 和 paas 開始正面的跨界衝突。在 iaas 看來,做 paas 無非就是提供幾個應用模板嘛,原來虛機不好做...