如果说云计算是过去、现在和未来,那么 Serverless 就是云计算的未来。Gartner 报告中表明,2020 年全球将有 20%的企业部署 Serverless。Serverless 以其学习成本低、运维友好、灵活性高的特点为开发、运维团队所喜爱,在国内外也开始走上了大规模考察乃至实践的应用之路。
但不可否认的是,Serverless 还没有出现最佳实践,国内国外也都处在探索的过程中。3 月 21 日,腾讯云 TVP 技术闭门会请来了国内外 Serverless 技术的佼佼者、使用者坐而论道,共话 Serverless 从概念到实践的发展之路。
>点击视频,查看本期 TVP 技术闭门会精彩集锦<
Serverless 是未来的云
大咖金语:
“我们相信,未来 Serverless 应用开发者将聚焦在各种解决方案的开发上,利用 Serverless 基础设置提供各种应用方案,而不用去特别地关注底层的复杂基础架构,Serverless 公司将和腾讯云一起建立起中国的 Serverless 开发者社区。”
——Austen Collins
Serverless.com CEO Austen Collins 做了题为《Innovate More, Manage Less With Serverless》的演讲。Austen 是 Serverless Framework 的原作者,目前这个开源框架有超过 3.5 万的 star,下载次数超过 200 万,用户包括可口可乐、摩根大通等知名企业。去年底 Serverless 与腾讯云达成深度合作,将 Serverless 在北美的成功经验带到中国,并给开发者带来体验极佳的 Serverless 工具。
Austen 提到,当我们说 Serverless 时,我们经常提到的是易扩展性,自动扩容,低成本,容易开发,聚焦在应用的输出淡化基础设施。现阶段 Serverless 的几个典型场景包含:REST API、流数据处理、GraphQL API、时间驱动的工作流、边缘计算及部署。而随着 Serverless 的发展,未来它还会与 Webassembly 擦出新的火花。
在 Austen 的演讲中,提到了几个值得关注的实践案例。一个北美百货零售商,通过使用 Serverless 的技术方案,目前已有 4000 个基于 Serverless 的应用,用例包含构建 API、处理数据等,页面上的每一次按钮交互背后都可能是访问某个 Serverless 云函数。该公司技术团队只有 70 个开发者,负责开发各种基于 Serverless 的应用、API 等。以前很难想象 70 个开发者可以开发和维护超过 4000 个应用,而使用 Serverless 以后,他们不再需要特别关注如何扩容应用,将精力花费在关键的业务开发上。
Austen 同样指出,Serverless 并不完美,也绝不是银弹。它并不适合所有的应用案例,你需要完全基于云设施进行开发,传统的数据库并不能利用到 Serverless 易扩容的特点。在 Serverless 的使用中,Austen 也看到了很多创新的用例,企业可以聚焦在适合 Serverless 的业务点上,不用一开始就选择全面迁移。
硬核的 Austen 在分享过程中手写了两个 Demo,演示了在数秒内将应用部署到基于 Serverless 的各种云基础设施上,整个过程不会看到任何云端设施创建的细节。Serverless 提供了一种完全基于云端的开发体验,你可以像本地开发一样编辑你的代码,代码将自动同步到云端基础设置,并且所有的日志将会输出回你的本地终端中。
在提问环节中,Austen 对开发者关心的 Serverless 问题做了解答。他认为 Serverless 的产生不会像云那样对运维团队造成大的冲击,恰恰相反的是,他看到运维团队对 Serverless 格外欢迎。
“Serverless 是云的未来形式,它将成为未来开发者们的超能力!”Austen 最后总结道。
Serverless:低成本、无范式的技术方案
“Serverless 的价值是什么?低成本和无范式。在低成本和无范式的基础上,它的主要价值就在于它的灵活性。现在行业里更多还是照搬 MVC 框架,很少把复杂业务放在 Serverless 上运行,没有发挥出其灵活性特点。”
上海婓鸿网络科技有限公司技术经理朱峰老师接触 Serverless 的时间并不长,2018 年下半年入“坑”的他,选择了腾讯云的云函数产品。他介绍道,最开始的尝试是从边缘的简单功能例如数据处理用起,体验了 Serverless 的用法以后,最后才决定将公司核心业务全部迁移到 Serverless 上。
大咖金语:
“任何技术都是为了解决具体的问题,不同的问题场景里面其实是有不同的资源和不同的优先级,技术本身并不存在优劣之分。但 Serverless 具备的特性,却让它的使用场景变得十分可观。”
——朱峰
朱峰老师指出,Serverless 的低成本不仅体现在学习成本低,而且在开发、运维迭代甚至包括费用成本方面都非常低。尤其是在费用成本方面,腾讯云云函数最低支持 64M 内存,以毫秒方式计费,对开发者十分友好。
业内对 Serverless 的顾虑在于,目前还没有看到核心业务场景跑在 Serverless 上的最佳实践。对此朱峰老师也分享了自己是如何把核心业务放在 Serverless 上,以什么样的方式管理 Serverless。
第一,App 还是 Function?这不是二选一的问题,应该两者根据业务的情况去做。我的建议就是简单的功能尽量用 Function,之后牵涉到多个 mode 交互可以使用微型的 GraphQL 的 app 实现;
第二,如何管理环境?腾讯云中 Namespace 可以区分测试环境、生产环境,Version 每次部署都会生成一个版本,Alias(别名)指向某个版本号。利用好三者可以有效管理环境;
第三,如何管理密匙?将密钥文件存放在特定的对象存储里,通过严格的权限管理和指定云函数的运行角色,使得特定的云函数可以读取特定的密钥。
“Serverless 的最佳应用场景是快速迭代的业务场景而不是稳定的业务场景。因为其无范式的特点可以完全按照业务的类型,抛开之前的 MVC 或者别的常规范式去探索自己真正适合自己业务的特性。对企业、业务部门来说,更多情况下面对的是一个未知的市场和业务,这个时候如果能抛开旧的思维定式完全根据新的业务开发适合自己的业务架构,会更有帮助。而 Serverless 的灵活性和特性从底层上就支持你去这么做。”
腾讯云将提供一整套 Serverless 解决方案
大咖金语:
“Serverless 是一套完整的解决方案,涉及到软件开发的全生命周期,从开发部署到运维等等。从 Serverless 的角度看,现在仍旧缺少成熟的产品,很多厂商都在提供一套偏基础的服务,比如说函数计算、API 网关、无服务等等。腾讯内部支持微信小程序等核心应用的 Serverless 技术已对所有用户开放。腾讯云将提供一站式开发、部署、运维 Serverless 解决方案。”
——Yunong Xiao 腾讯云中间件总经理兼首席架构师 Yunong Xiao 在圆桌环节分享了腾讯云与 Serverless.com 的合作。腾讯云期望做好开发体验,寻求与 Serverless.com 产品的合作,而后者同样希望能通过腾讯云改进云上服务,让产品更完善。两家企业的强强联合可以说是一拍即合,在中国做一个针对开发者的最领先的全套解决方案。
今年二月份国外机构也给出了全球 Serverless 厂商的整体评测,腾讯仅次于亚马逊和微软,位列第三。Yunong Xiao 指出,这背后一方面是因为腾讯云在底层的性能、功能、稳定性上具备技术优势;另一方面在 Serverless 架构的运维层面,腾讯云也提供了全套的解决方案,后续还将发布更为优秀、智能的产品帮助 Serverless 做到运维无忧。
“腾讯云 Serverless 团队今年将在可用性、性能方面持续加码,同时聚焦开发者层面,将 Serverless 产品推荐给更多开发者使用,持续提升流程、工具、使用体验。”
为什么前端开发都爱 Serverless?
大咖金语:
“我认为 Serverless 更好的应用场景是面对前端的开发者,从前端的需求来讲,对无服务器的概念更感兴趣,而且痛点比较深。如果我们找准大前端的定位,让前端能形成一个全栈的开发,能满足他们的需求,这也是很好的 Serverless 发展需求。”
——李明
李明老师是游戏引擎研发与技术服务商 Layabox 的合伙人,超 90%的 3D 微信小游戏都采用 Layabox 旗下的 LayaAir 引擎研发,从他的角度看 Serverless,这是一个跟前端开发结合更加紧密的技术方向。事实上,Serverless 在前端领域的应用势头也明显优于后端开发。
李明老师指出,Serverless 更好地解决了前端开发的痛点,其易用性,无需部署维护服务器,也会极大地解放了前端开发的生产力。一方面,一些弱联网的单机游戏,也存在数据存储,活动验证等较为简单的服务端需求。另一方面,联机对战的需求也在不断增加。不仅是云函数、数据存储这种基础需求,甚至封装好的对战匹配与房间管理等,这些通用的游戏功能需求也是 Serverless 要走的方向,是小型游戏前端开发者降低成本,增强开发效率的需求。另外,5G 时代的来临,对云计算的需求也会越来越大,把云计算与游戏通用功能结合封装好,或者通过 Serverless 让前端游戏的部分功能也具有云算力,也是一种方向。结合大前端的潮流,其实 Serverless 的前景非常乐观。
李明老师也分享了他们公司内部业务对 Serverless 的尝试:
“2018 年七月份,我们公司内部有一个业务要上线,周期比较着急,业务的特点就是峰谷差距非常明显,流量的增减也不确定。在经过一系列选型和讨论后,最终选择了腾讯云的云函数,当时考虑的是弹性的伸缩和按使用量付费,还有稳定性和安全性的特点。另一方面,我们公司是做前端技术研发与服务的,绝大多数开发人员都是前端开发人员,这种情况下选择云函数的方式,非常快捷也比较高效。最终在我们选定这种方式并运营以后,发现性价比确实比较高,负载、扩容都挺好。”
谈到内部业务最初技术选型为何要用 Serverless,李明老师指出了几个考虑因素:
第一,考虑是否满足业务基础需求,能拿它干活是最基本的;
第二,考虑到开发效率、后续迭代和维护成本、动态扩容等问题;
第三,考虑到价格,不超过传统方案的成本。
基于以上几个考量标准,从满足基础需求到缩短研发周期、提升研发效率,最后在综合价格和效率成本等方面的因素下,Serverless 是一个值得一试的技术。李明老师特别指出,对于小游戏从业者,纯前端和前端为主的技术团队比较多,能够让前端直接使用 Serverless 可以极大提升开发效率和成本,解决了普遍性痛点。
Serverless 可以放心用在生产线上
大咖金语:
“关于 Serverless 大家讨论得更多的点在云函数,但实际上 Serverless 真正的核心是让开发者不要去过多关注云函数、API 网关或是对象存储这些基础设施,将关注点放在业务场景上。Serverless 现在无论是从线上运营、稳定性扩容性还是本地的易开发性,都不会比已有的开发或者运维的方案差。每个场景下,Serverless 都会有自己相应的解决方案,成为真正可以线上运行的东西。”
——黄珂
Serverless.com 中国研发负责人黄珂对 Serverless 的发展趋势给出了这样掷地有声的结论。他认为,企业最擅长的是做业务场景,而学习和管理云的基础设施需要企业付出额外的成本,需要专门的运维团队,学习成本高。Serverless 的价值在于,解放企业在基础设施上牵扯的精力,将目标聚焦于业务开发,用 Serverless 的能力实现快速迁移和部署。
据他介绍,Serverless.com 这家全球唯一以 Serverless 为域名的公司,发轫于一个开源项目,框架作者正是现在的 CEO Austen Collins。这个项目一开始就聚焦于为各种各样的 Serverless 场景提供统一的工具,在开源后受到来自知名企业和开发者的广泛欢迎以后,最终成立了 Serverless.com 这家商业化公司。
“ Serverless.com 在中国也希望从开源框架开始,把 Serverless 的概念真正落地到企业里面,同时在知名企业背书下也可以让 Serverless 变得越来越火,让大家逐渐迁移到 Serverless 的架构上来。”
国内外在 Serverless 的应用与关注方面有很大不同,黄珂也分享了他的观察。他表示,在北美地区,Serverless 落地到企业中的应用已经比较成熟,出现了可口可乐等比较知名的 Serverless 应用项目。而国内接触 Serverless 最早的一批人可能是个人开发者、小程序开发者,这与北美早期也非常像,目前所欠缺的就是足够知名企业的实践落地案例。
“我们在中国的思路是去找到像腾讯云这样足够优秀的云厂商,进行深入合作,建立本地的研发团队,告诉企业怎么样去迁移他们的应用,帮助他们打消顾虑迁移到 Serverless 上,也让企业能够看到像 Austen Collins 演示的例子一样,能够非常简单部署一个 Serverless 的应用。通过跟腾讯云的合作,把北美深入到企业应用中的概念带到国内的企业中来。
每一个开发者都应该了解 Serverless
闭门会最后,腾讯云 Serverless 技术专家,本场主持人王俊杰也做了精彩的点评:
大咖金语:
“我相信 Serverless 是一种未来的开发方式,它属于每一位开发者。”
——王俊杰
不难看出,国内外在 Serverless 的应用层面上都还处于探索期,国外相对而言领先一步,腾讯云和 Serverless.com 的合作,一方面将有助于北美经验在中国的落地,另一方面也有助于中国独特业务场景的应用实例给国外业界带来新的参考。
Serverless 已经走上了大规模实践的道路。
评论