首页 首页 云计算 查看内容

IaaS vs CaaS vs PaaS vs FaaS如何选?

木马童年 2019-6-4 11:18 57 0

由于没有哪个云计算平台可适合所有用例,所以我们来看看主要的云计算平台,并且确定在哪些时候选用哪些服务更合适?无论你是否购买、构建还是部署开源服务,你可能已经在使用某种软件平台来构建、部署和扩展应用程序 ...

由于没有哪个云计算平台可适合所有用例,所以我们来看看主要的云计算平台,并且确定在哪些时候选用哪些服务更合适?

无论你是否购买、构建还是部署开源服务,你可能已经在使用某种软件平台来构建、部署和扩展应用程序。

经过多年从应用程序提取常用功能到较低抽象层,平台随之出现。现在市面上有很多云计算平台,正确的平台可帮助你在灵活性和简单性之间实现所需要的平衡,从而使你能够更快地构建而不受太多限制。本文中,我们将探讨这些云计算平台以帮助你找到最适合自己的平台。

对于什么是完美的平台,每个人都有自己的想法,但每个人都希望实现的是:

·提高开发速度

·自动化操作技能

既然没有平台适合所有用户,你是否应该自己构建平台?如果你自己构建,是否在现有平台之上构建?你如何选择基础平台?你想要从上至下紧密集成的平台,还是想要松散连接强大扩展点的多层平台?

这些都不是简单的问题,也没有真正适合每个人的单一答案。下面让我们来看看如何选择:

平台类型

每个供应商都会告诉你他们的软件是特别的、独一无二的,他们都在试图区分其产品来提供不可取代的价值。但如果你足够坚定,不被他们的营销术语动摇,则应该先根据他们提供的接口类型来对这些产品进行分组。

IaaS vs CaaS vs PaaS vs FaaS如何选?

▲云计算平台示例

软件平台

“软件即服务”一词最早可追溯到2000年左右,它指的是捆绑封装软件产品和支持服务到托管解决方案中,以避免未知部署和操作成本。SaaS产品本身可作为平台。该术语的原始用例描述的是取代传统企业资源规划(ERP)和客户关系管理(CRM)平台的解决方案。

Salesforce和SAP等公司在这个领域非常成功,他们让那些没有大型工程或IT部门可构建及管理这些复杂系统。即使是拥有足够资源的企业也可能会认为这些事情不在其核心竞争力范围之内,不值得自己去构建或运作。尽管如此,几乎每个类别的软件都可从SaaS获取,从电子邮件到文字处理到内容管理系统。

另一方面是基础设施即服务。

IaaS vs CaaS vs PaaS vs FaaS如何选?

▲在基础设施平台上配置应用程序

基础设施平台

在SaaS出现不久后,基础设施平台开始出现。VMware GSX Server(2006年)和Amazon Elastic Compute Cloud(EC2,2006年)都提供早期虚拟化平台。VMware最初专注于企业内部部署安装,而Amazon云计算服务则获得更广泛的市场,因其将托管IaaS和SaaS产品相结合。随后,Rackspace和NASA开发的OpenStack(2010年)作为VMware的vSphere(2009年发布,取代GSX)和Amazon的EC2的开源竞争对手。

这些IaaS主要提供了一些特定的抽象化:虚拟机计算节点、软件定义网络和可附加存储。与SaaS一样,托管IaaS的主要卖点是外包手动容量配置的操作和自动化,但与SaaS不同的是,托管IaaS还提供你自己软件无限量级幻影。对于大多数对外包基础设施感兴趣的公司而言,AWS提供比以往任何时候都更多的容量,甚至在你要求更多节点之前他们就已经扩展数据中心。而对于无法或不愿意外部的公司,OpenStack和vSphere等基础设施平台让你可在自己选择的数据中心托管自己的云计算。

虽然管理硬件以及基础设施平台看起来是更多的工作,但其实这是企业在内部部署的平台正在做的工作。有些企业甚至在没有虚拟层的情况下手动管理硬件,无论哪种情况,他们都渴望让配置更加自助化。这也让即服务模式更加完整:托管的平台成为封装产品,这次增加了多租户功能,允许客户自己为内部用户群体进行操作。

