云编程简化版:简化版
《简化云编程:伯克利视角下的无服务器计算》一书出版已经一周了,我有时间思考并通读了这本书。
如果你不想阅读整篇论文,可以看看这篇帖子,里面有我的简要总结。
区别与基本观察
一开始,他们就明确区分了无服务器架构和传统架构,他们称之为有服务器云计算。
他们说,“……这两种方法代表了基于功能/以服务器为中心的计算平台这一连续体的两端”。
这句话:
“在云计算环境中,有服务器计算就像使用低级汇编语言进行编程,而无服务器计算就像使用 Python 等高级语言进行编程。”
我以前从未这样想过,但仔细想想完全有道理,也很有说服力。这完全是从抽象如何改进这一角度出发的自然发展。
“汇编语言程序员计算诸如 c = a + b 这样的简单表达式时,必须选择一个或多个寄存器,将值加载到这些寄存器中,执行算术运算,然后存储结果。这与服务器型云编程的几个步骤类似,首先配置资源或识别可用资源,然后将必要的代码和数据加载到这些资源中,执行计算,返回或存储结果,最后管理资源释放。”
“自动化内存管理使程序员无需管理内存资源,而无服务器计算使程序员无需管理服务器资源。”
很多内容都让我大开眼界。再说一遍,这又回到了之前的观点:“就像用Python这样的高级语言编程一样。”!
定义
还有一点:正如@schrockn在这里指出的那样,他们对无服务器计算的定义方式非常有趣。
“虽然云函数(以 FaaS(函数即服务)的形式打包)代表了无服务器计算的核心,但云平台也提供专门的无服务器框架,以满足特定的应用程序需求,这些框架以 BaaS(后端即服务)的形式提供。简而言之,无服务器计算 = FaaS + BaaS”。
请注意他们在定义中明确使用了“BaaS”一词。
无服务器架构与有服务器架构的成本比较
云提供商报告称,客户在将应用程序迁移到无服务器时可节省 4 倍至 10 倍的成本[1] , [2]。
“我们预测无服务器架构的使用量将激增。我们也预测混合云本地部署应用会随着时间的推移而减少,尽管由于监管限制和数据治理规则,某些部署可能会继续存在。”
同意。
此外,在题为“无服务器计算的吸引力”的部分中还有这样一句话:
“……让云更容易编程有助于吸引新客户,并帮助现有客户更多地利用云服务。”
这句话至关重要。
对于不熟悉云计算的人来说,尤其是前端/移动/客户端开发人员,云计算确实存在一定的入门门槛。即使现在有很多框架和抽象层可用,但仍然有很多术语他们完全不了解,我以前就是这样。
这个领域蕴藏着巨大的机遇,也就是让云计算更容易被使用。目前这个领域已经呈现高速增长,而且我认为未来几年它还会加速发展。
这就是为什么我非常兴奋能够参与开发像Amplify Framework这样专门实现这一目标的工具。
接下来是预测环节(我最喜欢的部分)
“我们预计未来将出现新的 BaaS 存储服务,从而扩展可在无服务器计算环境下良好运行的应用类型。此类存储将达到本地块存储的性能水平,并提供临时性和持久性两种版本。”
“我们预计,由于云函数具有高度的编程抽象性和细粒度的隔离性,无服务器计算的安全编程将比有服务器计算更容易实现。”
“更容易进行安全编程……”。重要的区别。
“我们认为,无服务器计算的成本没有根本原因应该高于有服务器计算,因此我们预测计费模式将会发展,使得几乎任何规模的应用程序,使用无服务器计算的成本都不会更高,甚至可能更低。”
最后是这个
“无服务器计算将成为云计算时代的默认计算范式,在很大程度上取代有服务器计算,从而终结客户端-服务器时代。”
此外,还有一些关于无服务器架构的挑战、谬误和陷阱以及如何解决这些问题的非常有用的信息。
现在正是探索这个领域的绝佳时机!
要了解我对无服务器架构的看法以及它如何影响前端开发人员,请查看我的文章《无服务器计算时代的全栈开发》。
这篇文章源自我之前发布的关于这个主题的推文,你可以在这里找到这些推文。
1月19日,
距离《简化云编程:伯克利视角下的无服务器计算》发表已经过去一周了,我有时间思考并通读了这篇文章。
如果您不想阅读全文,可以查看这个帖子了解我的看法:
www2.eecs.berkeley.edu/Pubs/TechRpts/…2019年2月17日 晚上9:21
https://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-3.pdf
文章来源:https://dev.to/dabit3/cloud-programming-simplified-simplified-29ib
