运维人少,如何批量管理上百个微服务、上千条流水线?

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
性能测试 PTS,5000VUM额度
云原生网关 MSE Higress,422元/月
简介: 云效 AppStack 平台针对微服务和云原生环境下的应用管理难题,提供了以应用为中心的资源、流水线和权限管理解决方案。

作者:周静

随着微服务和云原生技术的发展,一个业务系统往往由多个微服务应用组成,多个业务方向涉及几十上百应用。每个应用研发过程又划分为测试、预发、生产多条流水线,也即成百上千条流水线。而一个企业下通常只有 1~2 个运维或架构师负责这些应用的配置管理工作。该场景下你是否会遇到以下苦恼:


  • 业务应用太多啦,一个应用配置的修改就得修改几十上百遍,还有可能错改、漏改?
  • 流水线太多啦,怎么分组管理,快速找到目标流水线?流水线怎么批量授权给一线开发测试同学?


云效应用交付平台 AppStack 以应用为中心聚合管理资源环境、CI/CD 流程、人员权限等;提供应用模板,支持使用模板一键创建应用,快速初始化应用配置;支持应用模板修改批量升级应用,帮助你高效管理上百应用、上千条流水线,帮助企业研发流程和规范有效落地。


01 使用模版一键创建应用


通常企业一类应用研发会采用相同的技术栈,如 Web 类后端服务通常会采用Java开发语言、Spring boot 框架、K8s 部署形态,前端服务通常会采用 Node.js 开发语言、K8s 部署形态等。一类应用的研发流程、部署架构、环境划分、角色权限划分基本类似,可将一类应用定义为应用模板,同类应用使用模板即可快速初始化配置。


我们提供以下 2 种方式,帮助企业使用模板快速完成初始化。


方式 1:从示例应用模板快速配置应用

云效提供两套示例应用模板,你可以直接从示例模板一键初始化应用配置,体验完整应用部署流程;实际应用部署可按需修改部分流程或配置。


  • 示例模板 1 - Java K8s 应用示例模板,预置测试(镜像构建+测试环境部署)、预发(镜像构建+预发环境部署)、生产(镜像构建+人工卡点+生产环境部署)三条流水线,预置 K8s Deployment 部署 YAML,预置开发、测试、预发、生产四套环境。
  • 示例模板 2 - Java 主机应用示例模板,预置测试、预发、生产三条流水线,预置 Linux 主机部署 Shell 脚本,预置开发、测试、预发、生产四套环境。

image.png

image.png

image.png


方式 2: 企业自定义应用模板一键创建应用

示例应用模板用于帮助快速体验应用配置部署流程,在实际业务研发中,企业页可以自定义符合企业业务特征、满足企业研发流程规范的应用模板。


操作方法如下:在企业全局设置中,新建应用模板(也可以从已有模板复制),按上述单应用配置方式配置应用环境、流水线、部署 K8s YAML 等, 其中,应用下少量不同的配置可以抽取成变量,关联全局变量组或应用内变量组进行差异化配置。


如:Java 构建命令中,某些应用跳过 maven 测试。定义 skipMvnTest 为流水线变量,流水线关联应用变量组,由变量组取值决定是否跳过。

image.png

如:部署 K8s YAML 中,某些应用 Deployment 开启 xx 特殊配置。定义 pilotAutoEnable 为编排配置变量,环境关联变量组,应用环境部署时由变量组取值决定是否开启。

image.png

新建应用时,选择上述配置好的模板,即可一键初始化应用配置,省去多应用逐个重复配置成本,“解放”双手。

image.png

应用创建成功后,可以批量为应用添加成员并赋予相应角色,以角色权限方式统一为应用的多套环境、多条流水线授权。企业可按需配置开发、测试等各角色的权限点。

image.png

image.png


02 通过模版修改批量升级应用


随着应用架构升级或研发规范的调整,应用配置也需要不断的升级,通常会选取一两个试点应用做升级测试,验证通过后批量推广到所有应用。典型升级场景示例如下:


示例场景 1:批量修改应用部署配置,增加 sidecar 容器,统一接入监控日志


应用稳定性升级项目要求所有统一接入监控日志,需要在应用部署中增加 skywalking sidecar 容器,用于日志采集、上报等。批量升级步骤如下:


1)进入应用模板 -> 编排配置,开启同步功能。

image.png

