Serverless应用引擎SAE(Serverless App Engine)能帮助应用极速上云,免运维底层基础设施,降低开发运维成本,白屏化管理应用全生命周期。本文介绍SAE和Jenkins为视野数科实现云原生DevOps的成功案例。

背景信息

视野数科是专注服务于一级市场、公司信贷、产业规划招商、面向多层次资本市场的大数据金融信息服务商。视野数科深度理解大型银行、金融机构、政府、企业集团等用户对于数据的需求,为客户呈现专业加工后的数据,提供企业/产业/财务数据整合、数据加工处理、数据中台、系统开发和大数据模型分析咨询服务的一整套解决方案。

业务痛点

数据是核心资产,数据的安全、稳定和效率是服务大型客户的关键。视野数科在测试环境中,无法获取客户全量的真实数据,只能在上线前,在灰度环境(等同预发环境)频繁发版与测试,过程中暴露了较多问题。针对这些问题,SAE逐一攻破。

业务痛点为什么选择SAE
开发迭代效率慢:单体烟囱式架构,代码耦合度高,开发效率慢。SAE采用Serverless架构,屏蔽了底层IaaS运维和K8s细节,并且与FaaS形态的Serverless产品不同,无需修改编程模型和改造代码即可直接使用。
上线流程复杂,成本高:使用SVN代码管理+人工部署,缺少规范化DevOps流程,每次上线前需要在灰度环境进行20~30次数据校验,频繁发版测试,开发和运维工作量大。SAE命名空间提供逻辑隔离的运行环境,可以覆盖开发环境、测试环境和生产环境等场景,便于管理和一键启停应用,提高应用安全性。此外,SAE应用可以通过分批发布、灰度发布方式迭代升级,当版本有问题时,支持回退指定的历史版本。
容器化自建成本高:尝试过ECS+Docker方案,但Docker Daemon升级、镜像 Registry管理、配置管理、调度打散等均需自维护、研发。SAE支持对应用进行一键式白屏化的全生命周期管理,简化运维。
容量预估无法自动化:每次客户侧有营销活动、重要事件(例如新华财经金融排名等),需提前一周告知视野数科备容ECS,存在备容不准确,风险和闲置浪费问题。SAE支持丰富的弹性策略,支持突发场景下的秒级弹性伸缩,在大流量冲击下,稳健保障用户业务SLA。

解决方案

视野数科解决方案逻辑图如下所示。dg_case_studies_shiyedata

视野数科借助SAE,从零到一打造Git+Jenkins+SAE的云原生DevOps体系;从ECS单体架构,零门槛升级为微服务+K8s+Serverless架构,一步迈进云原生。以命名空间为维度,SAE将应用划分至灰度、生产等环境,结合丰富的弹性策略和发布策略、一键式白屏化的应用生命周期管理能力、多样化的监控分析能力、增强的微服务能力,简化运维工作并降低成本。后续研发人员只需提交代码至Jenkins,就可以实现自动部署。同时,SAE实时日志功能和文件日志收集功能,方便研发人员自行聚合分析日志并对接业务日志。

使用效果

视野数科在实践SAE的过程中,采用了独立业务+用户灰度的策略,逐渐放大流量,将业务陆续上线。

  • 标准化部署流程,降低运维成本:借助SAE,研发人员能够自助完成CI/CD,提升发版效率。运维人员得到彻底解放,从重复繁杂的垂直业务上线事务中抽离出来,专注于横向高可用体系和监控平台的建设,运维效率提升60%。
  • 低门槛微服务架构转型:将业务拆成微服务之后,无需关心微服务周边配套和稳定性容灾,SAE提供了开箱即用的、历经双11考验的全套微服务治理能力。
  • 无需容量规划,秒级扩容:借助SAE灵活多样的弹性策略,视野数科再也无需提前备容,营销活动峰值时秒级自动扩容,峰谷时回收资源降本。
  • 无感拥抱K8s,查看日志更方便:借助SAE零门槛容器化,沿用原有部署方式管理应用。无需关注堡垒机权限、机器账号密码等,直接通过 SAE+SLS方便查看日志。