什么是云计算?现在需要知道的一切

语言: CN / TW / HK

​云计算是计算、存储和网络基础设施的抽象,它被组装成一个平台,应用程序和系统可以在该平台上快速部署和动态扩展。云计算的关键是自助服务:用户可以简单地填写网络表格并启动和运行。

绝大多数云客户通过互联网使用公共云计算服务,这些服务托管在由云提供商维护的大型远程数据中心。最常见的云计算类型SaaS(软件即服务)向按座位或按使用量付费的客户的浏览器提供预构建的应用程序,例如Salesforce、Google Docs或Microsoft Teams等流行应用程序。紧随其后的是IaaS(基础设施即服务),它提供庞大的虚拟化计算、存储和网络基础设施,客户可以在这些基础设施上构建自己的应用程序,通常借助提供商的API可访问服务。

当人们通常说“云平台”时,他们通常指的是大型IaaS提供商:AWS(亚马逊网络服务)、谷歌云或微软Azure。这三者都已成为超越基础设施的庞大服务生态系统:开发人员工具、无服务器计算、机器学习服务和API、数据仓库以及数以千计的其他服务。对于SaaS和IaaS,一个关键优势是敏捷性。客户几乎可以立即获得新功能,而无需对硬件或软件进行资本投资,而且他们可以根据需要立即扩展他们消耗的云资源。

每种类型的云计算定义

早在2011年,NIST就发布了一份PDF文件,将云计算分为三种“服务模型”——SaaS、IaaS和PaaS(平台即服务)——后者是客户开发和运行应用程序的受控环境。这三个类别在很大程度上经受住了时间的考验,尽管大多数PaaS解决方案现在将自己作为IaaS生态系统中的服务提供,而不是将自己呈现为自己的云。

自NIST的三重定义以来,出现了两种进化趋势。一个是SaaS、IaaS和PaaS中的子类别的长且不断增长的列表,其中一些子类别模糊了类别之间的界限。另一个是云中可用的API可访问服务的爆炸式增长,尤其是在IaaS生态系统中。云已经成为创新的熔炉,许多新兴技术首先以服务的形式出现,这对了解早期采用的潜在竞争优势的商业客户来说是一个巨大的吸引力。

(1)SaaS(软件即服务)的定义

这种类型的云计算通过互联网提供应用程序,通常使用基于浏览器的用户界面。今天,绝大多数软件公司通过SaaS提供他们的产品——如果不是唯一的,那么至少作为一种选择。

最流行的商业SaaS应用程序可以在Google的GSuite和Microsoft的Office 365中找到;大多数企业应用程序,包括Oracle和SAP的大型ERP套件,都有SaaS和本地版本。SaaS应用程序通常提供广泛的配置选项以及开发环境,使客户能够编写自己的修改和添加代码。它们还支持与本地应用程序的数据集成。

(2)IaaS(基础设施即服务)的定义

在基本层面上,IaaS云提供商通过互联网以按使用付费的方式提供虚拟化计算、存储和网络。可以把它想象成一个由其他人远程维护的数据中心,但有一个软件层可以虚拟化所有这些资源,并使客户能够轻松地分配这些资源。

但这只是基础。主要公共IaaS提供商提供的全套服务令人震惊:高度可扩展的数据库、虚拟专用网络、大数据分析、开发人员工具、机器学习、应用程序监控等等。亚马逊网络服务是第一个IaaS提供商,并且仍然是领先者,其次是微软Azure、谷歌云平台、阿里云和IBM云。

(3)PaaS(平台即服务)的定义

PaaS提供专门针对开发人员的服务和工作流集,他们可以使用共享工具、流程和API来加速应用程序的开发、测试和部署。Salesforce的Heroku和Salesforce Platform(以前称为Force.com)是流行的公共云PaaS产品;Cloud Foundry和RedHat的OpenShift可以部署在本地,也可以通过主要的公共云进行访问。对于企业而言,PaaS可以确保开发人员可以随时访问资源、遵循某些流程并只使用特定的服务阵列,而运营商则维护底层基础设施。

