BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Serverless 文章大汇总

| 作者 木环 关注 2 他的粉丝 发布于 2017年7月31日. 估计阅读时间: 16 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。
前言
Serverless一词可以追溯到2012年,Ken Fromm撰文讨论了《Why TheFuture Of Software And Apps Is Serverless? 》彼时云计算世界依然围绕着“服务器”这个概念,云用户依然需要考虑服务器的数量价格以及何时扩容等问题;Ken认为Serverless并不是没有服务器了,而是说云应用开发者们再也不需要考虑服务器了,云用户可以使用云端资源并且无需操心物理容量或者上限等管理事宜。
 
大部分的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?
AWS:《InfoQ在线课堂问答记录:无服务器架构与SaaS有什么区别?》http://www.infoq.com/cn/articles/QA-of-serverless-architecture-lambda
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分享了其实现的无服务器微服务架构。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT