写点什么

Serverless 文章大汇总

  • 2017-07-30
  • 本文字数:3639 字

    阅读完需:约 12 分钟

前言

大部分的 Serverless 供应商以 FaaS 平台方式提供服务,即 Function as a Service,可直接使用的计算资源按照既定的业务应用逻辑进行运算。其实在 2006 年,Zimki 发布了一款‘pay as you go’理念的代码平台,遗憾的是当时并取得商业化的成功。2014 年 Amazon 发布 AWS Lambda,成为首个提供 serverless 服务的公有云厂商,最初只支持 Node.js,现在支持 Python,Java 和 C#。2016 年,ServerlessConf 在伦敦召开。目前,还有 Google 的 Google Cloud Functions,Azure 的 Azure Functions, IBM 的 OpenWhisk,同时国内公有云厂商阿里云、腾讯云也于今年推出 serverless 服务。

云计算厂商们如此重视的 Serverless 是怎样的?它适用于怎样的业务场景?会多大程度给开发用户们带来便利?又会带来怎样的影响和冲击?我们应该如何看待这种正在被炒作的技术?

以下是 InfoQ 发布过的若干关于 Serverless 的好文。

经典系列文章

《无服务器架构》

第一篇

剖析无服务器架构的定义 。相关的服务为后端即服务(BaaS)和暂存容器中运行的函数即服务(FaaS)。通过采用这样的方式并将大部分行为移至前端,这种架构使得应用程序内部不再需要具备传统的“始终运行”的服务器系统。尽管这增加了对供应商的依赖,并且(目前)配套服务还不成熟,但此类系统依然可以大幅降低运维成本和复杂度。

第二篇

使用 serverless 方式设计和部署的应用程序所能获得的收益。

首当其冲的是降低运维成本,成本的降低共体现在两方面:基础结构成本和人员(运维 / 开发)成本。从本质上来看,无服务器技术实际上是一种外包解决方案。该技术可以让你雇佣别人代替你管理服务器、数据库,甚至应用程序逻辑。由于使用的都是可以同时被他人共用的预定义服务,这里也存在着很大的规模经济效益,当一个供应商可以同时运行数千个类似的数据库时,每个用户支付的费用自然更低。

其次,整个无服务器解决方案无须进行任何系统管理,因此降低程序包和部署的复杂度。使用无服务器方法后,再也不需要自行确定有关容量,反而是供应商需要根绝需求实时提供足够的计算容量。

第三篇

无服务器有哪些与生俱来的缺点,比如供应商控制和锁定、多租户问题、安全问题、跨客户端平台重复实现相同的逻辑、丧失优化服务器的能力、无服务 FaaS 不支持服务器内状态等等。

无服务器技术并不是所有问题的最终答案,如果有人跟你说这种技术将彻底取代现有架构,你需要小心对待。如果想现在就涉足无服务器,尤其是 FaaS 领域,也需要更加谨慎。虽然这种技术已经产生了累累硕果(伸缩、节约开发工作量等),但依然有(调试、监控等领域的)困难在下个角落等着你。

虽然名称容易让人产生歧义,但“无服务器”这种风格的架构可以帮助我们减少在自己服务器端系统上运行的应用程序代码数量。这是通过两种技术实现的:后端即服务(BaaS),借此可将第三方远程应用程序与我们的前端应用直接进行紧密的集成;以及函数即服务(FaaS),借此可将不间断运行的组件中执行的服务器端代码转移到短暂运行的函数实例中执行。

这些收益并不会被人们快速淡忘,毕竟无服务器架构的积极意义实在是太大了,例如降低运维和开发成本,简化运维管理,降低对环境的影响等。

无服务器系统依然处在襁褓中。未来几年里该技术还有很大的进步空间,作者已经迫不及待想看看这个技术将如何融入现有的架构大家族中。

观点与趋势文章

《2017 年会是 Serverless 爆发之年吗?》

中小型公司,尤其是互联网行业的创业公司,本身并没有太多的技术人员,如果设计系统时需要考虑诸多的技术问题,例如 Web 应用服务器如何配置、数据库如何配置、消息服务中间件如何搭建等等,那对于他们来说人员成本、系统成本会很高,Serverless 架构的出现,让这种情况可能可以大幅度改善。那么 Serverless 是什么?应用方式和架构原则是怎样的?有哪些常见框架?未来有会怎样?

《无服务器架构将 DevOps 带入新层次》

