下面这些术语是什么意思?

SaaS PaaS IaaS吗?

现在有各种各样的云服务,比如亚马逊的EC2和AWS、Apache Hadoop、微软Azure和许多其他云服务。它们分别属于哪一类,为什么?


当前回答

SaaS PaaS Iaas
Software-as-a-Service Platform-as-a-Service Infrastructure-as-a-Service
Ready to use infrastructure and software application that are centrally hosted and licensed on a subscription basis. Ready to use environment. where customers build, test, run, and update apps quickly and inexpensively. Provides on-demand access to physical computing resources, such as servers, storage, networking, and data center space without need to manage or operate.
Apps can be accessed over the internet on any device with a browser. Cloud provider manages the entire platform. Users can provision, test, and scale resources quickly.
Easy to add additional users and storage. Additional compute, storage, and networking capacity can be purchased quickly and used immediately. NA
Use Cases: Most personal or employee productivity applications (email, document management, online collaboration tools) Use Cases: Migration of existing applications to the cloud, a hybrid cloud strategy Use Cases: Backup/recovery of on-premises workloads, dev and test environments, customer facing websites, data storage and analytics

其他回答

IaaS、PaaS和SaaS是云计算服务模式。

IaaS (Infrastructure as a Service), as the name suggests, provides you the computing infrastructure, physical or (quite often) virtual machines and other resources like virtual-machine disk image library, block and file-based storage, firewalls, load balancers, IP addresses, virtual local area networks etc. Examples: Amazon EC2, Windows Azure, Rackspace, Google Compute Engine. PaaS (Platform as a Service), as the name suggests, provides you computing platforms which typically includes operating system, programming language execution environment, database, web server etc. Examples: AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine, Apache Stratos. While in SaaS (Software as a Service) model you are provided with access to application software often referred to as "on-demand software". You don't have to worry about the installation, setup and running of the application. Service provider will do that for you. You just have to pay and use it through some client. Examples: Google Apps, Microsoft Office 365.

关于你的问题还有几点:

AWS(亚马逊网络服务)是一个完整的套件,包含了一大堆有用的网络服务。目前最流行的是EC2和S3,属于IaaS服务模式。 虽然Hadoop是基于谷歌之前的工作(GFS和MapReduce),但它不是来自谷歌。它是一个Apache项目。你可以在这里找到更多。它只是一个分布式计算平台,不属于任何这些服务模型,恕我直言。 微软的Windows Azure也是IaaS的一个例子。

就这些服务的受欢迎程度而言,它们都很受欢迎。关键在于哪一种更符合你的要求。例如,如果您想要在一个Hadoop集群上运行MapReduce作业,您会发现EC2非常适合,即IaaS。另一方面,如果你有一些用某种语言编写的应用程序,你想在云上部署它,你会选择像Heroku这样的应用程序,它是PaaS的一个例子。

下面是AWS每项服务的另一个例子:

IaaS(基础设施即服务):通过硬件获得整个基础设施。您已经选择了需要安装的操作系统类型。你必须安装必要的软件。

AWS示例:只有硬件的EC2,您选择要安装的基本操作系统。如果你想在上面安装Hadoop,你必须自己动手,它只是AWS提供的基础设施。

PaaS(平台即服务):为您提供带有操作系统和必要基础软件的基础设施。您必须运行脚本以获得所需的输出。

AWS举例:EMR已安装硬件(EC2) + Base OS + Hadoop软件。你必须运行hive/spark脚本来查询表并得到结果。您将需要调用实例并等待10分钟以准备好设置。您必须根据正在运行的作业考虑需要多少个集群,但不必担心集群配置。

SaaS(软件即服务):你不必担心硬件甚至软件。所有的东西都将被安装好,供您立即使用。

示例:Athena,它只是一个UI,用于查询S3中的表(元数据存储在Glu中)。只需打开浏览器登录AWS并开始运行您的查询,无需担心RAM/存储/CPU/集群数量,所有的一切都由云处理。

如果你是一个简单的客户,想要使用某个软件,但手头什么也没有,那么你就使用SaaS。

当你有一个自己开发的软件,但你想在一个公共平台上部署和运行,那么你就使用PaaS。

当你已经准备好了软件和平台,但还想让硬件运行时,你就可以使用IaaS。

我分享我的经验以及NIST的标准定义。我是产品公司的开发人员,我们拥有数据库和客户端(生态系统)。在许多清晰的图片旁边,由于许多参与者(NIST定义的5)和事物与预测不同,混淆出现了。

对于IaaS和裸金属部署,我们出售许可证和包,可以从CD或FTP服务器(rpm)获得。代码经过编译、测试和交付。在这里,我们的客户向我们支付(许可证成本)和/或向云提供商支付实例费用。

我们与云供应商(技术合作伙伴)合作,通过市场销售我们的产品。

通常我们在PaaS的情况下提供图像(ami,vhd等)+一些(云形成模板或ARM模板等)。我们有Jenkins管道将它们放在市场上(基于版本)。这里有一些技能,开发人员可以登录到实例并操作软件(例如,在数据库实例启动后登录并完全删除软件,使它看起来像EC2实例)

在SaaS的情况下,我们的Jenkins管道将直接部署(无论是web应用程序,azure/lambda函数)。开发人员/终端用户对物理硬件的控制都不低。

下面是NIST定义的参与者,因为开发者(提供软件的技术公司)是云提供商的合作伙伴,开发者最好的匹配是云提供商。

SaaS: Software as a Service Cloud application services or “Software as a Service” (SaaS) are probably the most popular form of cloud computing and are easy to use. SaaS uses the Web to deliver applications that are managed by a third-party vendor and whose interface is accessed on the clients’ side. Most SaaS applications can be run directly from a Web browser, without any downloads or installations required. SaaS eliminates the need to install and run applications on individual computers. With SaaS, it’s easy for enterprises to streamline their maintenance and support, because everything can be managed by vendors: applications, runtime, data, middleware, O/S, virtualization, servers, storage, and networking. Gmail is one famous example of an SaaS mail provider.

PaaS: Platform as a Service The most complex of the three, cloud platform services or “Platform as a Service” (PaaS) deliver computational resources through a platform. What developers gain with PaaS is a framework they can build upon to develop or customize applications. PaaS makes the development, testing, and deployment of applications quick, simple, and cost-effective, eliminating the need to buy the underlying layers of hardware and software. One comparison between SaaS vs. PaaS has to do with what aspects must be managed by users, rather than providers: With PaaS, vendors still manage runtime, middleware, O/S, virtualization, servers, storage, and networking, but users manage applications and data.

IaaS: Infrastructure as a Service Cloud infrastructure services, known as “Infrastructure as a Service” (IaaS), deliver computer infrastructure (such as a platform virtualization environment), storage, and networking. Instead of having to purchase software, servers, or network equipment, users can buy these as a fully outsourced service that is usually billed according to the amount of resources consumed. Basically, in exchange for a rental fee, a third party allows you to install a virtual server on their IT infrastructure. Compared to SaaS and PaaS, IaaS users are responsible for managing more: applications, data, runtime, middleware, and O/S. Vendors still manage virtualization, servers, hard drives, storage, and networking. What users gain with IaaS is infrastructure on top of which they can install any required platforms. Users are responsible for updating these if new versions are released.