阿里云ACK联合云效助力「上海博卡 」DevOps转型
客户简介:
博卡软件于2004年在上海成立,是一家专注于为本地美丽生活相关行业提供软件服务的_SaaS_软件提供商,主要产品提供门店运营所需要的管理软件,智能硬件以及营销小程序等。
客户痛点:
痛点一:博卡服务众多小商户,客户需求高并发时必须每天交付数次
传统的开发部署模式成为瓶颈, 必须打造高效的CI/CD系统
痛点二:没有专职运维人员,不同开发需要对应流水线操作的权限管理
痛点三:IT架构复杂,数十个微服务和数十个前端应用,需要实现零停机的无缝迁移
痛点四:Kubernetes学习门槛过高,如何通过更简单的管理成本获得自动化扩缩容、自动运维
解决方案:
SaaS公司要在竞争中拔得头筹,就需要快速影响客户需求,同时保持较高的稳定性。同时要快速占领市场,就需要不断推出新产品不断创新,这个时候开发的交付效率以及低成本试错就尤为重要。
博卡将其SaaS应用完全部署在阿里云上,最终选用阿里云容器服务ACK+云效解决方案,替代了最初ECS+Gitlab+Jenkins,打造其完整高效的CI/CD系统落地DevOps。
方案效果:
1 高效落地DevOps
- 从开发、预发到生产全周期覆盖。云效的代码管理Codeup的内置评审功能,能高效的完成Code Review。内置的代码检测开箱即用,促进编码规范执行。
- 云效Flow流水线便捷实现持续交付,内置多种语言的流水线模板,与容器服务ACK联动,开箱即用。
2 零停机任意回滚
通过云效的Flow流水线可以回滚基本上所有部署方式,阿里云ACK+Flow的最佳搭档,则可以实现快速零停机回滚任意版本(通过健康监测以及重启策略确保启动的容器必然是可运行版本,如果出现无法启动或者启动异常的版本,则因为就绪监测无法通过是无法接收流量的,所以可以完成零停机或回滚)
同时,因为ACK是基于Docker镜像的升级,回滚版本不会环境变化等因素导致回滚失败。
3 降本增效
容器服务ACK根据每个Pod的cpu和内存资源需求自行调度,资源极致利用。
节省了微服务自行部署中的高可用成本, 且节省手动配置等负担。
4 应用护航,无惧故障与高峰
故障自动重启:通过Pod健康监测和就绪监测,与应用健康监测接口(比如SpringBoot的Actuator的health)即可简单实现故障自动重启,解决了小公司没有24*7快速响应运维人员的问题,可以做到自动化最高效的缓解问题。
自动扩容:对于某些应用瞬间突发流量、大量计算资源的需求,ACK可以根据此前配置规则自动扩容,确保应用的稳定性。
项目对比
| 对比内容 | 使用云效前 | 使用云效后 |
| --- | --- | --- |
| 发布时长 | 10分钟 | 3分钟 |
| 代码评审 | 很少 | 合并主分支强制要求 |
| 构建通知 | 不通知 | 自动钉钉通知 |
| 版本回滚时长 | 1小时 | 3分钟 |
| 日常和生产环境区分 | 代码中配置文件区分,存在开发人员误修改影响部署环境配置的风险 | 自动注入环境变量来区分,最大程度防止代码库的配置文件影响部署环境配置 |
| 代码扫描 | IDE中插件自己扫描,比较随意 | 提交后自动扫描,清晰提示扫描结果 |
| 定时部署 | 人工等待到时间进行操作 | 设置定时发布 |
| 交付质量 | 依靠开发人员个人水平以及随机检查保证 | 通过各种检测插件进行质量检测,阻止异常构建或者部署 |
|对比内容| 使用ACK前 | 使用ACK后 |
| --- | --- | --- |
| 零停机部署 | 不支持 | 支持 |
| 应用异常自动修复 | 不支持 | 支持 |
| 扩容耗时 | 1小时 | 1分钟 |
| 扩容方式 | 手动修改nginx配置 | 自动扩容 |
| 敏感信息安全 | 代码库保存,存在泄露风险
服务器配置文件,管理成本高以及有丢失风险
不容易复用 | 配置项,以及保密字典存储,简单复用以及保密性高,不容易暴露 |
| 新应用部署 | 半天 | 10分钟 |
| 生产环境稳定性 | 出现问题客户发现或者监控发现后,手动回滚再修复问题重新发布,影响时间长 | 通过健康监测等手段阻止异常容器接收流量,以保证线上应用的基本质量 |

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Flink 源码 | 自定义 Format 消费 Maxwell CDC 数据
Flink 1.11 最重要的 Feature —— Hive Streaming 之前已经和大家分享过了,今天就和大家来聊一聊另一个特别重要的功能 —— CDC。 CDC概述 何为CDC?Change Data Capture,将数据库中的’增’、’改’、’删’操作记录下来。在很早之前是通过触发器来完成记录,现在通过 binlog+同步中间件来实现。常用的 binlog 同步中间件有很多,比如 Alibaba 开源的 canal[1],Red Hat 开源的debezium[2],Zendesk 开源的 Maxwell[3] 等等。 这些中间件会负责 binlog 的解析,并同步到消息中间件中,我们只需要消费对应的 Topic 即可。 回到 Flink 上,CDC 似乎和我们没有太大的关联?其实不然,让我们更加抽象地来看这个世界。 当我们用 Flink 去消费数据比如 Kafka 时,我们就仿佛在读一张表,什么表?一张不断有记录被插入的表,我们将每一条被插入的数据取出来,完成我们的逻辑。 当插入的每条数据都没有问题时,一切都很美好。关联、聚合、输出。 但当我们发现,某条已经被计算过的...
- 下一篇
爱奇艺在 Dubbo 生态下的微服务架构实践
作者 | 周晓军 爱奇艺中间件团队负责人 导读:本文整理自作者于 2020 年云原生微服务大会上的分享《爱奇艺在 Dubbo 生态下的微服务架构实践》,重点介绍了爱奇艺在 Dubbo、Sentinel 等开发框架方面的使用经验以及微服务生态体系的建设经验。 阿里巴巴云原生公众号后台回复818即可获取直播回看地址和大会 PPT 合集。 本文将主要围绕以下几个主题展开: Apache Dubbo 简介及其在爱奇艺的发展历史 爱奇艺内部对 Dubbo SDK 的扩展及围绕 Dubbo 相关的微服务生态建设 后续规划 Apache Dubbo 简介及其在爱奇艺的发展历史 1. Apache Dubbo 简介 Apache Dubbo 是一款由阿里开源的高性能 RPC 框架。Dubbo 框架本身除了通信外,还内置了微服务治理的多项功能(如注册发现,路由规则等)。 自从 2017 年重启维护以来,Dubbo 社区一直保持了较高的活跃度。从周边生态来看也相对比较完善,比如 Nacos、Sentinel 等开源框架都对其提供了支持。在语言支持方面,除了 Java 语言之外,Dubbo-go 社区目前也...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- MySQL8.0.19开启GTID主从同步CentOS8
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Linux系统CentOS6、CentOS7手动修改IP地址
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7