商派DevOps自动化平台在公有云项目部署中的实践

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 本篇内容我们主要介绍DevOps自动化平台在我们客户公有云部署项目中的一些实践。后续会继续介绍我们是怎么和项目管理工具结合、我们自有SAAS产品的一些实践。

文:商派DevOps团队


  • 前言
    在最初我们使用使用开源工具自建 DevOps,项目管理、代码管理、持续集成、代码扫描等都是各自系统,账号数据都是独立,维护和使用过程复杂,所以我们自己建设了DevOps自动化平台来统一管理使用。
    并且我们通过页面化的配置过程,来降低开发人员对容器和Kubernetes的技能要求,让所有人都可以通过我们的平台来快速的部署上线一个项目。
    本次我们主要介绍DevOps自动化平台在我们公司公有部署项目中的一些实践。后续会继续介绍我们是怎么和项目管理工具结合、我们自有SAAS产品的一些实践。


1. 提高部署效率,规范部署流程


flow.png


  • 资源申请
    DevOps自动化平台提供在线的资源申请,免去了过去种种申请资源的复杂流程。
    在线即可申请 Kubernetes资源、域名资源、RDS、Redis等云服务资源。
  • 可视化的发布配置
    如果我们直接使用Kubernetes进行部署,那么需要我们研发人员配置复杂的Yaml文件。
    现在提供可视化的配置,包括部署的应用、版本、所需资源、副本数量、配置文件等,都可以在DevOps自动化平台上配置。
    而像Kubernetes服务的存活检查、健康检查、优雅上下线、扩所容策略等,也都可以通过可视化配置,并且提供默认模版。研发人员无需再去研究复杂的配置项,即可完成服务的配置。
    完成配置后,即可一键触发构建流程,进行完整的持续集成、发布过程。
  • 审批流程
    通过设置上线审批流程来代替之前的邮件确认or口头确认,真正做到上线过程管控:谁负责,谁审批。审批通知通过钉钉推送消息至对应节点负责人,依次审批通过后开始构建部署流程。

sp.jpg

  • 过程同步
    构建部署过程实时同步。通过钉钉机器人发送通知,让所有团队成员同步知晓上线状态。避免出现信息差。

notice.jpg


2. 便捷的服务管理


  • 更方便的扩容
    在传统部署场景,面对突发流量时的扩容,是非常困难且不可靠的。得益于容器化和Kubernetes本身对于自动化扩缩容的支持,我们可以方便的配置自动化扩容策略,实现自动化扩容。而对于不适用自动化扩容的场景或者客户,我们也可以在DevOps自动化平台一键式扩容,大大提高了应对突发流量的效率和能力。

auto.jpg

  • 快速回滚
    通过DevOps自动化平台部署的应用,会保留最近几次的版本记录,可以做到一键回滚代码和配置。方便出现问题后快速恢复。

version.jpg

  • 日志
    对于公有云部署的应用,我们通过Filebeat把应用日志实时收集到Elasticsearch中,,同时在DevOps自动化平台也集成了日志查询权限管控,应用对应的研发人员可以很方便的查找日志,排查定位问题。


3. 总结


diff.png


  • 提高效率降低成本
    使用DevOps自动化平台后,我们将上线发布的人员从运维转移到研发,研发人员独立完成项目上线部署.
    同时不用多个作业系统来回切换操作,在同一平台即可完成所有上线过程。
  • 规范化作业流程
    统一了资源申请流程,简化了资源申请操作过程
    增加了审批流操作,避免无授权的上线操作
