BT

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

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

| 作者 Todd Hoff 关注 0 他的粉丝 ,译者 大愚若智 关注 9 他的粉丝 发布于 2017年5月24日. 估计阅读时间: 4 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

在无服务器架构的帮助下,我们可以借助更少的有经验开发者,实现比以往更多有经验的云开发者更出色的工作成果。这个有趣的观点是Movivo的CTO Paul JohnstonThe ServerlessCast #6 – 事件驱动的设计思维中提出的,我也是第一次听到这样的观点。

得出这种结论的思考过程差不多应该是这样:

在事务性系统、框架,以及承担多种任务并且显得笨重的容器等方面,有经验的云开发者很可能采取一种程序化的思维方式(Think procedurally)。

但无服务器开发者不需要这样考虑问题。无服务器开发者的思路需要从小型函数着手,只需要考虑一件事:通过事件将不同函数连接在一起,这一过程中需要领会异步、分布式的思维方式。

因而此时我们实际上根本不需要典型的开发者思维。Paul发现,很多具备系统管理技能的人已经具备这样的能力了。拥有系统管理员背景的人往往能比框架开发者更深入地理解分布式思维,进而更好地构建出完整的事件系统。

Paul还提出了一个观点,认为一旦系统已经构建完成,有经验的开发者很快会感到无聊,因为无服务器架构的系统并不需要那么多的维护工作。

例如,他们已经习惯于雇佣通过在职培训具备两年职业经验的员工,因为这样的员工在框架、服务器,以及其他各种技术的使用方面没有“历史包袱”。没有包袱才能轻装上阵。

那么不妨雇佣更年轻,更有干劲,不具备此类经验的开发者。

很明显,“更年轻,更有干劲”以及“较少的经验”同时也意味着人力成本更低,追求这一点也没什么错。毕竟好的开发者难觅。

类似的情况以前就出现过。很多公司都曾借助经验相对不多的人,使用Visual Basic开发了大量承担重要工作的系统,因为通过VB,我们可以很轻松地开发Windows程序。以往,Windows程序的开发很难,需要耗费大量时间;而今天的云程序开始其实也很难,很浪费时间。但是与VB类似,无服务器技术大幅降低了云程序开发工作对技能的要求。

虽然可以实现目的,但大部分此类VB程序都蕴含着“技术债”的炸弹。随着时间流逝,程序中被加入越来越多的功能,整个程序将变得非常难以理解,难以改动,难以测试,整个设计变得越来越糟糕。渐渐地,变成了一个大泥球(Big Ball of Mud。译注:指缺乏直观架构的软件系统,详见:https://en.wikipedia.org/wiki/Big_ball_of_mud)。

VB使得很多原本麻烦的问题变得更容易解决,例如事件句柄中的业务逻辑,由于不需要分层,可以通过GUI负责编排工作。但这也导致VB程序难以测试。无服务器也存在此类问题。缺乏经验的程序员还会在VB程序中使用大量全局变量,导致不同领域之间缺乏清晰的划分,高耦合低内敛。无服务器同样存在类似问题,由于代码中不存在全局变量,最终只能使用数据库存储所有无服务器函数所需访问的全局变量。

我倒是很想知道无服务器架构最终能否摆脱类似VB那样的宿命。

最初发布于:HackerNews

作者Todd Hoff阅读英文原文Is Serverless The New Visual Basic?


感谢郭蕾对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个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