差距都在细节上。
Serverless 要成就云计算的下一个 10 年,不仅需要在技术上持续精进,也需要在产品体验上精耕细作。
近日,阿里云 Serverless 再度升级,发布了一系列围绕产品体验方面的优化,包括函数计算 FC 全面融入容器生态,添加容器镜像的触发;宣布开源国内首个 Serverless 开发者平台 Serverless Devs, 帮助开发者实现一键体验多云产品,极速部署 Serverless 项目;SAE 提供了 QPS/RT 维度的弹性策略配置,增加了限流降级等企业级特性,强化了应用的全生命周期管理;Serverless 事件总线 EventBridge 重磅发布,以标准化的 CloudEvents 1.0 协议帮助用户轻松构建松耦合、分布式的事件驱动架构。
体验上还是有门槛。
函数计算的优势显而易见,他帮助开发者承担了大量复杂的扩缩容、运维、容量规划、云产品打通集成等责任,使得开发者可以专注业务逻辑、提高交付速度 (Time-to-market) ,持续优化成本。但从传统应用迁移到函数计算上仍面临诸多挑战,例如运行环境不统一、应用构建学习成本高、代码包服务限制、交付物缺乏版本管理、缺少流行开源工具(如 CI/CD 流水线)的支持和集成等。 解法就在容器上。
容器的生态沉淀非常丰富且成熟,已被广泛接受使用,并且应用容器化已经成为开发和部署的事实标准。新版函数计算 FC 支持将容器镜像作为函数交付物,把容器优秀的开发、部署、生态(上线前)和函数计算自身免运维、零闲置成本、云服务集成等特性(上线后)的特性相结合,全面升级开发者体验: ![函数计算+容器.png](http://img2.sycdn.imooc.com/5fcf774d0001b6ab10680491.jpg Object]&name=函数计算%2B容器.png&originHeight=491&originWidth=1068&size=248236&status=done&style=none&width=1068)
**简化应用 Serverless 化:**无需修改代码或是重新编译二进制、共享对象(*.so),本地调试,保持开发和线上环境一致;
**更大函数代码限制:**解压前镜像最大支持 1 GB(相比代码包最大解压前 50MB),避免代码和依赖分离,简化分发和部署;
**容器镜像分层缓存:**增量代码上传和拉取,提高开发效率和降低冷启动延迟;
**镜像分享、复用:**逻辑可以移植、减少重复开发建设。
混合部署:同一应用 Serverfull (ECS, 容器 ACK)、Serverless (FC, ASK, SAE),不同应用混合部署或同一应用不同服务间切流,达到性能一致、资源刚性交付、快速扩容、运维最小化的平衡。
**CI/CD:**持续构建、集成测试、代码上传、存储和标准的版本管理,丰富的开源生态 CI/CD 工具可以复用。
**Serverless 的落地并是单单一个商业化产品就能解决的,**而是需要一整套工具链,因为 Serverless 涉及应用的创建、项目的开发、测试,以及发布和部署等,是对整个开发运维项目的全生命周期管理。
Serverless Devs 是一个组件化与插件化的 Serverless 开发者平台,旨在以更开放、更标准的方式来解决 Serverless 的工具链之困。
**学习成本更低:**开发者无需对市面上每一款 Serverless 工具进行研究和学习,只需通过 Serverless Devs ,就可以简单、快捷的"上手"主流 Serverless 服务和框架。
**开发、部署更直观:**Serverless Devs 提供了 App Store ,开发者可以通过关键词快速检索所需的应用案例或组件,并且通过可视化编辑完成项目配置,通过鼠标点击即可完成项目部署,整体部署时间缩短了近 1 倍。
**使用更灵活:**Serverless Devs 在进行项目描述时不仅仅可以对函数计算、API 网关、对象存储等资源进行描述,也可以通过 Serverless Devs 提供的插件以及 Hook 进行 Install、Build、Publish 等行为描述。与此同时 Serverless Devs 不会对每个组件的命令进行限制,而是鼓励开发者针对不同的组件,开发不同的能力来应对更多、更复杂的场景,这种灵活与开放的使用方法,使得 Serverless 项目的开发运维效能提升 90%。
如果说,函数计算为创新类业务或对算力消耗较大的离线场景,提供了一个更高效的实现路径;那么,SAE 则为核心生产应用的 Serverless 化,提供了一个最短的落地路径。
以微服务场景为例,SAE 提供了应用开发、应用部署、应用管理、监控管理和日志管理等应用全生命周期的管理。
**迁移平滑,免运维:**不涉及任何代码和业务逻辑的修改,就能将 Spring Cloud / Dubbo 的微服务应用或 Spring Boot 的应用部署到 SAE 上。同时因其屏蔽了 IaaS、K8s 底层的细节,解决微服务架构和容器服务运维复杂的痛点,具备0门槛+0改造+0容器基础的绝对优势,从而节省人力成本,专注业务本身。
**企业级特性丰富,稳业务:**SAE 提供了开箱即用的微服务治理、应用监控的能力,内置ARMS基础版能力,给端到端应用监控和定位诊断问题提供了很好的支持,节省大量问题的排查时间。SAE 内置 AHAS,大大增强了微服务系统在面临业务洪峰时的稳定可靠能力。
**节省限制资源,Serverless 一下:**SAE 提供的定时弹性和监控指标弹性(CPU、Memory、QPS和RT等),既能做到秒级扩容,最大限度的保证了整个系统集群的高可用,又能降低限制资源的浪费,除此之外,SAE 独有的一键启停功能还能节省开发测试环境成本。
这是产品理念上的领先。
2019年7月,AWS 推出 EventBridge,被誉为是自 Lambda 以来最重要的产品,如今已经成为事件驱动架构下的标配。 而事件驱动架构已被 Gartner 列为 10 大战略技术趋势之一,将成为未来微服务的主流。
阿里云此次发布的 Serverless 事件总线 EventBridge 正是为了解决当下事件处理的痛点:
云产品需要冗余写多份事件或从多个事件源中获取数据:我们用 EventBridge 来构建云产品事件中心。
没有统一的事件标准,云服务间事件协议无法兼容:我们以标准化的 CloudEvents 1.0 协议,来构建事件驱动架构。
云服务间事件能力重复建设,无法扩展,事件之间独立,无法获取规模效应:我们借助 EventBridge 来拉通行业合作伙伴和第三方 SaaS 服务商,以标准化的接入来方式上下游事件。
细节上的打磨并非一朝一夕,体验上的改进不能闭门造车。Serverless Devs 的开源,Serverless 产品和工具的丰富,意味着我们将会以更开放的方式来持续提升 Serverless 生态的全面体验。
我们邀请您一起加入,Let’s Serverless!