相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
1月前
|
人工智能 自然语言处理 测试技术
从人工到AI驱动:天猫测试全流程自动化变革实践
天猫技术质量团队探索AI在测试全流程的落地应用,覆盖需求解析、用例生成、数据构造、执行验证等核心环节。通过AI+自然语言驱动,实现测试自动化、可溯化与可管理化,在用例生成、数据构造和执行校验中显著提效,推动测试体系从人工迈向AI全流程自动化,提升效率40%以上,用例覆盖超70%,并构建行业级知识资产沉淀平台。
从人工到AI驱动:天猫测试全流程自动化变革实践
|
2月前
|
弹性计算 Devops Shell
用阿里云 DevOps Flow 实现 ECS 部署自动化:从准备到落地的完整指南
阿里云 DevOps Flow 是一款助力开发者实现自动化部署的高效工具,支持代码流水线构建、测试与部署至ECS实例,显著提升交付效率与稳定性。本文详解如何通过 Flow 自动部署 Bash 脚本至 ECS,涵盖环境准备、流水线搭建、源码接入、部署流程设计及结果验证,助你快速上手云上自动化运维。
212 0
|
27天前
|
存储 数据采集 监控
Python定时爬取新闻网站头条:从零到一的自动化实践
在信息爆炸时代,本文教你用Python定时爬取腾讯新闻头条,实现自动化监控。涵盖请求、解析、存储、去重、代理及异常通知,助你构建高效新闻采集系统,适用于金融、电商、媒体等场景。(238字)
233 2
|
5月前
|
传感器 人工智能 监控
通义灵码智能体模式在企业级开发中的应用:以云效DevOps自动化流程为例
通义灵码智能体模式具备语义理解、任务闭环与环境感知能力,结合云效DevOps实现CI/CD异常修复、测试覆盖与配置合规检查,大幅提升研发效率与质量。
231 0
|
2月前
|
Java 测试技术 API
自动化测试工具集成及实践
自动化测试用例的覆盖度及关键点最佳实践、自动化测试工具、集成方法、自动化脚本编写等(兼容多语言(Java、Python、Go、C++、C#等)、多框架(Spring、React、Vue等))
131 6
|
2月前
|
人工智能 安全 Devops
AI 驱动的 DevOps:通过智能命令执行实现基础设施自动化
本文探讨了如何利用能够根据自然语言提示执行命令、管理基础设施和自动部署的 AI 技术,来革新 DevOps 流程。通过模型上下文协议(MCP),AI 助手不仅能回答问题,还能直接操作终端、编辑文件并管理开发环境,从而简化复杂的 DevOps 任务,提高效率并降低错误率。
290 3
|
4月前
|
存储 SQL 关系型数据库
MySQL 动态分区管理:自动化与优化实践
本文介绍了如何利用 MySQL 的存储过程与事件调度器实现动态分区管理,自动化应对数据增长,提升查询性能与数据管理效率,并详细解析了分区创建、冲突避免及实际应用中的关键注意事项。
182 0
|
4月前
|
运维 监控 安全
从实践到自动化:现代运维管理的转型与挑战
本文探讨了现代运维管理从传统人工模式向自动化转型的必要性与路径,分析了传统运维的痛点,如效率低、响应慢、依赖经验等问题,并介绍了自动化运维在提升效率、降低成本、增强系统稳定性与安全性方面的优势。结合技术工具与实践案例,文章展示了企业如何通过自动化实现运维升级,推动数字化转型,提升业务竞争力。
|
10月前
|
Kubernetes Java 持续交付
小团队 CI/CD 实践:无需运维,Java Web应用的自动化部署
本文介绍如何使用GitHub Actions和阿里云Kubernetes(ACK)实现Java Web应用的自动化部署。通过CI/CD流程,开发人员无需手动处理复杂的运维任务,从而提高效率并减少错误。文中详细讲解了Docker与Kubernetes的概念,并演示了从创建Kubernetes集群、配置容器镜像服务到设置GitHub仓库Secrets及编写GitHub Actions工作流的具体步骤。最终实现了代码提交后自动构建、推送镜像并部署到Kubernetes集群的功能。整个过程不仅简化了部署流程,还确保了应用在不同环境中的稳定运行。
547 9

热门文章

最新文章