(4)FaaS(功能即服务)的定义

FaaS是无服务器计算的云版本,它为PaaS添加了另一层抽象,使开发人员与代码下方堆栈中的所有内容完全隔离。开发人员不使用虚拟服务器、容器和应用程序运行时,而是上传狭窄的功能代码块,并将它们设置为由某个事件(例如表单提交或上传的文件)触发。所有主要的云都在IaaS之上提供FaaS:AWS Lambda、Azure Functions、Google Cloud Functions和IBM Cloud Functions。FaaS应用程序的一个特殊好处是它们在事件发生之前不消耗任何IaaS资源,从而降低了按使用付费的费用。

(5)私有云的定义

私有云将用于运行IaaS公有云的技术缩减为可在客户数据中心部署和操作的软件。与公共云一样,内部客户可以配置自己的虚拟资源来构建、测试和运行应用程序,并通过计量向部门收取资源消耗费用。对于管理员而言,私有云相当于数据中心自动化的终极目标,最大限度地减少了人工配置和管理。VMware提供最流行的商业私有云软件,而OpenStack是开源领导者。

但是请注意,私有云并不完全符合云计算的定义。云计算是一种服务。私有云要求组织构建和维护自己的底层云基础设施;只有私有云的内部用户才能将其视为云计算服务。

(6)混合云的定义

混合云是私有云与公共云的集成。在最发达的情况下,混合云涉及创建并行环境,应用程序可以在其中轻松地在私有云和公共云之间移动。在其他情况下,数据库可能保留在客户数据中心并与公共云应用程序集成,或者在需求高峰期可能将虚拟化数据中心工作负载复制到云中。私有云和公共云之间的集成类型差异很大,但它们必须广泛才能获得混合云的称号。

什么是云原生方法?

(1)公共API(应用程序编程接口)的定义

正如SaaS通过互联网向用户提供应用程序一样,公共API为开发人员提供可以通过编程方式访问的应用程序功能。例如,在构建Web应用程序时,开发人员经常利用Google Maps API来提供行车路线;为了与社交媒体集成,开发人员可以调用由Twitter、Facebook或LinkedIn维护的API。Twilio建立了通过公共API提供电话和消息服务的成功业务。最终,任何企业都可以配置自己的公共API,使客户能够使用数据或访问应用程序功能。

(2)iPaaS(集成平台即服务)定义

数据集成对于任何大型公司来说都是一个关键问题,尤其是对于那些大规模采用SaaS的公司。iPaaS提供商通常会提供预构建的连接器,用于在流行的SaaS应用程序和本地企业应用程序之间共享数据,尽管提供商可能或多或少地关注企业对企业和电子商务集成、云集成或传统SOA风格的集成。来自DellBoomi、Informatica、MuleSoft和SnapLogic等提供商的云中iPaaS产品还允许用户在集成构建过程中实施数据映射、转换和工作流。

(3)IDaaS(身份即服务)的定义

与云计算相关的最困难的安全问题是跨私有数据中心和公共云站点的用户身份及其相关权限的管理。IDaaS提供商维护基于云的用户配置文件,这些配置文件对用户进行身份验证并允许基于安全策略、用户组和个人权限访问资源或应用程序。与各种目录服务(Active Directory、LDAP等)集成并跨面向业务的SaaS应用程序提供单点登录的能力至关重要。Okta显然是基于云的IDaaS的领导者;CA、Centrify、IBM、Microsoft、Oracle和Ping提供本地和云解决方案。

(4)协作平台

Slack和Microsoft Teams等协作解决方案已成为重要的消息传递平台,使团队能够有效地沟通和合作。基本上,这些解决方案是相对简单的SaaS应用程序,支持聊天式消息传递以及文件共享和音频或视频通信。大多数提供API以促进与其他系统的集成,并使第三方开发人员能够创建和共享增强功能的插件。

(5)垂直云

