无服务器革命的好、坏和丑!

有人预言10年后,也就是2020年无服务器将承载全球83%的企业工作量。

无论你喜欢与否,一场革命正在进行中。AWS处于领先地位,MS Azure和GCP紧随其后,所有人都怀有共同的目标:

无服务器=FAAS=DevOps之死

无论名称如何(为方便起见,我们称之为“无服务器”),这种新范式已经在重塑软件环境方面发挥了作用。我们已经看到像可口可乐这样的巨头在其生产堆栈中采用无服务器组件,而像无服务器这样的框架获得了数百万美元的资金。然而,我们应该记住,无服务器不是每个人适用,每个地方适用,每次都是适用 - 至少到目前为止不是。

服务器(少)=状态(少)
作为一个传统的程序员,我在无服务器方面看到的最大“障碍”是“无状态”。

尽管像lambda这样的实现倾向于保留状态一段时间,但是一般契约是你的应用程序应该能够放弃所有的希望并优雅地从零开始。不再存在内存状态:如果你想保存,那么你输了。

从另一个角度思考,这也可能被认为是无服务器的强大优势之一; 因为瞬态是大多数情况,状态 -不是全部 -是邪恶的根源。

这可能是一个公平的权衡,特别是像我这样的臭名昭着的程序员,是通过内存状态管理和寻求(通常是过早的)优化。

我们不应该忘记由于内存状态管理和缓存容量的减少而导致的性能损害; 你的状态管理器(数据存储),以前只是一些“电路跳跃”,现在会有几个网络跳跃,导致几毫秒 - 甚至几秒 - 的延迟。

鉴于其简单性,多功能性和可扩展性,无服务器应用程序可以成为公司IT基础设施的宝贵资产; 但是,如果没有正确设计,部署,管理和监控,在架构复杂性和财务问题方面,事情可能会非常容易失控。所以,知道如何驯服野兽比简单地学习野兽也许更重要。

祝您无服务器冒险成功!

Serverless Revolution: the Good, the Bad and the U