一、公有雲概念
雲是一種通過虛擬化技術把硬件資源抽象成的資源池,而公有雲通常指第三方提供商為用戶提供的能夠使用的雲。公有雲一般可通過互聯網使用,可能是免費或成本低廉的,公有雲的核心屬性是共享資源服務。公有雲的服務對象個人用戶和中小型企業用戶,用戶對雲資源只有使用權而沒有擁有權。相對於使用本地硬件資源,雲計算因為僅僅需要互聯網即可使用,對使用者所使用的硬件設備和軟件版本沒有太多要求,所以在共享性和安全性上有着巨大的優勢。
二、公有雲與私有雲、混合雲的區別
私有雲是為一個用戶單獨使用而構建的,因而在數據安全性以及服務質量上自己可以有效的管控,私有雲的基礎是首先你要擁有基礎設施並可以控制在此設施上部署應用程序的方式,私有雲可以部署在企業數據中心的防火牆內,核心屬性是專有資源。
混合雲則是融合了公有雲與私有雲的優劣勢,綜合了數據安全性以及資源共享性雙重方面的考慮,個性化的方案達到了省錢安全的目的,從而獲得越來越多企業的青睞,但是在實現上有一定的技術難度。
屬性 |
數據安全性(對數據的掌控能力) |
功能拓展型(系統集成便捷性) |
SLA(服務質量) |
成本 |
核心屬性 |
私有雲 |
高 |
高 |
強 |
維護成本較高 |
專有 |
公有雲 |
低 |
低 |
中 |
數據風險成本較高 |
共享 |
混合雲 |
高 |
中 |
差 |
學習成本較高 |
個性化配置 |
三、國內公有雲發展狀況
國內目前提供公有雲服務的有阿里雲、百度雲、騰訊雲和青雲等。國內的大型互聯網廠商,如阿里巴巴、百度、騰訊等,以及運營商都紛紛推出了各自的公有雲平台;同時青雲、UCloud 等初創公司憑借風投的資金也加入到了公有雲市場的競爭中;此外,微軟、IBM、Amazon 等國外公有雲服務提供商也紛紛通過與國內IDC 合作的模式進入中國市場。
對公有雲的服務模式看,新浪、百度目前以PaaS為主,騰訊、阿里、青雲目前以IaaS為主。從長線來看,除了青雲之外,其他所有廠商都會走向IaaS+PaaS的混合模式。
其中服務模式分為
(1)IaaS:Infrastructure as a Service,即基礎設施即服務。IaaS 是雲服務的最底層,主要提供一些基礎資源,用戶需要自己控制底層,實現基礎設施的使用邏輯。
(2)PaaS:Platform as a Service,即平台即服務。PaaS 提供軟件部署平台(runtime),抽象掉了硬件和操作系統細節,可以無縫地擴展(scaling)。開發者只需要關注自己的業務邏輯,不需要關注底層。
(3)SaaS:Software as a Service,即軟件即服務。SaaS 是軟件的開發、管理、部署都交給第三方,不需要關心技術問題,可以拿來即用,普通用戶接觸到的互聯網服務,幾乎都是 SaaS。
四、公有雲能夠提供的服務
1.雲計算基礎服務:包含雲服務器、雲數據庫、負載均衡等;
2.大數據:數據集成、數據開發、機器學習等;
3.安全:雲防火牆、數據風控、服務器安全監控;
4.域名服務:雲解析DNS、雲虛擬主機、雲虛擬主機等。
五、相關技術
1. 虛擬化技術
虛擬化是一種資源管理技術,是將計算機的各種實體資源,如服務器、網絡、內存及存儲等,予以抽象、轉換后呈現出來,打破實體結構間的不可切割的障礙,使用戶可以比原本的組態更好的方式來應用這些資源。這些資源的新虛擬部份是不受現有資源的架設方式,地域或物理組態所限制。一般所指的虛擬化資源包括計算能力和資料存儲。在實際的生產環境中,虛擬化技術主要用來解決高性能的物理硬件產能過剩和老的舊的硬件產能過低的重組重用,透明化底層物理硬件,從而最大化的利用物理硬件。
目前商用的幾種虛擬化技術:
(1)OpenVZ:OpenVZ是操作系統級別的虛擬化技術,是底層操作系統上的一層應用,這意味着易於理解和低權重開銷,一般來說也意味着更優的性能。OpenVZ采用SWsoft的Virutozzo虛擬化服務器軟件產品的內核,是基於Linux平台的操作系統級服務器虛擬化架構。這個架構直接調用母服務器(母機)中的內核,模擬生成出子服務器(VPS,小機),所以,它經過虛擬化后相對於母服務器,性能損失大概只有的1-3%。
(2)Xen:Xen是一個開放源代碼虛擬機監視器,由劍橋大學開發。Xen的缺點是操作系統必須進行顯式地修改(“移植”)以在Xen上運行(但是提供對用戶應用的兼容性),所以比較麻煩。使得Xen無需特殊硬件支持,就能達到高性能的虛擬化。Linux的官方內核在較早之前已經去掉了對Xen的支持。Xen是半虛擬化技術,它並不是一個真正的虛擬機,而是相當於自己運行了一個內核的實例,可以自由的加載內核模塊,虛擬的內存和IO,穩定而且可預測。
(3)KVM:KVM是指基於Linux內核(Kernel-based)的虛擬機(Virtual Machine)。KVM最大的好處就在於它是與Linux內核集成的,所以速度很快。KVM的宿主操作系統必須是Linux,支持的客戶機操作系統包括Linux、Windows、Solaris和BSD,運行在支持虛擬化擴展的x86和x86_64硬件架構上,cpu支持VT技術。kvm是完全虛擬的,所以不分pv和hvm的區別,所有的kvm類+型的虛擬技術都可以裝各種linux的發行版和各種win的發行版,不管供應商在主頁有沒有寫明是否支持win。
2. IaaS開源管理平台:OpenStack
OpenStack是一個開源的雲計算管理平台項目,由幾個主要的組件組合起來完成具體工作。OpenStack支持幾乎所有類型的雲環境,項目目標是提供實施簡單、可大規模擴展、豐富、標准統一的雲計算管理平台。OpenStack通過各種互補的服務提供了基礎設施即服務(IaaS)的解決方案,每個服務提供API以進行集成。其核心部件包括:
Nova:負責虛擬機創建、管理和銷毀、提供計算資源服務;
Swift:提供對象存儲服務的分布式存儲;
Glance:提供虛擬機鏡像管理和存儲服務;
Keystone:提供身份認證和授權;
Neutron:軟件定義網絡項目;
Cinder:提供塊存儲服務;
Horizon:提供基於 Web 的一個 GUI。
OpenStack主要是依靠開源社區推動開發以及維護,每半年升級一次版本。
3. 分布式開發工具:Spring Cloud
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的開發便利性巧妙地簡化了分布式系統基礎設施的開發,如服務發現注冊、配置中心、消息總線、負載均衡、斷路器、數據監控等,都可以用Spring Boot的開發風格做到一鍵啟動和部署。Spring Cloud並沒有重復制造輪子,它只是將目前各家公司開發的比較成熟、經得起實際考驗的服務框架組合起來,通過Spring Boot風格進行再封裝屏蔽掉了復雜的配置和實現原理,最終給開發者留出了一套簡單易懂、易部署和易維護的分布式系統開發工具包。
4. 容器管理工具:K8S
Kubernetes(簡稱K8S)是一個全新的基於容器技術的分布式架構領先方案,是Google開源的容器集群管理系統(谷歌內部:Borg)。在Docker技術的基礎上,為容器化的應用提供部署運行、資源調度、服務發現和動態伸縮等一系列完整功能,提高了大規模容器集群管理的便捷性。
Kubernetes是一個完備的分布式系統支撐平台,具有完備的集群管理能力,多擴多層次的安全防護和准入機制、多租戶應用支撐能力、透明的服務注冊和發現機制、內建智能負載均衡器、強大的故障發現和自我修復能力、服務滾動升級和在線擴容能力、可擴展的資源自動調度機制以及多粒度的資源配額管理能力。同時Kubernetes提供完善的管理工具,涵蓋了包括開發、部署測試、運維監控在內的各個環節。Kubernetes的優勢是容器編排、輕量級、開源、彈性伸縮、負載均衡。
最后需要感謝一下之前的前輩分享的知識,本文內容參考與一下資料,如作者有任何問題可聯系我刪除相關內容
http://www.ruanyifeng.com/blog/2017/07/iaas-paas-saas.html
https://wenku.baidu.com/view/eec83079590216fc700abb68a98271fe910eafdc.html
https://wenku.baidu.com/view/8d9bedc4783e0912a3162a57.html
https://blog.csdn.net/cctvchannelv/article/details/22265413
https://baike.baidu.com/item/公有雲/7845590
https://wenku.baidu.com/view/4a8101c8dd36a32d7275812d.html
https://baike.baidu.com/item/虛擬化技術/276750?fr=aladdin
https://baike.baidu.com/item/OpenStack/342467?fr=aladdin
https://baike.baidu.com/item/spring%20cloud/20269825?fr=aladdin
https://blog.csdn.net/real_myth/article/details/78719244
https://blog.csdn.net/heartyhu/article/details/51087084
https://blog.csdn.net/enweitech/article/details/52910082