无服务器计算正改变着软件系统构建和运营的方式。尽管它是 IT 行业中一个相对较新的领域,但它可能会大大改变软件行业业务价值的交付方式。它可以使用可用和可扩展的云端负载来以较低的成本运行项目,这对许多产品类型和业务用例来说是一种理想的方式。

但无服务器架构不仅仅只改变了软件交付的方式,它还会改变软件开发组织本身,相信这点对 IT 行业产生的影响将更加深远。

同时,DevOps 正在成为 IT 行业的新标准,并且已经被业界广泛采纳,常见于云计算和容器技术。那么,无服务器架构是如何适应 DevOps 文化的?它将如何影响常规的 DevOps 实践呢?

《无服务器计算的未来》

首先对无服务器多维度分析:计算、管理应用程序状态、协作服务方式、数据中心方案等。随后讨论了未来需要的部署、监控、日志、调试、测试等工具。并探讨了无服务器架构对架构、组织文化的影响。

《无服务器会成为新的 Visual Basic 吗?》

使用无服务器架构后不妨雇佣更年轻,更有干劲,不具备此类经验的开发者。很明显,“更年轻,更有干劲”以及“较少的经验”同时也意味着人力成本更低,追求这一点也没什么错。毕竟好的开发者难觅。类似的情况以前就出现过。很多公司都曾借助经验相对不多的人,使用 Visual Basic 开发了大量承担重要工作的系统,因为通过 VB,我们可以很轻松地开发 Windows 程序。但是与 VB 类似,无服务器技术大幅降低了云程序开发工作对技能的要求。虽然可以实现目的,但大部分此类 VB 程序都蕴含着“技术债”的炸弹。随着时间流逝,程序中被加入越来越多的功能,整个程序将变得非常难以理解,难以改动,难以测试,整个设计变得越来越糟糕。渐渐地,变成了一个大泥球。很想知道无服务器架构最终能否摆脱类似 VB 那样的宿命。

《我对无服务器架构的一些看法》

参加了 ServerlessConf 2017 的 Will James 撰文写下了他的观点看法。他认为无服务器不仅仅是函数即服务 (FaaS, Functions As A Service),还包含诸如数据库、身份验证、API 网关、编排,甚至具体到某一领域的其他服务,例如视频转码即服务或认知服务。总的来说,所有与这些服务有关的基础架构都不需要我们自行管理。无服务器意味着(近似于)100% 的利用率。如果和 PaaS 相比的话,PaaS 应用程序要么以特定的规模运行,要么以非常慢的速度进行伸缩,但会因为伸缩操作本身造成一定的开销(例如有未使用的实例处于闲置状态,等待接受请求)

《ServerlessConf 2017 大会的十大看点》

ServerlessConf 2017 大会于 4 月 26 日至 4 月 28 日在美国德克萨斯州奥斯汀举行,spotinst 的联合创始人兼 CEO Amiram Shachar 参加了此次大会。会后,他在博客上分享了一些有关这次大会的内容,并表达了对无服务器架构的一些看法。首先要明白一个概念,无服务器架构并非意味着没有服务器,无服务器真正的意思是说,开发人员不需要再处理与服务器相关的事情。

《诱人却非万能,理性看待 Serverless 的落地》

Serverless 通常被直译成“无服务器”,乍一看来,会让人立刻警觉到:这是不是一个“危险”的颠覆性技术?新技术的爱好者们会感到兴奋,而保守派可能会隐隐地担忧着是不是云计算的新炒作。在 Serverless 呼声渐起之时,InfoQ 采访了在云领域深耕十载的陈威,请他谈谈他对 serverless 的观点看法。

在陈威看来,Serverless 并非银弹,它只是云计算在逐渐成熟之后的一个细分技术。新的技术层出不穷,但是技术人不能狂热鼓吹也不要盲目跟从,要始终清醒地牢记“技术始终是为人服务的”。认知水平决定了一个技术人是能成为真正有效的推动者还是低效疲惫的跟风人。

云计算巨头怎样解读 serverless?

Lambda 代码确实是部署在服务器计算能力之上的,但因为是托管的服务,用户不需要管理服务器,所以从用户角度来看就可以理解为是没有服务器的。

Azure:《微软推出 Azure Functions 预览版,涉足无服务器应用领域》

2016 年 4 月,微软公开了 Azure Functions,让开发人员可以发布基于外部触发执行的代码,而不用考虑准备计算或存储资源。这提供了两种托管选项:传统的“应用服务(App Service)”方案或新推出的“动态服务(Dynamic Service)”方案

阿里云:《Serverless 发展早有“端倪”,函数计算源于场景需求》

