本文首发于我的公众号 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
IaaS 提供的是比较底层的云计算服务,如服务器和虚拟机、存储空间、网络和操作系统,用户可以根据自己的需求租用特定的资源即可,云服务提供商管理和维护着这些资源,用户只需要购买、安装、配置和管理所需的软件,就可以构建自己的业务系统。
PaaS
PaaS 则可以按需提供开发、测试、交付和管理应用程序所需的环境,包括中间件和数据库相关的基础结构。用户可以专注在自己的业务逻辑上,无需关心环境的问题,因为一切都就绪,你就开干就行了。
SaaS
SaaS 则是提供实在的软件服务,一般用户通过订阅的方式来使用软件,随时随地都可以在云上使用现成的软件,无需下载安装,也无需关心软件升级和维护问题,因为这一切在云端都已经帮你做了。
虚拟机
虚拟机是资源的的具象,资源太抽象了,虽然说包括但不限于计算、存储和网络这三大资源,但是这些资源都是统一放在一个“池子”里,如何管理这些资源,并根据用户的需求合理地进行划分,虚拟机就是一种非常好的资源管理方式,它将物理主机上的资源进行细分,一个虚拟机使用一部分,彼此之间不会影响。在外部看来,它就像是一台真实的物理主机一样,拥有和主机该有的一切配置,包括 CPU、内存和 IO,只不过这些都是通过程序虚拟出来的。
虚拟化
虚拟化就是将资源进行细分(虚拟)的一门技术,它可以虚拟计算、虚拟存储、虚拟网络,以及虚拟网络功能。它的一个宗旨就是将闲置的资源划分出来,虚构一个和真实物理环境没有差别的虚拟环境,这样,用户在使用资源的时候,就像是在使用一台真实物理机一样。常见的虚拟化技术有 KVM、Xen、Qemu 等。
公众号后台回复“加群”,带你进入高手如云交流群
我的公众号 「Linux云计算网络」(id: cloud_dev) ,号内有 10T 书籍和视频资源,后台回复 「1024」 即可领取,分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、工具、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。