作者 | xplanet
本文转载自开源中国。
说起当前最火的技术,不得不提的一个概念就是 Serverless。2019 年几乎所有人都在说 Serverless,实际落地 Serverless 的有多少?
Serverless 作为一种新型的互联网架构,直接或间接推动了云计算的发展,从 AWS Lambda 到阿里云函数计算,Serverless 一路高歌,同时基于 Serverless 的轻量计算开始登录云计算的舞台。
传统的 IT 架构已经不适合当今快速发展的数字经济环境。技术顾问 Declan Morris 表示:“客户不仅期望零停机时间,而且要求应用程序无论在世界任何地方都具有一致的性能。”他还预测到,接下来是 Serverless 计算和函数即服务(FaaS)的天下。
由于可用于构建、管理和维护新一代数字系统的人才数量有限,加上 IoT 设备的计算约束,现在人们必须重新考虑合适的的计算平台。思科称,到 2022 年,我们将拥有 1 万亿个联网传感器,并且在 20 年内将多达 45 万亿。如果期望管理所有这些连接的设备,出于必要,我们将必须采用 FaaS。
在 Serverless 的世界中,这要容易得多,只需调用一个函数或一系列函数即可获得结果。此外,Serverless 计算的成本也低于基于服务器的成本,使用 Serverless,只需为执行该函数付费。
那么当今 Serverless 的发展情况如何呢?咨询公司 O'Reilly 对来自不同地区、行业和公司的 1,500 多名受访者做了调查,下面来看一看具体调查内容。
约 40% 的受访者所在的组织采用了 Serverless。
其中,有超过 50% 的受访者在一到三年内采用,而 15% 的受访者在三年前就采用了 Serverless。截止于 2019 年底,亚马逊的 AWS Lambda 也只有 5 年的历史,因此,对比来说,拥有超过 3 年采用经验的任何组织都算是非常早的采用者。
另外,超过三分之二的受访者认为他们的组织对 Serverless 的采用至少“大部分是成功的”。成功的总体模式表明,Serverless 已经成为一种实质性且可行的基础架构选择。采用越早、经验越丰富的组织,使用 Serverless 的成功率越高。因为 Serverless 需要时间和经验来解决采用 Serverless 所造成的工具、数据保护和操作难题。
Serverless 的好处也显而易见:
- “降低成本”排在第一位;
- 接着是“自动按需扩展”,意味着组织可以选择性地部署 Serverless,无需计划平均或最大使用量,而是可以扩展到当前使用量,这种扩展消除了随机和意外流量、高峰或季节性大流量的困扰;
- 排在第三位的益处是“Serverless 维护”,当修补、保护和管理等细节由 Serverless 提供商负责时,软件工程师就可以腾出时间来专注于更广泛的任务。
“减少工程准备时间”和“降低开发成本”对于使用 Serverless 三年以上的公司来说是更重要的收益。当然,这也说明了 Serverless 需要花费大量时间才能开始看到明显的成本优势。
有关采用 Serverless 尚存的难题,“培训员工”位列第一,“供应商锁定”和“集成/测试更困难”是另外两大困扰。
DevOps 和 Serverless 似乎天生匹配,因此将 DevOps 团队视为管理 Serverless 实施的首选就也不足为奇。在 Serverless 架构上部署容器化服务并使用 Kubernetes 编排这些服务符合现有的 DeOps 实践。
总的来说,Serverless 正被逐渐广泛采用,它带来不少显而易见的好处,也存在一些待解决的问题。
接下来,对 Serverless 的需求仍将持续增长,这对许多组织而言是另一种有价值的基础架构选择。与特定技术或编程语言无关,Serverless 可以处理各种各样的任务,并且随着时间的流逝,入门变得越来越容易。
在 Serverless 计算中,平台服务接管了底层基础设施的管理,因此平台服务必须处理好容错和资源伸缩等问题,才能充分发挥 Serverless 计算的能力。
自阿里云函数计算上线以来,被开发者广泛的用于大规模多媒体数据并行处理、日志/物联网数据的流式处理以及网站后端服务等场景中。从实际使用情况来看,Serverless 计算在工程效率、可靠性、性能、成本和安全性等方面给用户带来了巨大的价值。
阿里云函数计算不仅大幅增强了 Serverless 应用构建、运维等方面的用户体验。用户可以在自己的开发机本地环境中创建和云端运行环境一致的沙盒,进行依赖包安装、断点调试等操作;还提供了 VSCode,Intellij Idea,PyCharm 等流行开发工具的插件,通过图形用户界面的交互方式,进一步降低了工具的使用门槛。
Serverless 一旦深入去做会发现实际非常复杂。这个复杂体现在涉及的工程技术比较广,也体现在用户的期望差异很大,更体现在大家对未来的判断还有很大的差异。有兴趣的同学可以进群一起讨论。
欢迎加入钉钉交流群
“阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术圈。”