Serverless 架构于 2014 年进入大众视线,AWS、谷歌云、微软 Azure 和 IBM Bluemix 等云厂商提供服务。业界认为,Serverless 化可大幅降低 IT 成本,将云的费用减少 10%-90%。2017 年 4 月,阿里云发布了函数计算产品。阿里云函数计算负责人不瞋认为,从云计算整体发展趋势而言,Serverless 的出现是意料之中。云计算的第一阶段是基础设施即服务,用户能够使用和调动大规模的计算资源;接下来需要攻关的是如何高效利用资源、更加有效的降低成本,更加弹性的面对业务波动,这就是函数计算的用武之地。InfoQ 对不瞋进行了专访。

Serverless 先锋实践

《Autodesk 无服务器微服务架构样例》

在一场“什么比微服务更好?无服务器微服务”的网络直播中,Alan Williams(Autodesk)、Asha Chakrabarty(Amazon)和 Alan Ho(Apigee)三位专家进行了无服务器微服务的架构讨论。Autodesk 分享了其实现的无服务器微服务架构。

2017-07-30 19:002814
用户头像

发布了 58 篇内容, 共 47.8 次阅读, 收获喜欢 35 次。

关注

评论

发布
暂无评论
发现更多内容

Nginx解决跨域问题

乌龟哥哥

5月月更

springboot线程池的使用和扩展

程序员欣宸

Java 线程池 5月月更

大数据培训Flink怎样保证数据是一致性的

@零度

大数据 flink

[Day35-02]-[二叉树]-求根节点到叶节点数字之和

方勇(gopher)

LeetCode 二叉树 数据结构算法

《深入理解计算机系统》读书笔记——第二章(一)

如浴春风

5月月更

网站开发进阶(十九)计划任务功能——信息自动弹出

No Silver Bullet

5月月更 自动弹窗

springsecurity从当前请求对象中获取用户信息

急需上岸的小谢

5月月更

《手写 Mybatis》第7步:SQL执行器的定义和实现

小傅哥

小傅哥 mybatis 面试经验 源码学习 手写Mybatis

web前端培训Vite的原理源码解析

@零度

前端开发 vite

[Day36]-[二叉树]-在每个树行中找最大值

方勇(gopher)

LeetCode 二叉树 数据结构算法

架构实战营模块四作业

哈啰–J

Python 操作 Excel,从 xlwings 模块开始

梦想橡皮擦

5月月更

OpenHarmony 3.1 Beta版本关键特性解析——ArkUI开发框架容器类API的介绍与使用

OpenHarmony开发者

OpenHarmony ArKUI 3.0 OpenHarmony 3.1 Release

《对线面试官》Java简历怎么写?

Java3y

Java 程序员 Java web 5月月更

Redis 内存优化在 vivo 的探索与实践

vivo互联网技术

数据库 redis 性能优化 内存优化

数字化时代,国内SaaS行业的发展态势

小炮

SaaS

【C语言】计算器

謓泽

5月月更

Java培训 判空的新写法

@零度

java8 JAVA开发 判空写法

MongoDB 入门教程系列之一:开发环境搭建以及 Node.js 和 Java 的读写访问

汪子熙

数据库 mongodb 分布式 分布式数据库mongodb 5月月更

Pipy for Next Web:静态内容服务与缓存加速

Flomesh

CDN加速 Pipy Headless CMS

多平台快速开发的UI框架

源字节1号

Jeff Dean:深度学习的黄金十年

OneFlow

人工智能 深度学习 软件 硬件

面试突击44:volatile 有什么用?

王磊

Java Java面试题 java常见面试题

WebAssembly技术_加载ffmpeg在Web端调用解码

DS小龙哥

5月月更

DevOps系列之 —— 持续规划与设计(一)敏捷项目管理理念与方法实践

若尘

DevOps 5月月更

从研发效能的视角谈“故障复盘”

博文视点Broadview

ONES 收购 SegmentFault 思否,共建高质量开发者社区

万事ONES

项目管理 程序员 研发管理 ONES

thinkphp5的消息队列详细教程

CRMEB

跟我学Python图像处理丨获取图像属性、兴趣ROI区域及通道处理

华为云开发者联盟

Python OpenCV 图像处理 图像 ROI区域

云原生 on nLive:云上 Nebula Graph

NebulaGraph

数据库 图数据库 原生云

网站开发进阶(二十五)JS实现将html表格导出为excel文件

No Silver Bullet

5月月更 表格导出

Serverless 文章大汇总_语言 & 开发_木环_InfoQ精选文章