1.aiopsԴ??
2.DevOps是什么? DevOps工程师到底做些什么?
3.GitLab在CockroachDB和YugabyteDB上的兼容性对比(二)-读写场景测试
aiopsԴ??
作者:易立
在年云栖大会上,阿里云云原生产品线容器服务负责人易立分享了容器服务ACK在亚运会上的应用。他指出,ACK作为云原生技术底座,为亚运一站通、亚运钉等众多核心应用提供了高弹性、棋牌茶楼源码高可用、异地多中心的架构支持,确保了赛事系统万无一失。这显示了ACK在企业级应用中的强大能力。
作为企业级云原生应用操作系统,ACK已广泛应用于自动驾驶、智能科研、金融科技等新兴领域,其覆盖公共云、边缘云、本地数据中心等不同场景,为企业提供统一的容器基础设施。
在过去的年度里,阿里云容器产品能力受到业界广泛认可,被Gartner评为全球领导者,亚洲唯一。在Forrester的评测中,ACK被认定为公共云开发与基础设施平台的最佳选择。
面对智算时代的到来,易立介绍了ACK在高效云原生算力、高性能智算应用、智能化运维管理、react 表格源码可信基础设施、分布式云架构五大核心方向的全新升级。
在高效云原生算力方面,ACK提供了丰富的弹性算力,包括Intel/Amd/倚天Arm等多种CPU架构和GPU/RDMA等多种异构加速器,以及按量、Spot、节省计划等多种售卖形态,帮助客户最大化利用阿里云的弹性算力。
ACK集群支持托管节点池和虚拟节点两种数据面形态,通过与弹性计算调度相互感知,更好地调度ECI实例,确保ECS节点池与虚拟节点调度统一和能力一致,无需修改现有K8s应用定义即可最大化使用云资源。
在大规模微服务架构应用和大规模数据计算任务构建方面,越来越多的客户选择基于ACK集群。同时,ACK单集群最大支撑的节点从提升至,ECI实例从提升至实例,控制面组件会根据数据面规模按需伸缩,保障稳定性。
为了支持容器应用向倚天架构平滑切换,ACR提供了多架构镜像构建能力,支持一份源码构建出包含x、Arm架构的应用镜像。同时,ACK集群可以同时包含Arm/x节点池或虚拟节点,会员导航源码让客户K8s应用在不同CPU架构下按需调度,逐步切换。
为了提供更优性价比,越来越多的ACK客户选择倚天芯片作为新算力选择。倚天架构实例的选择原因包括支持容器应用向倚天架构平滑切换、更高的弹性与更丰富的场景支持。
ACK节点池即时弹性能力的发布,实现了在阿里云上容器服务每天数百万核的算力资源按需扩缩容,帮助客户优化计算成本。ACK节点池即时弹性Scaler具备特点如下:更简运维,通过ContainerOS与全托管节点池结合,实现节点全生命周期自动运维,包括CVE高危漏洞自动修复、节点故障自愈、OS/节点组件自动升级等。
在Serverless容器支持方面,基于ECI的ACK Serverless在客户场景中广泛应用于在线应用的弹性伸缩和AI与大数据客户的降本增效。今年ECI弹性容器实例的四个重要发布,包括云原生智算基础设施全面支持灵骏集群,为大规模分布式AI应用提供高性能、高效率的Kubernetes集群,以及AI套件增强,构筑企业专属AI工程化平台。
ACK集群调度器基于Koordinator项目,实现统一、高效地支持微服务、大数据、源码页面布局AI应用等多样化的工作负载,针对AI、大数据负载进行了优化和扩展。近期与小红书合作,发布Hadoop Yarn任务与Kubernetes负载混部的能力,进一步提升Kubernetes集群资源效率。同时,Koordinator捐赠到CNCF基金会,保持项目长期健康发展。
智能自治体系的构建,通过ACK AIOps智能产品助手加速K8s问题定位与解决,提供大模型结合专家系统的解决方案,让管理员使用自然语言与系统交互,加速问题定位与解决。此外,ACK FinOps套件全面升级,支持更多场景化的分析与分摊策略,提高集群资源利用率。
在端到端容器安全方面,ACK与ACR服务提供DevSecOps最佳实践,实现自动化风险识别、阻断与预防能力,帮助企业构建安全可信的软件供应链。集群容器安全概览帮助企业安全管理员更好地感知集群配置、应用镜像、容器运行时的安全风险,实现供应链流程的农业app 源码透明高效。
服务网格新形态融合Sidecarless与Sidecar模式,成为业界首个发布托管式Istio Ambient Mesh的产品,提供对Sidecarless模式与Sidecar模式的融合支持。在典型客户场景中,采用Sidecarless模型服务网格可以减少资源开销%,简化运维成本%,降低时延%。
针对企业对数据隐私日益关切,阿里云、达摩院操作系统实验室与Intel和龙蜥社区一起,推出基于可信执行环境(TEE)的机密计算容器(Confidential Containers),结合可信软件供应链、可信数据存储,实现端到端安全可信容器运行环境,帮助企业抵御来自外部应用、云平台,甚至企业内部的安全攻击。
在跨云协同方面,ACK One Fleet为不同地域的多个K8s集群提供统一的控制平面,实现公共云集群、边缘云集群和本地数据中心集群的统一集群管理、资源调度、应用交付及备份恢复能力。全托管Argo工作流集群具备事件驱动、大规模、免运维、低成本、跨地域等特点,帮助客户在模拟仿真、科学计算等大规模数据计算工作流场景中,实现小时内完成数千例肿瘤基因样本处理,提升速度%,降低成本%。
综上所述,阿里云容器服务ACK作为智算时代的现代化应用平台,以其强大的能力、广泛的应用场景和全面的解决方案,为企业的智能化、数字化创新提供了坚实的基础,推动企业在智算时代实现高效、安全和可持续发展。
DevOps是什么? DevOps工程师到底做些什么?
DevOps是IT服务管理的一种模式。过去的数十年间,IT运维发展经历了数个阶段。从早期的手工运维到标准化运维、自动化运维,到如今的DevOps、AIOps。简言之,DevOps试图打通开发和运维的部门墙,从而打通整个IT价值交付的全生命周期,从产品需求到上线运维的全过程实现效率的提升。
DevOps最显著的作用是提高了企业产品的交付质量、缩短开发周期、减少故障。而降本增效是每一个公司在数字化转型之后的很大的挑战,DevOps无疑直击痛点。
而作为一名DevOps 工程师,除了要具备软件工程师基本的编程能力以外,还需要特定的人际交往、工具使用等技能。换句话说,DevOps 工程师需要“软”、“硬”技能兼备,具体如下:
一、沟通与协作技巧
DevOps 是一种横跨软件开发、测试和部署的协作方法。它将原本具有不同目标的开发、测试和运维小团队聚集在一起,以实现更高效和高质量的代码发布,这就要求 DevOps 流程中的不同角色之间不能有任何交流障碍。因此,良好的沟通技巧(无论是口头还是书面)对于优秀的 DevOps 工程师来说是必不可少的。
协作能力也很重要。DevOps 是团队合作的开发模式,每个工程师都是团队成员,需要在整个软件迭代过程中支持其他同事的工作。这不仅仅要求我们成为一名优秀的队友,还要在适当的时候给新人一些建议,包括但不限于指导和建议团队成员交付代码的最佳方式、编码时使用哪些工具以及如何测试最新功能。这就要求我们自身也要对这些 DevOps 流程中的必要技能有所了解。
二、熟悉和理解 DevOps 工具链
除了协作和沟通这样的“软”技能之外,DevOps 工程师还必须知道如何使用各种复杂工具协同工作以支持软件交付目标,这是成为一个优秀的 DevOps 工程师所必备的“硬”技能。
DevOps 工程师需要知道如何使用和理解以下类型工具的作用:
版本控制工具
详细地说,集合了代码审查、合并功能的版本控制工具是能让多个开发人员之间完美协作的主要DevOps 工具。由于 DevOps 流程汇集了来自各个部门的专家,所以他们需要了解源代码控制系统,以及系统跟踪不同应用程序中的更改。此外,它还维护应用程序的多个版本。
目前 DevOps 流程中常用的版本控制系统都基于开源分布式版本控制系统 Git,例如 GitHub、Gitee、GitLab 以及各大厂商基于 Git 定制的内源协作工具。
持续集成工具
持续集成(CI)是 DevOps 的关键技能之一,它是构建 pipeline 的重要部分。DevOps 要求运营和开发团队使用统一的系统。因此,持续集成所做的就是将开发人员的代码与 master 合并在一起。有了这样的技巧,就可以有效地合并数据。因此,DevOps 工程师一定要知道如何使用一些常用的 CI 工具,例如 GitHub Action、Jenkins、Bamboo、TeamCity、Travis CI 等。
容器与编排工具
容器作为现代微服务与云原生架构的核心技术,提供了关于 DevOps 的三个基本功能,包括持续的实验、流动和反馈。容器技术的不可变基础设施实现了操作系统层虚拟化,不仅方便运维程序升级和部署,还升华成了向应用代码隐藏环境复杂性的手段,成为推广分布式服务的必要前提。
目前,Docker 仍然是应用最广泛的容器技术,而以容器编排引擎 Kubernetes 为核心的云原生技术栈则是各大互联网企业构建容器技术基础设施的事实标准。
自动化工具
自动化是软件开发过程中必不可少的要素之一。几乎所有的手工任务都可以使用各种脚本语言自动完成。例如,Ruby、Bash、Python、Node、Shell 等等。可以说,使用自动化开发工具已经成为了很多 DevOps 团队加快开发和部署过程的关键。想要成为 DevOps 工程师,掌握自动化工具很有必要。
监控和报警工具
DevOps 持续集成和持续部署的实现离不开持续监控的辅助作用。许多微服务都是由数百个组件组合而成,其中一个服务的故障可能导致整个系统崩溃。当然,手动找到核心故障问题是很复杂和耗时的。其中一个解决方案就是持续监控关键特征,如 RAM 使用、请求数量、异常数量和存储空间。因此,需要根据系统的关键特性设置一个警报系统。例如,当存储空间使用率达到 % 时应该触发警报,以便 DevOps 运维开发人员可以在整个系统崩溃之前解决问题。
三、具有成熟编码标准的特定编程技能
然编程能力是每个开发者最基本的能力,但 DevOps 工程师在这方面仍然有一些更特殊的要求。
通常来说,DevOps 工程师需要在专精 1-2 门编程语言的基础上熟悉多种语言,例如 Java、JavaScript、Ruby、Python、PHP、Go 等,这是由微服务时代同一系统不同服务可以由不同语言、不同框架实现的特性而决定的。DevOps 工程师至少需要了解这些语言的特性并具备在操作系统环境中编写和调试它们的能力。
四、技术支持和维护技能
优秀的 DevOps 工程师不仅需要开发方面的技能,有时还需要为客户提供维护和技术支持。这意味着 DevOps 工程师应该乐于为内部和外部客户提供支持,并在出现问题时进行故障排除。
GitLab在CockroachDB和YugabyteDB上的兼容性对比(二)-读写场景测试
在本篇文章中,作者何傲,作为神州数码集团的高级开发工程师,分享了对GitLab在CockroachDB和YugabyteDB上的兼容性对比测试。从测试背景来看,GitLab作为一个流行的源代码管理工具,为了应对大型企业中分布式仓库管理的需求,人们开始考虑将其部署在分布式数据库上,如CockroachDB和YugabyteDB,这两者都支持PG协议。
在上一篇文章中,我们发现CockroachDB由于不支持GitLab的自动数据库schema创建,导致GitLab无法启动,而YugabyteDB则可以顺利启动。本次测试,作者将标准GitLab库和数据导入到两个数据库,然后测试了一系列关键业务场景,包括项目列表、项目视图等。
迁移和测试过程中,CockroachDB在项目创建、GitLab导入和部分业务操作(如Merge Request)中遇到问题,如索引不兼容、未定义的列错误等。而YugabyteDB在大部分场景中表现良好,尽管在项目创建和GitLab导入上存在持续加载和权限问题,但整体兼容性较好。
总结来说,YugabyteDB在本次测试中的兼容性优于CockroachDB,但在Merge Request相关的操作上仍可能存在待解决的问题。dbaplus社群是一个专注于Database、BigData、AIOps的专业社群,提供技术分享和资源,如果你对数据库技术感兴趣,可以关注公众号dbaplus社群获取更多内容。