金融服务、医疗保健、零售、生命科学和制造业等行业的主要供应商提供PaaS云,使客户能够构建垂直应用程序,利用行业特定的API可访问服务。垂直云可以显着缩短垂直应用程序的上市时间并加速特定领域的B2B集成。大多数垂直云都是为了培育合作伙伴生态系统而构建的。

其他云计算注意事项

云计算最广泛接受的定义是指您在其他人的服务器上运行您的工作负载,但这与外包不同。虚拟云资源甚至SaaS应用程序都必须由客户配置和维护。在规划云计划时考虑这些因素。

(1)云计算安全注意事项

对公有云的反对通常始于云安全,尽管主要的公有云已经证明自己比普通企业数据中心更不容易受到攻击。

更令人担忧的是客户和公共云提供商之间的安全策略和身份管理的集成。此外,政府法规可能会禁止客户将敏感数据带出场所。其他担忧包括中断风险和公共云服务的长期运营成本。

(2)多云管理注意事项

成为多云采用者的门槛很低:客户只需要使用多个公共云服务。但是,根据所涉及的云服务的数量和种类,从成本优化和技术角度来看,管理多个云可能会变得相当复杂。

在某些情况下,客户订阅多个云服务只是为了避免依赖单一提供商。一种更复杂的方法是根据它们提供的独特服务来选择公共云,并在某些情况下集成它们。例如,开发人员可能希望在谷歌云平台上使用Google的TensorFlow机器学习服务来构建AI驱动的应用程序,但更喜欢托管在CloudBees平台上的Jenkins以进行持续集成。

为了控制成本和减少管理开销,一些客户选择云管理平台(CMP)和/或云服务代理(CSB),让您可以像管理一个云一样管理多个云。问题在于,这些解决方案往往将客户限制在存储和计算等通用服务上,而忽略了使每个云独一无二的服务。

(3)边缘计算注意事项

人们经常看到边缘计算被描述为云计算的替代方案。但事实并非如此。边缘计算是将计算转移到高度分布式系统中的本地设备,通常作为围绕云计算核心的一层。通常会涉及到一个云来协调所有设备并接收它们的数据,然后对其进行分析或以其他方式对其采取行动。

云计算的好处

云的主要吸引力在于缩短需要动态扩展的应用程序的上市时间。然而,从机器学习到物联网(IoT)连接,大量先进的新服务可以整合到应用程序中,从而越来越多地吸引开发人员使用云。

尽管企业有时会将遗留应用程序迁移到云中以减少数据中心资源需求,但真正的好处在于利用云服务和“云原生”属性的新应用程序。后者包括微服务架构、增强应用程序可移植性的Linux容器和容器管理解决方案,例如编排基于容器的服务的Kubernetes。云原生方法和解决方案可以是公共云或私有云的一部分,有助于实现高效的Devops式工作流。

云计算,公共或私有或混合或多云,已成为大型应用程序的首选平台,特别是需要频繁更改或动态扩展的面向客户的应用程序。更重要的是,主要的公共云现在引领着企业技术的发展,在它们出现之前就展示了新的进步。不同的工作负载,企业正在选择云计算,在云计算中,令人兴奋的新技术层出不穷,吸引着创新使用。

SaaS起源于2000年代初期的应用程序服务提供商(ASP)趋势,当时提供商将在提供商的数据中心为商业客户运行应用程序,并为每个客户提供专用实例。ASP模型是一个巨大的失败,因为供应商很快就无法维护这么多独立的实例,尤其是当客户要求定制和更新时。

Salesforce被广泛认为是第一家使用多租户(SaaS模型的定义特征)推出非常成功的SaaS应用程序的公司。订阅企业的salesforce自动化软件的客户不是每个客户都拥有自己的应用程序实例,而是共享一个单一的、大型的、动态扩展的应用程序实例(如共享公寓楼的租户),同时将他们的数据存储在单独的、安全的存储库中SaaS提供商的服务器。可以在零停机时间的情况下在幕后推出修复程序,并且客户可以在可用时收到用户体验或功能改进。​