建立成功平台工程的关键:自助式 IaC

2024-04-29 12:36

本文主要是介绍建立成功平台工程的关键:自助式 IaC,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

从技术上讲,云一直都是自助式服务,但由于其在实践中的复杂性,许多开发人员并不喜欢。随着公司采用现代架构(云原生、无服务器等)和新的提供商(多云、SaaS 应用程序),以及云提供商发布更多服务,云变得更加难以使用。

 

这就是为什么有竞争力的工程团队现在都在想办法通过消除瓶颈来成倍提高其 DevOps、网站可靠性和基础设施工程师的产出,从而加快所有开发人员的工作效率。

 

平台工程提供了一种解决方案,它使开发团队能够自助构建、部署和管理自己的云基础设施,同时遵循最佳实践

 

让我们来探讨一下平台工程的好处、成功的平台团队用于授权开发人员自助服务基础架构的三种主要方法,以及选择支持所用方法的基础架构即代码(IaC)框架的重要性。

 

平台工程的重要性

开发人员需要基础架构来运行他们的应用程序和服务。传统上,许多公司都由中央基础架构团队代表开发人员调配和管理基础架构,但这种模式很容易出现瓶颈,因为开发人员对基础架构的要求压得中心团队喘不过气来。

 

随着现代开发团队承担起拥有和运维自己基础架构的责任,他们也需要简单快捷的方法来配置基础架构。你可能会认为,随着这些转变,中心基础架构团队的需求减少了,但他们在助力开发人员和公司在这个该领域取得成功方面发挥着至关重要的作用

 

从开发人员体验的角度来看,平台工程可以解决几个问题。

 

首先,云过于复杂和笨重,大多数开发人员在没有抽象和工具的情况下无法使用。微服务和无服务器等现代云架构增加了管理基础设施的复杂性。许多公司都在 Kubernetes 上运行应用程序。虽然开发人员需要负责对运行其应用程序的基础架构进行更多管理,但期望所有开发人员都深入了解云基础架构的复杂性是不切实际的。

 

其次,开发人员需要了解应配置哪些基础架构资源,以及如何遵守公司确定的最佳实践,如安全和成本问题、云区域、监管要求和经批准的云提供商。仅在 AWS 上就有 200 多种服务可供选择,因此确定正确的资源并非易事。

 

第三,开发人员需要一种简单的方法来调配、配置和管理基础设施。这可能会很复杂,因为许多架构使用来自一个云的多种资源,它们通常包括来自其他云或 SaaS 供应商的资源,而且在部署 Kubernetes 这样复杂的东西时可能会遇到挑战。

 

通过分散基础设施的管理,公司给开发人员带来了新的复杂问题。因此,将复杂问题抽象化,使开发人员能够专注于更快地发布功能的需求变得更加迫切。

 

这就是平台工程的用武之地。平台团队构建共享工具和服务,帮助开发团队自助开发、部署和运维云基础设施。这包括云基础设施、容器协调平台、数据库、网络、监控、代码库和部署流水线。

 

注意:高效的平台团队将其服务的应用程序开发人员视为客户,必须了解他们,并通过产品解决他们的问题。

 

建立自助式 IaC 的方法

成功的平台团队有几个特征。其中包括业务的转变,从仅仅将基础设施团队视为成本中心转变为业务的加速器。通常情况下,这意味着业务部门已赋予团队执行平台工程模型的权力和资源。高效的平台团队还采用客户驱动的思维方式,将所服务的应用开发人员视为客户,必须通过解决他们问题的产品来了解和赢得他们。

 

最后一点是,成功的平台团队都拥有才华横溢的工程师,他们具备多学科的技能、经验和同理心,能够在公司内部打造优秀的产品、满足开发人员的需求并 “走向市场”。通常,他们拥有基础设施或 DevOps 和软件工程等多个工程学科的经验,以及软件工程师、DevOps 工程师、网站可靠性工程师、云架构师、云工程师等各种职称。

 

平台工程师为开发人员提供基础设施和工具,帮助他们高效地部署和运行应用程序,使开发人员能够专注于构建优秀的软件。

 

概括地说,平台团队主要采用三种方法让开发人员能够自助服务基础设施。

 

第一种是创建基础架构库,表达基础架构资源和配置,用于使用部署工具配置基础架构。

 

第二种是创建基础架构命令行接口,允许开发人员通过熟悉的 CLI(类似于 Heroku)调配和管理基础架构。第三种是创建基础架构平台应用程序,为开发人员提供图形用户界面来配置和管理基础架构。

 

所有这些方法的共同点是采用标准化架构,其中包含平台团队定义的最佳实践、执行部署规则的机制以及统一的部署工作流程(代码审查、拉取请求、CI/CD、测试等)。

 

为了采用这些方法,平台团队需要一个支持其产品的部署框架。尽管构建自己的定制部署工具可能很诱人,但采用基础架构即代码框架是一种更高效、功能更强的方法

 

