我的通知
最近更新

关于中国南方航空

中国南方航空股份有限公司是中国运输飞机最多、航线网络最发达、年客运量最大的航空公司。为提升海外官网性能,支撑海外业务发展,实现公司业务全球化,决定使用AWS服务区提升海外站点的性能。

客户痛点

CSAIR 的 Booking 服务大量使用 AWS Lambda 构建,Booking 有 UAT 和 Prod 两个环境,UAT 环境有 20+ Lambda,Prod 有 50+ Lambda。数量如此多的 Lambda 函数,当代码更新迭代的时候,其人工部署的工作量巨大。实现基于 Lambda 的 CI/CD 成为中国南方航空迫在眉睫的需求。

为什么选择云势数据

北京云势数据有限责任公司,AWS ADVANCED CONSULTING PARTNER,全部技术人员都拥有 AWS Solution Architect 认证,人员资历雄厚。云势为多家世界五百强公司和创业企业提供了专业的云计算相关的技术咨询、培训、云运维以及云优化服务,专业运维团队确保数据安全,实现有效迁移及无缝切换。 公司服务的客户集群广泛,涉及各行各业,如百度、国金基金、南方航空、联想等数十家上市公司。

做“云”,我们是专业的。

解决方案

1.构建 pipeline

整个 CICD 由 AWS CodePipeline 控制。每个 pipeline 分为三个阶段:构建阶段,UAT 部署阶段,Prod 部署阶段。以下是对管道中每个操作的详细介绍。

CodeCommit 是 CodePipeline 的源,当开发人员将代码推送到 CodeCommit 时,它会自动触发 CodePipeline 来构建和部署。

使用 CodeBuild 打包应用程序。打包时,它会自动运行已编写好的单元测试。当所有单元测试成功运行,并且分支覆盖率和行覆盖率均大于 90% 时,才能打包成功。

首先是部署 UAT 环境,UAT 环境中 Lambda 部署之后会进行自动化集成测试。自动集成测试分为两部分,一部分是页面测试,另一部分是后台接口测试。

自动集成测试之后,QA 需要做一些手动测试。如果手动测试没有问题,QA 可以点击 “Approval” 按钮让 pipeline 继续部署到 Prod 环境。

在 Prod 环境中,我们使用了 Canary 部署的方式。10% 用户会请求 beta Lambda,90% 用户会请求稳定版本的 prod Lambda。

应用交付是很关键的。我们将最终部署到 Prod 的软件包归档到特定的 S3 存储桶。方便后续回滚。


2.使用 CloudFormation 创建 CI/CD Pipeline

客户有 10 多个 CI/CD Pipeline,手动创建 Pipeline 既费时又难以维护,因此我们编写了 CloudFormation 模板来维护 CodePipeline 基础架构。

项目产出

针对中国南方航空IT环境,成功搭建基于 Lambda 的 CI/CD,实现 Booking 服务的多环境自动化部署。

实现 CloudFormation 自动创建 CodePipeline

大幅度缩减产品迭代周期,实现敏捷开发

在线客服

QQ在线咨询

咨询热线

010-53358729

填写评论

其他用户评价

体验分账功能
体验成本优化功能
数据同步成功