公共云提供一系列服务和功能,旨在支持计算作为实用程序。但是,并非所有的云服务都是相同的。
云用户可以部署服务、平台甚至整个基础架构,以建立所需的云抽象级别,并控制企业应用程序的部署和交付。
随着企业探索和部署公共云,他们需要了解每个抽象级别的差异、利弊和用例。下面让我们了解每个云抽象选项,并考虑对你的企业的好处和影响。
SaaS:通过云计算提供服务
在云端,最高级别的抽象是软件即服务(SaaS)模型。
在SaaS模型中,云提供商封装并交付既定的应用程序给业务用户。该应用程序通常托管在云端,并由第三方供应商进行管理。用户在提供商创建帐户以访问该应用程序。用户可通过互联网和Web浏览器访问该应用程序,而无需用户安装或维护任何东西。根据用户数量和应用程序功能,企业需要支付经常性月租费。
SaaS的主要好处是简单和方便。当企业使用SaaS时,无需内部采购、部署、管理、维护和支持该应用程序。这消除了托管和管理应用程序的成本和后勤工作,从而为需要支持很多常规应用程序的繁忙数据中心节省大量资金。同时,应用程序从内部迁移到SaaS还可以减少基础架构,并使IT人员有更多时间专注于其他项目。
考虑基本企业电子邮件为例。传统业务可能会在本地数据中心中构建、部署和维护Microsoft Exchange服务器和基础结构。但是企业可能会选择使用Office 365 SaaS代替,并使用Microsoft托管的Outlook和Exchange。SaaS产品现已提供无数应用程序,SaaS的常见示例包括Salesforce、Dropbox、SAP Concur、Zoom和Microsoft Teams。
尽管SaaS是访问软件产品的既定且负担得起的方法,但是此云抽象模型还需要考虑很多问题:
- 集成和互操作性支持。企业很难或不可能完全集成SaaS和内部应用程序,并且SaaS供应商集成支持很有限或不存在。
- 可移植性限制。SaaS应用程序创建和托管的数据可能无法移植到其他SaaS产品或应用程序。这可能会导致供应商锁定。
- 安全性和合规性范围。处理敏感数据的应用程序可能需要保留在内部或依靠SaaS供应商SLA来支持安全性和合规性认证。
- 可用性和停机时间控制。这类问题可能会发生:由于缺乏对软件或其交付的控制权-所有这些都由SaaS提供商处理。
- 自定义限制。与在本地部署相同的应用程序相比,SaaS功能集和自定义设置可能会受到限制。
PaaS:通过云计算提供平台
公共云中较低的抽象级别是平台即服务(PaaS)模型。
PaaS在很多方面都像SaaS。与其让提供商托管并交付单个应用程序,不如让提供商提供一组相互关联的应用程序和工具,使用户可以通过互联网和Web浏览器进行访问。这些工具可以由很多用户共享,并可以用来创建完整的功能齐全的软件开发环境、混合云或其他环境。
与SaaS一样,PaaS工具通常托管在云端,并由第三方进行管理。这使企业和本地IT员工可免于自己创建和管理工具框架。用户在PaaS提供商创建帐户,并且企业支付类似于SaaS模型的经常性月租费用。SaaS将所有创建的内容保留在提供商,而PaaS则将内容(例如所开发的应用程序和数据)保留在用户方。
例如,当软件开发PaaS创建应用程序时,该应用程序仍然是用户的资产,并且如果需要的话,即使没有基础平台,他们也可以出售、部署和使用该应用程序。PaaS最常见的形式是软件开发框架和工具集,例如Google App Engine、Heroku、Microsoft Power Apps或Salesforce Force.com,以及编排服务,例如AWS Elastic Beanstalk或Red Hat OpenShift。
PaaS是从云端整理和交付相关的应用程序或工具组的有效方法,但是企业应考虑与PaaS产品相关的限制:
- 集成限制。对于PaaS工具集中工具而言,互操作性从来都不是问题,但是将PaaS和其他内部工具集成可能很困难或不可能,例如将内部测试工具添加到PaaS套件中。
- 可移植性下降。在PaaS框架内创建和托管的数据可能无法移植到其他提供商的其他PaaS产品中。例如,在一个PaaS中创建的代码、工作流和测试数据可能无法移植到第二个PaaS中。当用户需要PaaS提供商无法提供的其他工具时,这可能会出现供应商锁定,并产生问题。
- 开发问题。PaaS可能会带来开发问题,例如依靠不太受欢迎的语言或可能不支持所需测试类型的测试架构。用户受到平台及其组件功能的限制,并且很少能将平台扩展到其既定功能之外。
- 不一致性。PaaS使用的操作和管理工作流程可能与内部或与其他开发平台使用的工作流程不同或不一致。这使得某些PaaS平台难以在正常业务运营中使用。
IaaS:通过云计算来提供基础架构
在公共云中,抽象级别最低的是基础架构即服务(IaaS)模型,该模型基本上充当云端的虚拟数据中心。
IaaS托管应用程序和数据。IT团队使用IaaS来整合由云资源和服务组成的虚拟基础架构,这些基础架构能够运行应用程序,并且可供员工、业务合作伙伴和用户使用。IaaS的主要好处是便利性,它使企业能够放弃昂贵的本地数据中心基础架构,而转而使用仅在需要时可用和付费的灵活云资源。
云端基础架构与本地数据中心内基础架构具有相同的目的。它提供部署和支持应用程序所需的基础资源和服务。借助IaaS,企业可以在很大程度控制资源和服务,以提供最终基础架构。配置虚拟机实例,并将该实例连接到存储桶以运行基本应用程序,这可能很简单。
在另一方面,用户可以将云基础架构配置为包含很多不同的计算实例、存储元素、负载平衡器、数据库服务等,从而为要求苛刻的应用程序构建强大且高度可用的环境。
每个公共云提供商都提供广泛的基础架构服务,包括AWS、Microsoft Azure和Google Cloud。其他IaaS提供商包括Rackspace和DigitalOcean。
IaaS是公共云的典型用例,并且数十年来一直在不断发展。但是,它仍然存在一些问题和局限性。
- 安全。尽管云提供商对云计算安全性负责,但其实用户也需要负责云端安全性。IaaS用户必须处理安全元素,例如资源配置、身份验证和授权。
- 成本。公有云基础设施可能包括一系列令人费解的资源和服务-每个资源和服务都涉及各种月度成本和按使用成本。这可能会使IaaS部署成本难以预测和控制,尤其是当自动扩展服务对资源供应进行计划外的调整时。
- 监控和管理。配置云基础架构相对容易;监视和管理该基础架构以为业务创造价值具有挑战性。企业必须监视资源和服务,并调整或消除不必要的容量或实例,以限制成本并优化性能。
- 多云的复杂性。多云功能的想法仍然很难实现,即将工作负载从一个云部署和迁移到另一个云。那些依靠IaaS的企业经常面临供应商锁定问题,可能需要部署不同的基础架构资源和服务集,才能将同一应用程序部署到不同的云提供商。
虚拟机与容器与无服务器
在IaaS模型中,还需要考虑三个以上的抽象层。每个抽象层都依赖于虚拟化,从而使软件与底层硬件脱离。
- 虚拟机(VM)。这些是经典的虚拟实例,使用管理程序来配置和维护高度隔离的逻辑实例。每个逻辑实例充当独立的功能齐全的服务器,并接收其自己的操作系统、驱动程序和应用程序。VM是最大的虚拟实例类型,它们需要投入最大的计算资源,例如处理器和内存。对于需要连续运行的传统软件来说,VM是理想的选择。
- 容器。容器使用Docker或Apache Mesos等管理程序在通用操作系统内核上创建和管理实例。容器是隔离的(除了常见的操作系统)-但比VM小得多,效率更高。容器最常用于承载应用程序组件,这些组件可以组合在一起以构建完整且高度可扩展的应用程序,也称为微服务。与VM相比,容器的创建和销毁速度更快,并且通常用于临时或短暂的实例。
- 无服务器计算。无服务器是作为服务提供,例如AWS Lambda,它通过事件驱动的计算仅按需运行代码。用户定义代码和触发条件,然后根据这些条件加载并执行代码。当缺少触发条件时,该代码及其相关资源将不会运行。云计算提供商在后端配置和管理基础实例。
选择正确的云抽象级别
在云抽象模型之间进行选择时,请根据资源和服务的可用性以及所需的控制级别来做出决定。
(1) SaaS
当企业想要使用现有应用程序但又不想内部购买、安装和管理该应用程序时,SaaS通常是最佳选择。例如,企业可能选择使用Zoom作为虚拟会议和协作服务。SaaS提供商提供和管理服务。但是,如果企业担心数据安全性、应用程序性能和可用性,在做出决定前,需要仔细考虑SaaS选项。
(2) PaaS
当特定平台或工具集需要支持业务任务或计划时,PaaS是更好的选择。例如,软件开发人员可以使用开发PaaS,因此很多不同的开发人员可以共享代码、运行测试、实施版本控制以及在项目上进行协作。与SaaS一样,外部提供商也可以管理和维护PaaS,因此开发人员无需在内部安装或管理工具。用户仅保存和控制他们创建的工作,例如软件产品。这样可以增强数据安全性,但是可用性仍然是问题。
(3) IaaS
对于需要对部署环境进行精细控制的企业而言,IaaS是理想的选择。这是传统的云模型,用户在其中配置计算、存储、网络和其他服务,以创建基础架构,以在公共云内成功部署、操作和维护企业应用程序。当企业需要托管和控制自己的应用程序时,应使用IaaS环境。
幸运的是,这些并非互斥的选项。这三个抽象级别可以并存,并且企业经常会混合使用来自一个或多个提供商的SaaS、PaaS和IaaS部署。
TechTarget中国原创内容,原文链接: https://searchcloudcomputing.techtarget.com.cn/5-27759/
© TechTarget中国:https://www.techtarget.com.cn