IaC 允许工程师以管理代码的相同方式定义和管理基础架构。这种方法具有多种优势,包括版本控制、测试、可重用性和自动化。目前存在许多框架,有些是开源的,有些则不是,它们可能是特定于云的,也可能是多云的。大多数框架使用基于 YAML/JSON 的特定领域语言 (DSL),也有一些框架使用通用编程语言。

 

虽然每种方法各有利弊,但许多平台团队发现,采用通用语言进行 IaC 是最灵活、最强大、适应性最强的方法。这些语言更容易对复杂的基础设施进行建模,因为它们本机支持循环和条件等构造,并为抽象和重用提供了熟悉而成熟的模型。

 

而且,如果 IaC 是用开发人员已经掌握的语言编写的,他们使用起来就会容易得多

 

Walrus 就是基于 IaC 采用平台工程技术的典范。它是一款开源应用平台,基于 IaC 工具如 Terraform 和 OpenTofu,采用双层抽象架构。其中包括 IaC 模板(如 Terraform 模块)和资源定义(Resource Definition)。IaC 模板允许运维人员创建可复用的基础设施配置,减少重复性工作。通过资源定义,运维人员可设定和执行公司策略,包括云资源的使用规则、配置标准及访问权限,确保资源使用的安全性和合规性。这使得开发人员能通过自助服务方式配置和部署资源,无需关注底层技术细节,专注于应用开发。同时,Walrus 遵循 DRY (Don’t Repeat Yourself) 原则,保证跨平台和云环境的一致性,避免代码冗余。

 

另外,Walrus 可以编排整套应用系统,并提供统一的视图简化资源和环境管理。包括:

  • 应用统一编排:以应用为中心,对应用服务集周边资源依赖(数据库、中间件、负载均衡、网络等)进行统一编排部署。并自动生成依赖图,直观展示底层模块、运行状态及依赖关系等。
  • 动态环境管理:支持灵活的环境配置及管理,支持一键创建、克隆、停止整个应用环境或单个服务,满足各类环境管理需求。
  • 统一视图:Walrus 在单一资源视图中提供针对资源详情各类操作的支持,如查看资源列表、管理资源及其底层组件,查看日志、进行终端调试故障、获取服务的URL等。用户无需切换界面即可完成资源管理。

 

可见,开发团队是可以独立配置基础架构,而不会给平台团队带来大量成本,并消除了配置瓶颈。同时,平台团队可以确保开发人员调配的是经过批准的基础设施,从而降低了错误配置的风险。

 

总结

平台工程是一门强大的新兴工程学科,可帮助企业提高开发人员的工作效率,并从云投资中获得更多价值。平台工程团队采用以客户为中心的方法,为开发人员提供自助式基础架构工具,满足他们的需求并提高他们的工作效率,从而使他们能够专注于构建优秀的软件。通过这种工具,开发人员可以为其应用程序配置正确的基础架构并对其进行管理

 

选择 IaC 框架是平台工程战略的重要基础,因为它定义了如何在整个组织内对基础架构进行建模、测试、分布和部署。

 

特别是,IaC 语言的选择会影响基础设施的可用性、可重用性和扩展能力。通用语言具有很大的优势,因为它们已经被广泛采用,比 DSL 更灵活,表达能力更强,而且拥有丰富的工具和框架生态系统,可以提高工作效率。

这篇关于建立成功平台工程的关键:自助式 IaC的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/946104

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

如何解决线上平台抽佣高 线下门店客流少的痛点!

目前,许多传统零售店铺正遭遇客源下降的难题。尽管广告推广能带来一定的客流,但其费用昂贵。鉴于此,众多零售商纷纷选择加入像美团、饿了么和抖音这样的大型在线平台,但这些平台的高佣金率导致了利润的大幅缩水。在这样的市场环境下,商家之间的合作网络逐渐成为一种有效的解决方案,通过资源和客户基础的共享,实现共同的利益增长。 以最近在上海兴起的一个跨行业合作平台为例,该平台融合了环保消费积分系统,在短

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

衡石分析平台使用手册-单机安装及启动

单机安装及启动​ 本文讲述如何在单机环境下进行 HENGSHI SENSE 安装的操作过程。 在安装前请确认网络环境,如果是隔离环境,无法连接互联网时,请先按照 离线环境安装依赖的指导进行依赖包的安装,然后按照本文的指导继续操作。如果网络环境可以连接互联网,请直接按照本文的指导进行安装。 准备工作​ 请参考安装环境文档准备安装环境。 配置用户与安装目录。 在操作前请检查您是否有 sud

业务协同平台--简介

一、使用场景         1.多个系统统一在业务协同平台定义协同策略,由业务协同平台代替人工完成一系列的单据录入         2.同时业务协同平台将执行任务推送给pda、pad等执行终端,通知各人员、设备进行作业执行         3.作业过程中,可设置完成时间预警、作业节点通知,时刻了解作业进程         4.做完再给你做过程分析,给出优化建议         就问你这一套下