2)修改模板编排 YAML Demployment 文件,增加 skywalking 容器配置。

image.png

3)选择试点应用,进行配置同步,重新部署试点应用进行测试验证。


4)试点应用测试验证 OK 后,再批量选择应用同步,批量推广。同步后,应用下次部署使用最新同步的 YAML 即可生效 skywalking sidecar 容器,进行应用日志采集。

image.png

5)点击应用模板 -> 版本记录,可以实时查看各应用同步状态和同步版本,整体控制升级进度和风险,避免错改、避免漏改。

image.png


示例场景 2:应用研发流程统一增加安全扫描卡点

企业内引入安全扫描能力,安全同学要求将安全扫描结果作为发布流程卡点,没有通过安全扫描的应用不允许发布。应用批量接入步骤如下:


1)进入应用模板 -> 研发流程配置,开启同步功能(即将上线)。


2)编辑生产发布阶段流水线,增加「安全扫描卡点」组件。

image.png

3)选择试点应用,进行配置同步,重新运行试点应用生产阶段发布流程,进行流程验证。


4)试点应用流程验证 OK 后,再批量选择应用同步,批量推广。同步后,应用下次发布时,生产发布流程将经过「安全扫描卡点」,作为发布卡点。


以上,即介绍了以应用维度分组管理测试、预发、生产等不同环境流水线;通过应用模板一键初始化应用配置;通过应用模板批量同步功能统一配置管理上百应用、上千流水线,真正做到“解放”管理员双手。


欢迎点击此处前往云效 AppStack,体验应用批量管理。

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
7天前
|
机器学习/深度学习 弹性计算 运维
智能化运维的浪潮之巅:机器学习在IT管理中的应用与挑战
本文将深入探讨机器学习技术如何革新传统的IT运维模式,通过实际案例分析其在故障预测、自动化处理以及安全防护等方面的应用成效,并讨论实施过程中可能遇到的技术与管理挑战。
|
8天前
|
机器学习/深度学习 人工智能 运维
智能运维:利用机器学习优化IT基础设施管理
【7月更文挑战第7天】在数字化浪潮不断推进的今天,企业对IT基础设施的管理要求越来越高。传统的运维模式已难以满足现代企业的需求,智能运维(AIOps)应运而生。本文将探讨如何通过机器学习技术来优化IT基础设施的管理,提高故障预测的准确性,自动化日常任务,并实现个性化的报警系统,从而提升运维效率和服务质量。
|
1天前
|
弹性计算 运维 Kubernetes
自动化运维的新篇章:容器编排与微服务架构
【7月更文挑战第14天】在数字化转型的浪潮中,企业对运维效率和系统可靠性的需求日益增长。本文深入探讨了自动化运维的最新趋势——容器编排和微服务架构,并阐述了如何通过这些技术提升运维效率、降低系统复杂性以及提高服务的可用性和可扩展性。文章不仅介绍了相关技术和工具的选择,还提供了实际案例分析,旨在为读者提供一套完整的解决方案框架,以适应快速变化的市场需求。
|
3天前
|
机器学习/深度学习 传感器 运维
智能化运维:利用机器学习优化IT基础设施管理
【7月更文挑战第12天】随着信息技术的飞速发展,企业IT基础设施变得日益复杂。传统的运维方式已无法满足现代业务的需求,智能化运维应运而生。本文将探讨如何通过机器学习技术,实现对IT基础设施的智能监控、故障预测和自动化处理,以期提高运维效率,降低运营成本,并保障系统的稳定性和可靠性。
|
3天前
|
机器学习/深度学习 运维 安全
智能化运维:利用机器学习技术优化IT基础设施管理
在信息技术迅猛发展的今天,传统的运维管理模式已难以应对日益复杂的IT基础设施。本文探讨了如何通过集成机器学习技术到运维流程中,实现智能化的运维管理。文章首先介绍了智能化运维的概念及其必要性,随后详细阐述了机器学习在故障预测、自动化处理和安全防护等方面的应用,并通过具体案例展示了智能化运维的实际效果。最后,讨论了实施智能化运维时可能遇到的挑战及未来发展趋势。
37 2
|
5天前
|
机器学习/深度学习 人工智能 运维
智能化运维:AI与机器学习在IT管理中的应用
【7月更文挑战第10天】本文深入探讨了人工智能和机器学习如何革新传统的IT运维领域。文章首先界定了智能化运维的概念,随后分析了AI技术在故障预测、自动化处理和安全监控方面的应用实例,并讨论了实施智能化运维时面临的挑战及其克服策略。最终,文章展望了智能化运维的未来趋势,强调了持续学习和适应新技术的重要性。
|
7天前
|
机器学习/深度学习 运维 监控
智能化运维:机器学习在IT基础设施管理中的应用与挑战
本文深入探讨了智能化运维领域,特别是机器学习技术在IT基础设施管理中的运用。文章首先概述了智能化运维的概念及其对现代企业的重要性,随后详细分析了机器学习如何优化故障预测、自动化任务处理和安全监控等关键运维活动。通过引用最新的行业案例和统计数据,本文揭示了机器学习技术带来的效率提升和成本节约。同时,文章也未回避讨论实施智能化运维时可能遇到的技术挑战和伦理问题,为读者提供了一份全面而深入的分析报告。
|
8天前
|
机器学习/深度学习 运维 监控
智能化运维:利用机器学习优化IT基础设施管理
【7月更文挑战第7天】在数字化时代,IT基础设施的复杂性不断增加,传统的运维方法难以应对日益增长的挑战。本文探讨了如何通过机器学习技术来提升运维效率,实现智能化管理。我们将分析机器学习在自动化故障检测、预测性维护和资源优化中的应用实例,并讨论实施这些技术时面临的挑战与解决策略。
|
7天前
|
机器学习/深度学习 人工智能 运维
智能化运维:AI在IT管理中的应用与挑战
随着人工智能(AI)技术的不断进步,其在信息技术(IT)运维领域的应用日益广泛。从自动化故障检测到智能决策支持系统,AI技术正逐步改变着传统运维的面貌。本文将探讨AI在IT运维中的具体应用场景,分析其带来的效率提升和成本节约,同时指出实施过程中可能遇到的技术和管理上的挑战,并提出相应的解决策略。通过深入分析,本文旨在为IT管理者提供一份关于如何有效整合AI技术以优化运维实践的参考指南。
|
12天前
|
关系型数据库 分布式数据库 数据库
PolarDB,阿里云的开源分布式数据库,与微服务相结合,提供灵活扩展和高效管理解决方案。
【7月更文挑战第3天】PolarDB,阿里云的开源分布式数据库,与微服务相结合,提供灵活扩展和高效管理解决方案。通过数据分片和水平扩展支持微服务弹性,保证高可用性,且兼容MySQL协议,简化集成。示例展示了如何使用Spring Boot配置PolarDB,实现服务动态扩展。PolarDB缓解了微服务数据库挑战,加速了开发部署,为云原生应用奠定基础。
153 3

