Vega 是位于上海的互联网公司,主要产品为新闻类 APP,新闻来源是各大主流新闻平台的资讯,客户在该 APP 上点击新闻标题后则发生跳转到新闻来源的网址,在 APP 上的时间会换算为积分给用户进行提现,因为对客户进行更精准的推送变的非常重要,同时为了增强客户粘度,不断的优化服务迭代产品也是至关重要。目前日活高达千万,APP 下载量的排名也非常靠前。
客户挑战
- 过长的开发周期与运维周期会错失市场
- 部门间协调人员沟通过程冗长且跨部门协调变的很难执行,运营成本高
- 从传统架构转型向微服务很有困难
解决方案
我们为客户建议了 Devops 架构,由于客户没有相关经验的员工,需要依赖 WebEye 的经验来进行全过程的改造,不断与客户宣讲 CI/CD 相关知识与工具,构建 pipeline,也向客户提供了任何持续、定期的管理、维护和支持,包括每月的成本优化,环境监控,变更预警等服务。除了调整产品之外,还需要重建团队并更改内部流程以适合 DevOps 模型。
于是该项目作为一个试水项目,并且依据 pipeline 调整团队组织架构,意与消除工程师,IT 员工和利益相关者之间的差距,专注于端到端流程。DevOps 意味着集体责任,这可以提高团队敬业度和生产力。
帮助客户引入 Devops 的理念,开始向现代化IT架构转型,借助 Google Cloud 独特的产品,进行架构调整,减少了 Dev(即开发团队)和 Ops(即运营团队)之间的空间,以缩短系统开发生命周期。
- 持续集成(CI)
CI 是一种软件开发实践,可改善团队之间的协作并有助于构建高质量的软件。开发团队会定期检入存储库中的代码更改,CI 会执行自动构建和测试以验证代码质量。持续集成所采用的实践可以在早期阶段快速检测出软件开发生命周期(SDLC)的挑战,从而有助于开发团队在开发阶段本身解决问题。
- 持续交付/部署(CD)
部署过程具有不同的阶段,开发→构建→验证→构建版本控制→部署→后部署等。持续部署过程的思想是,在构建通过 QA 阶段的所有阶段后,将已开发的代码自动部署到生产环境中。使 DevOps 团队可以建立自动化管道,以最少的人工干预就可以在多个环境中进行部署。
- 配置管理(CM)
配置和变更管理是 DevOps 周期的重要组成部分。配置管理是对基础结构和系统的所有实体(例如服务器,应用程序,存储,网络和所有托管服务)进行配置,监视,管理和维护的自动化。也有许多的集中配置管理工具可以使用,比如:nacos、apollo等。
配置管理带来了许多优势,例如简化了新环境的设置,降低了生产配置的风险,并节省了软件开发的大量时间,而无需花费时间和精力来使用基础结构即代码实践从头开始新服务。
- 变更管理
变更管理是一个请求,计划,实施和评估满足新要求所需的变更的过程。在配置管理过程中,如果现有系统和基础架构中需要进行任何更改,那么此时就要考虑更改管理。运营团队需要提供他们的意见,更改的原因,以及可能在更大范围内产生的后果,包括可能受到新更改影响的其他系统。
- 测试自动化
每个代码库的自动测试有助于运行更多测试,提高测试频率,并节省手动 QA 上花费的时间。此过程可及早发现错误,修复错误,并提高整体软件质量。有几种工具可以与 DevOps 工具集成,以实现自动化的测试。
- 持续监控(CM)
持续监控建议使用几种工具,仪表板和警报来监视所有系统和基础架构,包括对影响软件的不同指标的实时洞察,例如系统性能,测试次数,成功和失败率,部署状态,错误日志以及所有信息以图形,表格和详细报告格式显示。
- 提供 MSP 全托管服务
WebEye 建议客户选择 MSP,可以使公司更加关注与业务本身,减轻运维的压力与消耗。
客户收益
- APP 迭代速度较传统架构提高了15%
- DevOps 带来更高水平的协作和速度,使组织提高生产力,降低运营成本
- 帮助客户实现从传统IT架构向现代化 IT 的转型
使用产品
- Cloud Build, a container-based CI/CD Tool
- Container Registry
- Google Kubernetes Engine (GKE)
- Cloud Load Balancing, used as an Ingress Controller for GKE
- Cloud Monitoring