云计算的“云”源于绘制互联网的网络图表时的一个习惯——会将其画成一朵云。
1
最受认同的关于云计算含义的解释是,在一个商业供应者的数据中心上通过互联网远程运行工作负载——也就是所谓的“公有云”模式。AWS、Azure、谷歌云等平台都是这一云计算概念的例证。
但是,云计算还有一个更精确的解释:数据中心资源的虚拟化和中心管理。
其关键优势是敏捷性:根据工作负载的需求,使用抽象计算、存储和网络等资源,且具备大量的预构建服务。
从客户的角度来看,公有云能够提供一种方式,在不投入新的硬件和软件的情况下,获得新的功能。
同时,客户只需按照自己所使用的资源为他们的云供应商支付费用。只要填写web表单,用户就可以设置账户、加速虚拟机或提供新的应用程序。
根据客户在运行自己的工作负载时的需求增加更多计算资源,这种特性被称为伸缩性。
2
云计算中可用的服务种类是很多的,不过主要可以分为以下几类:
SaaS(software as a service,软件即服务)
这种类型的公有云在互联网上通过浏览器对应用程序进行交付。最受欢迎的商务级SaaS应用程序有谷歌的G Suite和微软的Office 365;而在企业级应用中,Salesforce独占鳌头。但是几乎所有的企业级应用,包括从Oracle到SAP的ERP套件,都采用SaaS模型。通常,SaaS应用可提供广泛的配置选项以及开发环境,使客户能够自己对代码进行修改和添加。
IaaS(infrastructure as a service,基础设施即服务)
在基础层面上,IaaS公有云供应商提供存储和计算服务。但所有主要公有云供应商提供的服务都是惊人的:高可伸缩数据库、虚拟专用网络、大数据分析、开发工具、机器学习、应用程序监控等等。AWS是第一个IaaS供应商,且目前仍是领袖,紧随其后的是微软Azure、谷歌云平台和IBM Cloud.
PaaS(platform as a service,平台即服务)
PaaS所提供的服务和工作流专门针对开发人员,他们可以使用共享工具、流程和API来加速开发、测试和部署应用程序。Saleforce的Salesforce的Heroku和Force.com是非常受欢迎的公共云PaaS产品;Pivotal的Cloud Foundry和红帽的OpenShift可以在本地部署或通过一些主要的公有云来访问。对于企业来说,PaaS可以确保开发人员对已就绪的资源的访问,遵循一定的流程和只使用一个特定的系列服务,运营商则维护底层基础设施。
值得一提的是,专为移动端开发人员使用的各种PaaS一般被称作MBaaS(移动后端即服务),或者只是BaaS(后端即服务)。
FaaS(functions as a service,功能即服务)
FaaS,无服务器计算的云实例化,为PaaS增加了另一个抽象层,以便开发人员在堆栈中完全隔绝一切优先级低于他们代码的东西。不是去搞虚拟服务器、容器和应用运行时间,而是上传功能代码块,让它们被某个事件触发(例如表单提交或上传文件)。所有主要云都会在IaaS之上提供FaaS:AWS Lambda、Azure Functions、谷歌云Functions以及IBM OpenWhisk.FaaS应用的一个特殊的好处是,在事件发生之前不会使用IaaS资源,可通过降低资源使用率来减少费用。
3
私有云
私有云可以说是小尺寸的IaaS公有云,使软件可以部署和运行在客户的数据中心。与公有云一样,内部客户可以提供自己的虚拟资源,以构建、测试和运行应用程序,通过计量资源消耗进行收费。对于管理员而言,私有云数据中心最好就是自动化,而最差的情况则是手动配置和管理。VMware的软件定义数据中心栈是最受欢迎的商业私有云软件,虽然OpenStack是开源方面的领袖。
混合云
混合云是私有云与公有云的集成。混合云涉及创建并行环境,是应用程序可以在私有云和公有云之间轻松移动。在其他情况下,数据库可能待在客户数据中心与公有云应用程序集成——在需求高峰期,虚拟化数据中心的工作负载可能会被复制到云。私有云和公有云之间的集成类型差别很大,但他们必须各自互相适应,以成为一个混合云的模式。
公有 API(API,应用程序设计接口)
正如SaaS在互联网上为用户交付应用程序,共有API为开发人员提供应用程序功能,可以以编程的方式访问。例如,在构建Web应用时,开发人员经常会利用谷歌地图API提供行车路线;为了集成到社交媒体,开发人员可能会呼吁API通过Twitter或Facebook被保持。Twilio已经建立了一个成功的业务,致力于通过公共API提供电话和消息传递服务。最终,任何企业都可以提供自己的公有API实现客户消费数据和应用程序功能的访问。