随之而来的是应用平台。

IaaS vs CaaS vs PaaS vs FaaS如何选?

▲基础设施平台上的应用平台

应用平台

最早使用平台即服务的是Fotango的Zimki(2006年)以及Heroku(2007年)。随后谷歌App Engine(2008年)、CloudFoundry(2011年)等也加入这个阵营。

那个时候,这些显然都是真正的应用平台(aPaaS),专门用于加速开发人员的速度和减少运营开销。开发人员可自我配置以及管理他们开发的应用程序,这进一步压缩从开发到发布到反馈到改进的周转时间,进一步促进灵活软件开发,并与新兴的DevOps运动相结合。

但进步永远不会停止,容器平台应运而生。

IaaS vs CaaS vs PaaS vs FaaS如何选?

▲基础设施平台上的容器平台

容器平台

容器化出现的时间可能比你想象的更长(FreeBSD Jails在2000年已经出现),但可以肯定的是,容器化在Docker(2013年)结合Linux操作系统级虚拟化及文件系统镜像才开始真正广泛流行。这使得很容易构建和部署容器化应用程序,IaaS用户熟悉这种模式,因为他们一直在构建磁盘镜像来加速基础设施平台配置。但与虚拟机不同,容器允许你在本地部署完整的微服务堆栈,大大加快了开发周期。另外,由于开销降低,每个微服务都可以有自己的容器镜像、发布周期以及更新,这允许更小的团队来同时开发。

从容器运行时到容器平台是明显的进步。CloudFoundry等应用平台和Apache Mesos等集群资源管理器一直在透明地使用容器隔离。下一步是公开平台API,允许开发人员部署日益流行的Docker镜像。与基础设施平台一样,容器平台也是在内部部署开始,后来被提供为托管服务。Mesosphere的Marathon(2013年)是第一个通用容器开源平台,但前面还有一些内部平台,例如谷歌的Borg(大约2004年)以及Twitter的Aurora(2010年编写;2013年开源化作为Apach Aurora)。

容器编排是容器平台的核心。与应用平台一样,容器平台需要提供声明性基于约束的调度。但与应用平台不同,容器不限于12因素应用。例如,状态服务需要持久卷、隔离保证、特定域迁移过程、并置备份作业等。由于这种灵活性,容器平台很容易变得比应用平台更复杂,以支持更多类型的工作负载。

IaaS vs CaaS vs PaaS vs FaaS如何选?

▲计算机集群上的容器平台

为了增加灵活性,以及为了在没有迁移的情况下支持传统工作负载,很多人在基础设施平台上运行容器平台,但这并不是绝对必要。容器足够靠近几乎所有工作负载兼容的单个机器,所以并非每个人都需要这种灵活性。很多开发人员将所有时间花在单层堆栈中,他们试图想办法避免重复任务(例如为每个新的应用手动制作容器镜像),为了满足这个要求,功能平台(也就是无服务器)随之出现。

IaaS vs CaaS vs PaaS vs FaaS如何选?

▲基础设施平台上容器平台上的功能平台

功能平台

亚马逊在2014年推出AWS Lambda,引发“无服务器”热潮,AWS Lambda在其虚拟基础设施平台之上提供轻量级容器化事件处理。与其他亚马逊云服务一样,Lambda只有托管形式。随后Iron.io(2014年)、Apache OpenWhisk(2016年)、Fission(2016年)、Galactic Fog的Gestalt(2016)、OpenLambda(2016)进入市场。

功能平台的运行方式与应用平台相同,它们还包括语言特定框架。因此,开发人员只需要使用平台API来编写事件处理程序以及映射触发器到处理程序,而不需要通过多个端点来编写应用程序。功能平台通常整合API网关来处理代理、负载均衡以及集中式服务发现。与应用平台不同,功能平台透明地整合基于负载的自动缩放,因为它们可控制所有入口点和多路复用。

与容器平台相同,功能平台不一定需要基础设施平台,但与容器平台提供的灵活性不同,功能平台的设计不是为了支持各种工作负载。所以仅运行一个功能平台可能不明智或者不可能,你还可能需要较低水平的容器或基础设施平台。有些功能平台甚至被设计成与容器平台整合,利用中间层自动化来降低上层的复杂性。

