本文英文原址:https://m.oursky.com/saas-paas-and-iaas-explained-in-one-graphic-d56c3e6f4606
Photo by Cathal Mac an Bheatha via Unsplash
The Pizza-as-a-Service metaphor was firstly introduced by Albert Barron in 2014 as a visualization of the differences between Infrastructure-as-a-service (IaaS), Platform-as-a-service (PaaS) and Software-as-a-service (SaaS). At first sight it looks brilliant — but if you look in depth, it falls apart. This diagram wants to illustrate that you need to do less and less, but the items that are listed and increasingly “outsourced” don’t fit the comparison. I’ll look at the services in the original diagram and suggest a better comparison for people who want to choose which services to use.
A good visualization of a false concept.
Pizza as a Service — by Albert Barron
The basic concept is in each case you get a pizza, though in some cases, you do all of the work; in other cases you have other people do the work for you.
Traditional On-Premises Deployment: Made at Home
Infrastructure-as-a-Service: Take and Bake
Platform-as-a-Service: Pizza Delivery
Software-as-a-Service: Dining out
In the diagram, the amount of work you do is in the following order:
Made at home > Take and bake > Pizza delivery > Dining out
Let’s focus on two stages first: if “Traditional On-Premises Deployment = Made at home”, why does “Infrastructure-as-a-Service = Take and bake”?
At first glance, it means that the service provider gives you a pre-made pizza, so you can bake it in your own kitchen without making a mess. However, this is not how Infrastructure-as-a-Service differs from Traditional On-Premises Deployment.
The X-aaS concept should be interpreted the other way round.
Image generated by David Ng, Oursky
Rather than thinking of the consumer doing less and less, let’s think about a product that is increasingly customizable because less is pre-made by the service provider.
By adopting an X-aaS, you don’t need to worry about a certain “X” — be it infrastructure, platform, software or pizza. Instead of forcing the X-aaS model into existing pizza services, I will be dissecting the steps to making an increasingly customized pizza.
Enjoy your packaged meal: Pizza-as-a-Service.
Pizza-as-a-Service means you can enjoy a pizza (a fully finished product) upon order. You call the pizza delivery so the pizza is already designed, prepared and baked by somebody else and arrives hot and ready to eat.
In the world of SaaS, we only need to sign up to use the service. We can customize some features, layouts, or users (pizza toppings), but we never need to worry about the deployment and framework the project is used (just like how the service providers put our orders together for us). It also means we can’t choose this brand of cheese over that, or how long they choose to bake it for. If you don’t like their crust, you’ll have to choose another company.
So what should be the service layer right below Pizza-as-a-Sevice?
Semi-customized: Ready-to-cook.
The idea of “take-and-bake” in the original diagram was close, but it misses a few key ideas. The take-and-bake doesn’t allow customization, which is what IaaS and PaaS offer. IaaS and PaaS take care of some backend things you don’t want to deal with, and probably come with API’s, but you choose what you can add.
Instead of a “take-and-bake”, the next level down is more like walking into a kitchen with a ready-to-cook package of ingredients. IaaS and PaaS are when you want to make your own pizza, but you don’t need to worry about buying ingredients, prep work, or having the right tools. You can focus on rolling out the dough, assembling the pre-washed ingredients to your taste and factors like size and thickness before sticking it into someone’s provided oven.
If you use IaaS or PaaS, you can focus on your own business logic and implement your user interface on a reliable platform. The service provider manages the hosting and hardware technologies for you.
This option might not be suitable for every end-user. At least you need some pizza-making skills to turn the dough into a pizza.
Fully customized: Kitchen-as-a-Service.
Kitchen equipment is infrastructural investment. For engineers, this is where your code runs. It also includes all the infrastructure you need (such as runtime, storage, networking). Without it, your product doesn’t go anywhere, but on the other hand, it doesn’t affect the nature of the product itself.
For a pizza, the next layer below is buying your own ingredients to prepare exactly the pizza you want, with the specific brands you like. But you don’t have to worry about the oven, rolling pin, whether you counter is big enough, or the pizza cutter.
Now, you have absolute control on what pizza you are going to make, but maybe the rental kitchen doesn’t have every type of tool you want.
Fully in-house: Prepare ingredients + cooking equipment from scratch.
For hard core pizza makers — not only will you want to choose all your pizza ingredients and make it from scratch, you will also want complete control of all the tools in your kitchen: the oven that has the exact settings and capabilities you want, the pizza stone many places don’t have, or let your dough sit overnight at the most optimal corner of your fridge. And finally, you can drizzle that homemade chilli oil on top and savor it fresh out of the oven.
You may think that’s overkill — but in real world, sometimes the effort is necessary if you can’t find a service that will let you customize for that one essential deployment setting, such as a firewall configuration or that specific network setting requirements.
Examples of IaaS, Paas, and SaaS.
Image generated by Oursky
SaaS (Software-as-a-Service)
You can sign up and use the software directly: e.g. Zendesk, Paypal, even more customer-oriented ones like Twitter, Facebook, Instagram
PaaS (Platform-as-a-Service)
You can build your software on top of the platform: e.g. Heroku, SalesForce, Google App Engine
Besides building everything from the platform level, you can also leverage the benefits from some Backend-as-a-Service in the market. E.g. Skygear, Firebase, Kii, Kinvey
IaaS (Infrastructure-as-a-Service)
Provides you some place (virtual machines) to deploy your app. e.g. Amazon Web Service EC2, Digital Ocean, RackSpace Cloud
On-Premises Deployment
So you have your own datacenter and servers — it’s completely customized
IaaS and PaaS save us a huge amount of preparation work, so we can customize our “pizza“ and bake it fast. The best type of service is whatever suits your product best.
Hope these examples clear up these concepts.
If you found this piece helpful, follow Oursky Publication for more startup/entrepreneurship/project management/app dev hacks! 💚
😻 At Oursky we’re all about helping brands and entrepreneurs make their ideas happen. Get in touch if you’re looking for a partner to help build your next digital product.
比萨即服务的隐喻是由Albert Barron于2014年首次提出的,用于可视化基础设施即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS)之间的差异。乍一看,它看起来很棒-但是,如果您深入查看,它就会崩溃。此图说明您需要做的事情越来越少,但是列出的项目和越来越“外包”的项目不适合进行比较。我将在原始图中查看服务,并为希望选择要使用的服务的人提出更好的比较建议。
一个错误概念的良好可视化。
基本概念是,每种情况下您都会得到披萨,尽管在某些情况下,您会做所有工作。在其他情况下,您需要其他人为您完成工作。
- 传统的本地部署:在家制作
- 基础架构即服务:即取即用
- 平台即服务:披萨交付
- 软件即服务:外出就餐
在图中,您按以下顺序进行工作:
在家制作>采取和烘烤ADE>比萨饼送货>外出就餐
让我们首先关注两个阶段:如果“传统的本地部署=在家完成”,为什么“基础架构即服务=即取即烘烤”?
乍一看,这意味着服务提供商会为您提供预制的比萨饼,因此您可以在自己的厨房中烘烤它而不会造成混乱。但是,这不是基础架构即服务与传统本地部署的区别。
在X-AAS概念应该被解释倒过来。
与其考虑消费者做的越来越少,不如考虑一种越来越可定制的产品,因为服务提供商预先制作的产品越来越少。
通过采用X-aaS,您无需担心某个“ X” —无论是基础架构,平台,软件还是披萨。我不会将X-aaS模型强加到现有的披萨服务中,而是会剖析制作越来越个性化的披萨的步骤。
享受打包餐:比萨即服务。(SaaS)
披萨即服务意味着您可以在订购时享用披萨(完全成品)。您称比萨为外送服务,因此比萨已经由其他人设计,准备和烘焙,然后变热并可以食用。
在SaaS的世界中,我们只需要注册即可使用该服务。我们可以自定义某些功能,布局或用户(比萨饼浇头),但我们不必担心项目使用的部署和框架(就像服务提供商如何为我们整理订单)。这也意味着我们不能选择这个品牌的奶酪,也不能选择烘焙多长时间。如果您不喜欢他们的外壳,则必须选择另一家公司。
那么,“比萨即服务”下面的服务层应该是什么?
半定制:即煮。(PaaS)
原始图中的“拿走即烤”想法很接近,但它遗漏了一些关键思想。即取即买不允许自定义,这就是IaaS和PaaS提供的功能。IaaS和PaaS会处理一些您不想处理的后端事务,并且可能会附带API,但是您可以选择添加什么。
而不是“即吃即煮”,下一个层次更像是走进带有现成烹饪原料的厨房。IaaS和PaaS是您想要制作自己的披萨的时候,但是您不必担心购买食材,做准备工作或拥有合适的工具。您可以集中精力铺开面团,将预洗的配料根据您的口味和大小和厚度等因素进行组装,然后再将其粘贴到某人提供的烤箱中。
如果使用IaaS或PaaS,则可以专注于自己的业务逻辑,并在可靠的平台上实现用户界面。服务提供商为您管理托管和硬件技术。
此选项可能并不适合每个最终用户。至少您需要一些披萨制作技巧才能将面团变成披萨。
完全定制:厨房即服务。(IaaS)
厨房设备是基础设施投资。对于工程师来说,这是您的代码运行的地方。它还包括您需要的所有基础结构(例如运行时间,存储,网络)。没有它,您的产品将无处可去,但是,另一方面,它不会影响产品本身的性质。
对于披萨,下面的下一层是购买您自己的食材,用您喜欢的特定品牌确切地准备您想要的披萨。但是您不必担心烤箱,rolling面杖,计数器是否足够大或比萨饼切割器。
现在,您可以完全控制要制作的披萨,但是出租厨房可能并没有您想要的每种工具。
完全在内部:从头开始准备食材和烹饪设备。(传统本地部署)
对于核心披萨制造商-您不仅要选择所有披萨配料并从头开始制作,还希望完全控制厨房中的所有工具:具有所需设置和功能的烤箱,许多地方都没有的披萨石,或者让您的面团在冰箱的最佳位置静置一整夜。最后,您可以在上面淋上自制的辣椒油,然后从烤箱中新鲜品尝出来。
您可能认为这太过分了-但在现实世界中,有时候,如果找不到能够让您针对某个基本部署设置(例如防火墙配置或特定网络设置要求)进行自定义的服务,则需要付出一定的努力。
IaaS,Paas和SaaS的示例。
SaaS(软件即服务)
- 您可以直接注册和使用该软件:例如Zendesk,Paypal,甚至是更多面向客户的软件,例如Twitter,Facebook,Instagram
PaaS(平台即服务)
- 您可以在平台之上构建软件:例如Heroku,SalesForce,Google App Engine
- 除了从平台级别构建一切之外,您还可以利用市场上某些后端即服务的优势。例如Skygear,Firebase,Kii,Kinvey
IaaS(基础架构即服务)
- 为您提供一些用于部署应用程序的地方(虚拟机)。例如Amazon Web Service EC2,Digital Ocean,RackSpace Cloud
本地部署
- 因此,您拥有自己的数据中心和服务器-它是完全定制的
IaaS和PaaS节省了我们大量的准备工作,因此我们可以自定义“披萨”并快速烘烤。最好的服务类型是最适合您的产品的。
希望这些示例可以澄清这些概念。
来源:CSDN
作者:酒中醉去梦中来
链接:https://blog.csdn.net/honest_boy/article/details/103701681