热门文章

最新文章

  • 1
    在会议系统工程中,Python可以用于多种任务,如网络请求(用于视频会议的连接和会议数据的传输)、数据分析(用于分析会议参与者的行为或会议效果)等。
    9
  • 2
    在可视会议系统工程中,系统工程方法可以帮助我们系统地规划、设计和实现一个高效、可靠的可视会议系统。
    10
  • 3
    我们可以从系统工程的角度来讨论如何优化组织架构,并给出一些可能涉及的Python应用领域的示例。
    7
  • 4
    在环境治理领域,污染治理系统工程旨在通过系统的方法来解决环境污染问题。这通常包括污染源的识别、污染物的监测、治理技术的选择、治理效果的评估等多个环节。
    13
  • 5
    我将提供一个简化的Python代码示例和详解,以展示如何使用Python和Django框架来构建智能化小区综合物业管理系统的一部分功能。
    8
  • 6
    在系统工程中,软件测试是一个至关重要的环节,它确保软件的质量、可靠性和性能。软件测试通常包括多个阶段,如单元测试、集成测试、系统测试和验收测试等。
    14
  • 7
    在软件部署阶段,系统工程的目标是确保软件能够顺利、稳定地部署到目标环境中,并满足用户的需求。
    11
  • 8
    航空航天领域,系统工程被用于设计复杂的飞行器和系统。这包括飞行器的结构、推进系统、控制系统等。
    12
  • 9
    在通讯系统工程中,这通常包括硬件、软件、网络协议、数据传输等多个方面的设计和实现。
    9
  • 10
    以下是一个简化的环境监测系统工程概述,并附带有Python代码示例或详解。
    15