【阅读原文】戳:拥抱Knative, 合思加速Serverless化演进实践
公司介绍
合思创立于2014年11月,致力于财务数智化服务的应用与创新,运用前瞻的对象会计理念和先进的AI数字科技,服务未来财务人。在广泛连接的生态、双轮驱动的模式创新和无需报销的“消费-入账-归档”解决方案基础上,进一步构建敏捷的财务收支管理平台,为企业提供智能聚合消费、费控报销、收付款管理、财务收支经营分析和电子会计档案等全方位财务数字化服务,解放双手释放创造力,助力企业实现业财融合。
业务场景
由于合思平台的生态连接特性,我们实施了众多第三方单点登录服务,包括钉钉、企业微信、飞书、致远、薪人薪事、北森、蓝凌、纷享销客等,以实现企业内部系统的无缝对接。
面临问题
2021年,随着公司业务的扩展,我们启动了易桥业务线,专注于快速整合企业内部系统与合思平台,实现登录、人员、单据、消息等数据的互联互通。
然而,由于新服务的大量涌现以及研发团队对Kubernetes的掌握程度不足,运维成本急剧上升。为了支持业务的快速上线和迭代,我们迫切需要一种基于Kubernetes、运维简便的解决方案。
解决方案
在阿里云的ACK产品中,我们发现了Knative这一基于Kubernetes的Serverless框架。Knative旨在制定云原生、跨平台的Serverless编排标准,允许开发人员利用Kubernetes原生API部署Serverless服务。
这一发现似乎为我们量身定制,既满足了基于Kubernetes的需求,又允许开发人员自主部署服务。
我们在阿里云平台上成功部署了Knative,其一键部署功能大大简化了部署流程。研发团队仅需通过简单的编排即可完成服务部署,省去了对Kubernetes原生资源如Deployment、Service、Ingress等的管理,有效降低了研发的认知复杂度和运维门槛。
随着易桥业务线的深入应用,特别是在业务高速发展期,我们利用Knative的流量策略实现了灰度发布功能。这一功能基于traffic的多版本管理,相较于Istio等复杂工具,Knative提供了一种更为简单、便捷的灰度发布方案。
易桥的成功实践引起了前端架构团队的关注。在前端微服务拆分过程中,面对大量前端服务和工具类服务,为了降低运维成本、提升研发上线效率,我们同样选择了Knative作为微服务拆分的载体。由于前端微服务数量众多、资源使用率低,且无需数据库配置,Knative的使用极大地减少了运维人力成本,同时提高了研发的发布效率。
此外,Knative的HPA(水平自动扩展)配置同样简单直观,无需额外编排,直接在ksvc上配置即可。这与需要额外策略配置的k8s原生HPA相比,管理更为简便。
最后,得益于Knative的路由标准和轻量级标识特征,我们能够将公网统一配置的域名规则解析到Knative网关,实现了研发环境的运维零介入。
通过上述实践,我们不仅提升了业务的响应速度和系统稳定性,也为团队带来了运维简便和研发效率的双重提升。
业务价值
简化资源管理:通过Knative,我们实现了资源类型的极大简化。所有服务相关的配置仅需通过一个文件即可完成,该文件的配置清晰而简洁,大大提升了配置的易读性和易管理性。
统一标准:Knative的编排标准性为我们的路由管理带来了革命性的简化。统一的标准使得路由配置变得直观易懂,进一步降低了运维的复杂性。
便捷灰度部署:Knative提供了基于流量百分比的灰度发布能力,配置过程简单直观。这种能力使得我们能够轻松实现新版本服务的逐步推广,同时确保用户体验的平滑过渡。
由于Knative的简单性、标准化和易用性,它在新服务的快速独立上线场景中发挥了巨大作用。它不仅提升了研发效率,还显著降低了运维成本。Knative可以被视为一种低成本、高标准化、轻量级的DevOps工具,为企业提供了一个高效、灵活的运维解决方案。
在产品选择上,不存在所谓的"最好",只有"最适合"。Knative以其独特的优势,成为了我们业务发展中不可或缺的伙伴,帮助我们在快速变化的市场环境中保持竞争力。
通过Knative的引入,我们不仅优化了技术栈,更在业务发展和技术创新上迈出了坚实的步伐。我们相信,随着技术的不断进步和团队的持续探索,Knative将在我们未来的业务发展中发挥更加关键的作用。
我们是阿里巴巴云计算和大数据技术幕后的核心技术输出者。
获取关于我们的更多信息~