简体   繁体   English

开发者眼中的 IaaS、PaaS 和 SaaS

[英]IaaS vs PaaS vs SaaS from Developers Eye

Before any one plans to mark this question as duplicate please go through the question completly在任何人计划将此问题标记为重复之前,请完整地通过问题 go
I am hearing these 3 words from quite some time now and finally beginning to get a chance to work on on of these.我从很长一段时间以来一直在听到这三个词,终于开始有机会研究这些词。 But I would like some clarification on some basics, if you all can help me out.但是,如果你们都可以帮助我,我想对一些基础知识进行一些澄清。 I would like to clarify my understanding by example, please mark if its correct and please answer the query thereafter我想通过例子来澄清我的理解,如果正确,请标记,然后回答问题
Understanding:理解:
1) IaaS: Looking from point of view of developer 1) IaaS:从开发者的角度来看
I have developed my application in any language.我已经用任何语言开发了我的应用程序。 I don't/can't buy hardware(physical machine).我不/不能购买硬件(物理机)。 But I have all the required softwares like OS,server(tomcat/WAS etc).但我拥有所有必需的软件,如操作系统、服务器(tomcat/WAS 等)。 I go with this solution and pay only for physical infrastructure.我使用此解决方案的 go 只需为物理基础设施付费。
2) PaaS: Looking from point of view of developer 2)PaaS:从开发者的角度来看
I have developed my application in any language.我已经用任何语言开发了我的应用程序。 I don't/can't but any thing other than that.我不/不能,但除此之外的任何事情。 I go with this solution.我用这个解决方案 go。 The service provider gives me all the physical and virtual/software things服务提供商给了我所有的物理和虚拟/软件的东西
3) SaaS: What is SaaS from point of view of develper?? 3) SaaS:从开发者的角度来看,SaaS 是什么?
I am unable to understand what is SaaS from a developers point of view.从开发人员的角度来看,我无法理解什么是 SaaS。 What is the role of developer in SaaS?开发人员在 SaaS 中的角色是什么?
Please confirm if my understanding about IaaS, PaaS are correct or not and there after please explain in this example fashion what would SaaS be like?请确认我对 IaaS、PaaS 的理解是否正确,然后请在此示例中解释一下 SaaS 会是什么样子?

Saas is to facilitate to the end users. Saas是为了方便终端用户。 As a developer, you don't need to develop the application.作为开发人员,您不需要开发应用程序。 Software as a service model will provide application to you.软件即服务模式将为您提供应用程序。 You just need to log in and start working and customizing it.您只需要登录并开始工作和自定义它。 Like Gmail is an example of it.像 Gmail 就是一个例子。 If you need some application to send an email in your company, you don't need to develop the application yourself.如果您需要一些应用程序在您的公司发送电子邮件,您不需要自己开发该应用程序。 Just use the Gmail services.只需使用 Gmail 服务。 In you scenario, you already have application developed, so you don't need to use Saas but you should go for Paas or Iaas.在您的场景中,您已经开发了应用程序,因此您不需要使用 Saas,但您应该选择 Paas 或 Iaas。

  1. Saas: Application is deployed and running fine (high-availability and everything already configured). Saas:应用程序已部署并运行良好(高可用性且所有内容均已配置)。 There is no 'green field' development but only maintenance work (brownfield).没有“绿地”开发,只有维护工作(棕地)。
  2. Paas: Machine is ready, required OS is running, required runtime (.Net framework), required DB (SQL Azure) is ready to create DB. Paas:机器已准备就绪,所需的操作系统正在运行,所需的运行时(.Net 框架),所需的 DB (SQL Azure) 已准备好创建 DB。 Availability of the application is already configured or can easily be configured.应用程序的可用性已经配置或可以轻松配置。 The developer can start developing and deploying(their main resposibility).开发人员可以开始开发和部署(他们的主要职责)。
  3. Iaas: Machine is ready, OS is ready, need to install runtime, need to install SQL server, design high availability. Iaas:机器准备好,操作系统准备好,需要安装runtime,需要安装SQL server,设计高可用。 In addition to this they need to do application development and deploy.除此之外,他们还需要进行应用程序开发和部署。

Iam sharing my experiences along with Standard definitions by NIST.我正在分享我的经验以及 NIST 的标准定义。 Iam developer from product company and we own database and client (eco system).我是产品公司的开发人员,我们拥有数据库和客户端(生态系统)。 We partner with cloud providers (technology partner) to sell our products via marketplace.我们与云提供商(技术合作伙伴)合作,通过市场销售我们的产品。

Typically we deliver images (ami,vhd,etc) + some (cloud formation templates or ARM templates, etc) in case of PaaS.通常我们会在 PaaS 的情况下提供图像(ami、vhd 等)+一些(云形成模板或 ARM 模板等)。 We have Jenkins pipelines to place them in market place (version based).我们有 Jenkins 管道将它们放置在市场上(基于版本)。 Here with some skills developers can login into instances and manipulate the software (eg after database instances are launched login and completely remove the software and make it look like just EC2 instances)这里有一些技能,开发人员可以登录实例并操作软件(例如,在启动数据库实例后,登录并完全删除软件并使其看起来像 EC2 实例)

In case of SaaS our Jenkins pipelines will directly deploy (whether they are web apps, azure/lambda functions).在 SaaS 的情况下,我们的 Jenkins 管道将直接部署(无论它们是 Web 应用程序、azure/lambda 函数)。 Neither developers/end users have less control over the physical hardware.开发人员/最终用户对物理硬件的控制都较少。

Below are the Actors defined by NIST and since developers(tech company that provides software) partners with cloud provider, developers best match is cloud provider.以下是 NIST 定义的参与者,由于开发人员(提供软件的科技公司)与云提供商合作,开发人员最匹配的是云提供商。

在此处输入图片说明

Saas is a major facility for users to overcome the hurdles of configurations, hardware, and other technical or complex tasks. Saas 是用户克服配置、硬件和其他技术或复杂任务障碍的主要工具。 Paas is good for someone who wants to manage 1st two layers of the OSI model. Paas 非常适合想要管理 OSI model 的第一两层的人。 Iaas provides you with an infra structure ready templete to work on the upper layers of the OSI Model. Iaas 为您提供了一个基础结构就绪模板,可以在 OSI Model 的上层工作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM