SREWorks云原生数智运维工程实践-Kubernetes 资源编排篇-Kubernetes 资源编排之五:OAM 篇(下)

本文涉及的产品
资源编排,不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: SREWorks云原生数智运维工程实践-

二、 SREWorks的OAM落地实践

 

SREWorks作为阿里大数据运维平台,在设计之初,云原生应用管理在满足内部业务需求时候,遇到了这样一些问题和挑战:

 

需要应用异地多活,避免单Region故障。

需要环境分离,区分开发测试与生产环境。

需要一定的集群扩展性,突破单一集群容量上限。

需要多云部署,避免受限于单一云底座,或降低成本。

开发者花费了太多的时间在基础设施的细节中。机器从哪来,网络环境怎么样,中间件资源/DNS/负载均衡怎么生成,服务怎么适配到各种底座等等。或者更进一步,每个开发者都是YAML工程师,哪怕都是K8S,但每个底座让你提交的YAML都不一样。

可扩展性低。有越来越多的平台or底座在尝试去支撑各种类型需求的业务,但一般来说,应用本身对于平台的诉求会很快超越平台的能力。

云服务供应商绑定。当选择了一个固定的底座后,应用交付的方方面面将会打上这个底座的烙印,当想尝试转到另一个底座的时候难于登天。

 

当SREWorks-Appmanager基于OAM实现了底层引擎,驱动各个服务的开发与交付流程之后,这些问题基本都有了答案,让我们来看看这些问题是如何被解决的。

 

1. 应用模块插拔

 

image.png

 

如上图的YAML所示:

 

通过运维能力trait注入进行运维能力的增强,使部署者不用关注太多底座基础设施的细节。

通过各种组件compent的插拔和参数变量parameterValues的定制来满足应用的功能需求。

通过工作workflow和策略policy来定制部署策略,满足灰度发布、金丝雀发布等多样的发布策略。

 

2. 应用插件机制

 

上面提到了各种组件compent和运维能力trait,那么这些能力是从哪里来的呢?这些也是用插件机制增强出来的,可以看下图:

 

image.png

 

在Appmanager中预先定好了各种能力的接口interface,一个插件只要实现这些接口interface就能够将能力增强到Appmanager中。用户可以基于这个机制来满足各种能力需求,比如将一个Flink服务制作成一个组件compent,用户只要寥寥几行在YAML中加上这个组件,就能在自己应用中瞬间就有了流计算以及其管理能力。

 

3. 应用组件Addon体系

 

在将一个应用做组件化拆解的时候,我们会遇到一个问题,像MySQL、Redis这种要如何拆。拆成一个普通的组件compent的话,有些资源少的场景,每个应用分配一个独享MySQL实例会导致资源不够分;拆成一个运维特征trait的话,每次申请一个实例的逻辑太重,不太符合一个特征的轻量级行为。所以我们将这类组件定义为addon。

 

image.png

 

4. 应用组件构建

 

在OAM模型定义中没有包含构建,在Appmanager中,我们对此进行了增强,将应用的生命周期延展到构建环节,用户可以基于源代码直接构建出组件,进而组成一个完整应用模型。下面是构建过程的拓扑:

 

image.png

 

总结一下,SREWorks中基于OAM的Appmanager基本满足了如下的核心诉求:

 

构建:易于获取且一致的开发、测试环境;易于发现和使用的API

交付:安全、可灰度的发布环境;可回滚的版本管理能力

运行:异常行为可观测;运行稳定且能够自愈

 

后续文章我们会分享更多的Kubernetes科普文章,请大家持续关注~

 

文章参考

《OAM深入解读:OAM为云原生应用带来哪些价值?》