IaaS vs CaaS vs PaaS vs FaaS如何选?

▲云计算平台、接口及抽象规模

平台抽象化

这些平台层都提供自己独特的抽象化和API,有些比其他层更抽象化。有些高级平台具有自上至下的集成,但仅支持你运行的小部分工作负载。你可能会选择最高层的抽象化来最大限度提高开发人员的速度,但你也必须考虑这些平台上构建的软件将与平台紧密耦合,可能需要重复大部分工作,增加你的风险。在另一方面,较低级别平台提供最大的灵活性,可支持最广泛的工作负载,包括Web应用程序、微服务、旧巨集、数据管道和数据存储服务。它们允许轻松迁移和更容易的基础设施操作,但不一定可实现更容易地开发或操作应用、服务或作业。

应用平台和基础设施平台之间的冲突是容器平台受欢迎的重要原因之一。容器平台允许你根据每个容器来决定你的工作负载是否需要自己的环境或者可作为二进制运行,支持更多种类的工作负载。它们还提供声明性配置、生命周期管理、复制和调度,就像应用平台。如果你还需要更高水平的抽象化,你可轻松地在容器平台部署应用或功能平台,与较低级别的工作负载共享资源和机器。如果你需要较低水平的抽象化,你可在基础设施平台之上部署容器平台,而不是直接在裸机上构建。

IaaS vs CaaS vs PaaS vs FaaS如何选?

▲DC/OS Architecture Layers

在不久的将来,多智时代一定会彻底走入我们的生活,有兴趣入行未来前沿产业的朋友,可以收藏多智时代,及时获取人工智能、大数据、云计算和物联网的前沿资讯和基础知识,让我们一起携手,引领人工智能的未来!

云计算平台 应用程序 解决方案 管理系统 基础设施 虚拟化
0
为您推荐
人算不如天算,数据驱动的云计算远超天算啦!

人算不如天算,数据驱动的云计算远超天算啦

在今天的世界, 一切业务数据化,一切数据业务化,只有这样才能迎接这个时代。所以我希…...

业务不到两年增速85%,是哪家公司这么厉害?

业务不到两年增速85%,是哪家公司这么厉害?

核心提示:自从2015年9月的OracleOpenWorld大会上推出全线的SaaS和PaaS产品以来,甲骨…...

打开企业云计算之门的利剑,不容错过?

打开企业云计算之门的利剑,不容错过?

在现实中,很多企事业单位的IT基础设施就处于此层次级别,即:只是采用了虚拟化技术去…...

云计算炙手可热,究竟是谁在背后?

云计算炙手可热,究竟是谁在背后?

核心提示:前不久,万达网络科技集团与美国IBM公司达成合作,借助IBM的云计算技术,进…...

云计算对数据进行智能分析,云计算核心技术有哪些?

云计算对数据进行智能分析,云计算核心技术

随着信息技术不断进步,闪存、磁盘、数据中心、DNA等各种新的存储技术不断出现。即便…...

“云”上存储日渐成熟, 那么最关键的是什么?

“云”上存储日渐成熟, 那么最关键的是什

展望未来,世界并不只是由公有或私有化技术组成,还有许多两者的混合体。因此势必会有…...

云计算开源呈现爆发式增长,如何使用云计算开源技术成为产业链关注的热点?

云计算开源呈现爆发式增长,如何使用云计算

近几年来,在云计算领域,开源技术呈现爆发式的增长,借用云计算领域的主流看法,这个…...

云计算提供了基础平台,云计算产业进入2.0

云计算提供了基础平台,云计算产业进入2.0

云计算引发了软件开发部署模式的创新,成为承载各类应用的关键基础设施,并为大数据、…...

私有云的建设是一个需要长期迭代的过程,我们都还在路上!

私有云的建设是一个需要长期迭代的过程,我

伴随着IT新技术的发展,像虚拟化、云计算和大数据对大家来说已经不再陌生了。在企业里…...

大家都要向云计算转型,为什么?

大家都要向云计算转型,为什么?

我们曾经开玩笑说硬件也要向云计算转型,软件也要向云计算转型,系统集成商也要向云计…...