客户案例 > 案例详情

拥抱 Knative,合思加速 Serverless 化演进实践

客户介绍

合思创立于 2014 年 11 月,致力于财务数智化服务的应用与创新,运用前瞻的对象会计理念和先进的 AI 数字科技,服务未来财务人。在广泛连接的生态、双轮驱动的模式创新和无需报销的“消费-入账-归档”解决方案基础上,进一步构建敏捷的财务收支管理平台,为企业提供智能聚合消费、费控报销、收付款管理、财务收支经营分析和电子会计档案等全方位财务数字化服务,解放双手释放创造力,助力企业实现业财融合。

业务挑战

由于合思平台的生态连接特性,合思实施了众多第三方单点登录服务,包括钉钉、企业微信、飞书、致远、薪人薪事、北森、蓝凌、纷享销客等,以实现企业内部系统的无缝对接。

2021 年,随着公司业务的扩展,合思启动了易桥业务线,专注于快速整合企业内部系统与合思平台,实现登录、人员、单据、消息等数据的互联互通。

然而,由于新服务的大量涌现以及研发团队对 Kubernetes 的掌握程度不足,运维成本急剧上升。为了支持业务的快速上线和迭代,合思迫切需要一种基于 Kubernetes、运维简便的解决方案。

阿里云的解决方案
引入阿里云 ACK Knative 框架

Knative 旨在制定云原生、跨平台的 Serverless 编排标准,允许开发人员利用 Kubernetes 原生 API 部署 Serverless 服务,既满足了基于 Kubernetes 的需求,又允许开发人员自主部署服务。

Knative 的一键部署功能大大简化了部署流程。研发团队仅需通过简单的编排即可完成服务部署,省去了对 Kubernetes 原生资源如 Deployment、Service、Ingress 等的管理,有效降低了运维门槛。

合思基于 Knative 对系统进行了以下改造:

  • 基于 Knative 的流量策略实现灰度发布

    随着易桥业务线的深入应用,特别是在业务高速发展期,合思利用 Knative 的流量策略实现了灰度发布功能。这一功能基于 traffic 的多版本管理,相较于 Istio 等复杂工具,Knative 提供了一种更为简单、便捷的灰度发布方案。

  • 基于 Knative 优化微服务管理

    易桥的成功实践引起了前端架构团队的关注。在前端微服务拆分过程中,面对大量前端服务和工具类服务,为了降低运维成本、提升研发上线效率,合思同样选择了 Knative 作为微服务拆分的载体。由于前端微服务数量众多、资源使用率低,且无需数据库配置,Knative 的使用极大地减少了运维人力成本,同时提高了研发的发布效率。

此外,Knative 的 HPA(水平自动扩展)配置同样简单直观,无需额外编排,直接在 ksvc 上配置即可。这与需要额外策略配置的 K8s 原生 HPA 相比,管理更为简便。

最后,得益于 Knative 的路由标准和轻量级标识特征,合思能够将公网统一配置的域名规则解析到 Knative 网关,实现了研发环境的运维零介入。

通过上述实践,合思不仅提升了业务的响应速度和系统稳定性,也为团队带来了运维简便和研发效率的双重提升。

业务价值

Knative 是一种低成本、高标准化、轻量级的 DevOps 工具,为企业提供了一个高效、灵活的运维解决方案。由于 Knative 的简单性、标准化和易用性,它在新服务的快速独立上线场景中发挥了巨大作用,不仅提升了研发效率,还显著降低了运维成本。

  • 简化资源管理:通过 Knative,合思实现了资源类型的极大简化。所有服务相关的配置仅需通过一个文件即可完成,该文件的配置清晰而简洁,大大提升了配置的易读性和易管理性。

  • 统一标准:Knative 的编排标准性为合思的路由管理带来了革命性的简化。统一的标准使得路由配置变得直观易懂,进一步降低了运维的复杂性。

  • 便捷灰度部署:Knative 提供了基于流量百分比的灰度发布能力,配置过程简单直观。这种能力使得合思能够轻松实现新版本服务的逐步推广,同时确保用户体验的平滑过渡。

使用的阿里云产品
免费试用