https://developer.aliyun.com/article/741494

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
8天前
|
运维 Kubernetes Cloud Native
云原生技术入门及实践
【10月更文挑战第39天】在数字化浪潮的推动下,云原生技术应运而生,它不仅仅是一种技术趋势,更是企业数字化转型的关键。本文将带你走进云原生的世界,从基础概念到实际操作,一步步揭示云原生的魅力和价值。通过实例分析,我们将深入探讨如何利用云原生技术提升业务灵活性、降低成本并加速创新。无论你是云原生技术的初学者还是希望深化理解的开发者,这篇文章都将为你提供宝贵的知识和启示。
|
1天前
|
Cloud Native 安全 Docker
云原生技术在现代应用部署中的实践与思考
本文深入探讨了云原生技术如何在现代应用部署中发挥关键作用,并提供了具体的代码示例来展示其实现。通过分析云原生的核心概念和优势,我们将了解如何利用这些技术来提高应用的可扩展性、可靠性和安全性。文章还将讨论云原生技术的未来发展趋势,以及如何将其应用于实际项目中,以实现更高效和灵活的应用部署。
|
8天前
|
Cloud Native 安全 API
云原生架构下的微服务治理策略与实践####
—透过云原生的棱镜,探索微服务架构下的挑战与应对之道 本文旨在探讨云原生环境下,微服务架构所面临的关键挑战及有效的治理策略。随着云计算技术的深入发展,越来越多的企业选择采用云原生架构来构建和部署其应用程序,以期获得更高的灵活性、可扩展性和效率。然而,微服务架构的复杂性也带来了服务发现、负载均衡、故障恢复等一系列治理难题。本文将深入分析这些问题,并提出一套基于云原生技术栈的微服务治理框架,包括服务网格的应用、API网关的集成、以及动态配置管理等关键方面,旨在为企业实现高效、稳定的微服务架构提供参考路径。 ####
31 5
|
9天前
|
负载均衡 监控 Cloud Native
云原生架构下的微服务治理策略与实践####
在数字化转型浪潮中,企业纷纷拥抱云计算,而云原生架构作为其核心技术支撑,正引领着一场深刻的技术变革。本文聚焦于云原生环境下微服务架构的治理策略与实践,探讨如何通过精细化的服务管理、动态的流量调度、高效的故障恢复机制以及持续的监控优化,构建弹性、可靠且易于维护的分布式系统。我们将深入剖析微服务治理的核心要素,结合具体案例,揭示其在提升系统稳定性、扩展性和敏捷性方面的关键作用,为读者提供一套切实可行的云原生微服务治理指南。 ####
|
9天前
|
消息中间件 缓存 Cloud Native
云原生架构下的性能优化实践与挑战####
随着企业数字化转型的加速,云原生架构以其高度解耦、弹性伸缩和快速迭代的特性,成为现代软件开发的首选模式。本文深入探讨了云原生环境下性能优化的关键策略与面临的主要挑战,通过案例分析,揭示了如何有效利用容器化、微服务、动态调度等技术手段提升应用性能,同时指出了在复杂云环境中确保系统稳定性和高效性的难题,为开发者和架构师提供了实战指南。 ####
24 3
|
8天前
|
弹性计算 Kubernetes Cloud Native
云原生技术的实践与思考
云原生技术的实践与思考
23 2
|
9天前
|
运维 Kubernetes Cloud Native
云原生技术在现代应用架构中的实践与挑战####
本文深入探讨了云原生技术的核心概念、关键技术组件及其在实际项目中的应用案例,分析了企业在向云原生转型过程中面临的主要挑战及应对策略。不同于传统摘要的概述性质,本摘要强调通过具体实例揭示云原生技术如何促进应用的灵活性、可扩展性和高效运维,同时指出实践中需注意的技术债务、安全合规等问题,为读者提供一幅云原生技术实践的全景视图。 ####
|
1月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
54 4
|
9天前
|
机器学习/深度学习 数据采集 人工智能
智能运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的兴起背景、核心组件及其在现代IT运维中的应用。通过对比传统运维模式,阐述了AIOps如何利用机器学习、大数据分析等技术,实现故障预测、根因分析、自动化修复等功能,从而提升系统稳定性和运维效率。文章还深入分析了实施AIOps面临的挑战与解决方案,并展望了其未来发展趋势。 ####
|
18天前
|
机器学习/深度学习 数据采集 运维
智能化运维:机器学习在故障预测和自动化响应中的应用
智能化运维:机器学习在故障预测和自动化响应中的应用
43 4

推荐镜像

更多
下一篇
无影云桌面