本文首发于个人公众号 Linux云计算网络(id: cloud_dev),专一于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」便可领取,欢迎你们关注,二维码文末能够扫。数据库
在云计算中,资源和服务本质上是同样的,服务可能更泛一些,资源通常特指 CPU(计算)、Mem(存储)和 IO (网络)三大资源, 云计算的作法就是将闲置的这些资源充分利用起来,租给用户使用。我以为这也有点共享经济的意思,你们把本身身边闲置的资源拿出来,分享给别人使用,我为人人,人人为我。只不过云计算这种资源比较奢侈,通常人还提供不起,只有那些大企业,在知足本身业务需求之余,还空闲着不少资源,因此,与其浪费掉,还不如租给用户去使用,既避免了浪费,还能赚钱。编程
资源多了,就会有一个问题,这些资源该放在哪,以及怎么放,这就涉及到云计算资源的部署类型,根据放的地方不一样,能够分为公有云、私有云和混合云。公有云就是放在一个公共的地方,这个地方有个术语叫云服务提供商,这通常都是大公司,小公司还玩不转;私有云则是放在企业内部,通常供自身业务需求;而混合云则是二者融合起来,公有云服务体量大的业务,私有云负责数据的安全。而根据怎么放,近年来已经玩出了不少新花样,譬如把和政务相关的资源放一块,造成政务云,跟金融相关的放一块又造成金融云,相似的还有视频云、音乐云、直播云等。安全
资源整合起来,就须要对外提供服务,用户那么多,可能每一个用户的对服务的需求都不同,该怎么知足用户多样的需求,是一个很是关键的问题。好比用户想要一个开发环境,想立马就上手 Coding,你就不能纯粹给他一个裸机资源,又如用户想用 email 服务,你也必须给他装好相应的软件,用户只需动动手指就可使用。因此,根据提供的服务类型的不一样,能够将云服务分为 IaaS(基础设施即服务)、PaaS(平台即服务) 和 SaaS(软件即服务)。一样,若是再细分的话,相似的还有 DaaS(数据即服务)、SDNaaS(SDN 即服务)、CaaS(容器即服务)等。服务器
上面已经说了一些,这里严格定义一下,公有云通常为云服务器提供商所拥有和运营,包括全部硬件、软件和其余支撑性基础设施资源,经过 Internet 向用户提供其资源,用户能够经过 Web 等方式来访问这些资源。业界比较有名的公有云厂商有:Amazon AWS、Microsoft Azure、Google Cloud、阿里云、腾讯云、百度云、UCloud 等。网络
私有云是专供一个企业或组织使用的云计算资源,通常部署在自家数据中心上,也能够付费给第三方的提供商托管。在私有云中,经过专用网络来维护其服务和基础结构,于是安全性会比较高。业界比较有名的私有云厂商有:VMWare、Nutanix.、深信服、华为云、青云等。工具
混合云组合了公有云和私有云,经过技术手段支持数据和应用程序在二者之间迁移,可以为企业提供更大的灵活性和更多的部署选项。测试
IaaS 提供的是比较底层的云计算服务,如服务器和虚拟机、存储空间、网络和操做系统,用户能够根据本身的需求租用特定的资源便可,云服务提供商管理和维护着这些资源,用户只须要购买、安装、配置和管理所需的软件,就能够构建本身的业务系统。阿里云
PaaS 则能够按需提供开发、测试、交付和管理应用程序所需的环境,包括中间件和数据库相关的基础结构。用户能够专一在本身的业务逻辑上,无需关心环境的问题,由于一切都就绪,你就开干就好了。云计算
SaaS 则是提供实在的软件服务,通常用户经过订阅的方式来使用软件,随时随地均可以在云上使用现成的软件,无需下载安装,也无需关心软件升级和维护问题,由于这一切在云端都已经帮你作了。操作系统
虚拟机是资源的的具象,资源太抽象了,虽说包括但不限于计算、存储和网络这三大资源,可是这些资源都是统一放在一个“池子”里,如何管理这些资源,并根据用户的需求合理地进行划分,虚拟机就是一种很是好的资源管理方式,它将物理主机上的资源进行细分,一个虚拟机使用一部分,彼此之间不会影响。在外部看来,它就像是一台真实的物理主机同样,拥有和主机该有的一切配置,包括 CPU、内存和 IO,只不过这些都是经过程序虚拟出来的。
虚拟化就是将资源进行细分(虚拟)的一门技术,它能够虚拟计算、虚拟存储、虚拟网络,以及虚拟网络功能。它的一个宗旨就是将闲置的资源划分出来,虚构一个和真实物理环境没有差异的虚拟环境,这样,用户在使用资源的时候,就像是在使用一台真实物理机同样。常见的虚拟化技术有 KVM、Xen、Qemu 等。
公众号后台回复“加群”,带你进入高手如云交流群
个人公众号 「Linux云计算网络」(id: cloud_dev) ,号内有 10T 书籍和视频资源,后台回复 「1024」 便可领取,分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、工具、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎你们关注。