专栏首页01二进制敲黑板了,这是新知识点

敲黑板了,这是新知识点

这年头,不管什么应用,仿佛“上云“都成了标配,感觉拥抱了“云”,应用的逼格都上升了。那真的是这样的吗?

是的,的确是这样。云计算是一种按照需求通过 Internet 获取计算资源的形态。这些计算资源被包装成为服务,提供给用户。而提供这些服务的主体,我们称之为云服务供应商(Cloud Service Provider)。云服务最主要的有三类,就是本文的三个主角 IaaS、PaaS、SaaS。那这三个 aaS 到底是个啥?

XaaS

看到这个标题,可能就有人产生疑惑了,那三个 aaS 都不知道是什么,怎么突然又多了一个 XaaS。不急,且听我娓娓道来。XaaS,即一切皆服务,代表 “X as a service”、“anything as a service”或“everything as a service” 。这一缩写指越来越多地通过互联网提供的服务,而不仅仅指本地或现场服务。云计算的本质就是 XaaS。XaaS 最常见的例子就是“软件即服务”(Software as a Service,SaaS)、“基础设施即服务”(Infrastructure as a Service,IaaS)和“平台即服务”(platform as a service,PaaS)。

详解

根据所提供服务的不同,云服务可以被分为以下三类/三层:

缩写

全写

注释

IaaS

Infrastructure as a Service

基础设施即服务

PaaS

Platform as a Service

平台即服务

SaaS

Software as a Service

软件即服务

如下图所示:

SaaS

Software as a Service (SaaS) 又称云应用服务,通过网络为最终用户提供应用服务。绝大多数 SaaS 应用都是直接在浏览器中运行,不需要用户下载安装任何程序。对用户来说,软件的开发、管理、部署都交给了第三方,不需要关心技术问题,可以拿来即用。比如:电商服务 淘宝

PaaS

Platfrom as a Service (PaaS) 的主要作用是将一个开发和运行平台作为服务提供给用户,能够提供定制化研发的中间件平台,以及数据库和应用服务器等。对开发者来说,只需要关注自己系统的业务逻辑,能够快速、方便的创建 Web 应用,无需担心底层软件。比较典型的便是计算平台。比如:微信开放平台

IaaS

Infrastructure as a Service (IaaS) 主要提供一些基础资源,包括服务器、网络、存储、安全等服务由自动化的、可靠的、扩展性强的动态计算资源构成。用户可以按需购买服务满足业务需求。可以分为公共和私有两种基础资源服务,“公共云” 包含了共享资源 提供了部署在互联网上的基础设施,“私有云” 则是运行在专用网络上的基础设施,另外还有“混合云”,提供公共或私有云的混合组合方式。


上面说的这些可能还是太过抽象,下面我会从一个实际例子出发,直观感受一下。

从实例出发

我有一个朋友,他之前实习的时候,每天上班只能乘坐价值上千万的交通工具——地铁。对于当时的他来说,只要交钱坐上地铁等到站下车就可以了,这是 Saas。后来,“人性化”的公司考虑到这些“自愿”加班的员工下班后可能赶不上地铁了,于是规定 9 点以后报销打车费。终于,我的这个朋友,可以体验到公费打车的快乐了。这时候的他只需要提供目的地,剩下的(比如汽车、油费)交给司机就可以了,这是 PaaS。再后来,他喜欢上一个菇凉,想着每次约会都坐公交、地铁觉得不太合适,但是又买不起车,无奈,只好从租车公司租了一辆车,汽车的维修、安检都由租车公司承担。他需要做的是提供燃料、自己开车,这是 IaaS。再后来,他总算“码农翻身”,买得起车了,可各种事情接踵而来,自己开车,需要维护汽车,确保其安全行驶。同时需要为车上保险,提供燃料。这是 On-premise。

感悟

一路走来,这个朋友做的事情变得越来越多了,这是好事还是坏事?不好说。我们需要辩证的看待问题,从维护成本上来看,自己买车开的成本肯定是要高于坐公交地铁的,毕竟要把车牌费、停车费、油费、保险等全部算上,这么看,确实不是一件好事。但是,如果从其他角度,例如出行更方便,买车更有身份等角度去考虑,这又是一件好事。类比到系统设计中,这三种方式最大的区别就在于开发人员所参与的程度:High Code:IaaS Low Code:PaaS No Code:SaaS 而这三种方式通常也反映了程序员的编码能力。一般来说,越接近底层的程序员,其能力更强。如果为了追求快速实现业务需求,直接使用 PaaS,甚至 SaaS,肯定会更好。但从技术的角度去思考,IaaS 对于开发人员技术的提升肯定是优于 PaaS 和 SaaS 的。

本文分享自微信公众号 - 01二进制(gh_d1999add1857),作者:雇个城管打天下

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-08-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • API 与 SDK:有什么区别?

    既然点进来了,相信你或多或少都听说过这两个名词了,因此,在为你解答之前,让我们先从一个例子出发。假如你想开发一个 OCR 应用(通俗的说就是文字识别应用),他的...

    出其东门
  • 接口调度者——API 网关

    我们知道在微服务架构风格中,一个大应用被拆分成为了多个小的服务系统提供出来,这些小的服务他们自成体系,也就是说这些小系统可以拥有自己的数据库,框架甚至语言等,这...

    出其东门
  • 图像检索系列——利用 Python 检测图像相似度

    最近在做一个海量图片检索的项目,可以简单的理解为“以图搜图”,这个功能一开始是搜索引擎带火的,但是后来在电商领域变得非常实用。在制作这个图片检索的项目前,笔者搜...

    出其东门
  • R语言从入门到精通:Day12

    从许多方面来看,回归分析都是统计学的核心。它其实是一个广义的概念,通指那些用一个或多个预测变量(也称自变量)来预测响应变量(也称因变量) 的方法。通常,回归分析...

    用户6317549
  • 详细分析使用Certutil解码的Office恶意软件

    最近发现使用certutil进行解码的office恶意软件,这种恶意软件通过OLE机制落地通过BASE64编码的恶意软件,然后通过调用certutil来进行解码...

    FB客服
  • 富文本编辑器 tinymce 的使用

    一款简洁表格功能齐全的富文本编辑器,表格编辑有比较强大的功能,支持获取html,设置只读功能

    tianyawhl
  • 巧用flashback database实现灵活的数据回滚(r5笔记第16天)

    之前写了一篇博文分享了使用flashback database的特性来在测试环境中避免重复导入大批量的数据,造成时间和存储空间的浪费。http://blog.i...

    jeanron100
  • Docker实践(四):Docker Machine

     Docker Machine是Docker官方三剑客项目之一,负责使用docker容器的第一步:在多种平台上快速安装和维护docker运行环境。它支持多种平台...

    loong576
  • Linearizability versus Serializability

    原文 Linearizability和Serializability是在数据库和分布式系统中重要的两个概念,而且比较容易混淆,这篇文章试着对两个概念的不同进行...

    zhuanxu
  • 前端学习(46)~事件简介

    事件:就是文档或浏览器窗口中发生的一些特定的交互瞬间。对于 Web 应用来说,有下面这些代表性的事件:点击某个元素、将鼠标移动至某个元素上方、关闭弹窗等等。

    Vincent-yuan

扫码关注云+社区

领取腾讯云代金券