平台工程文化:软件开发的创新路径和协作之道

news2024/11/25 6:43:47

在快速发展的软件开发领域,具有前瞻性思维的企业组织正在拥抱平台工程文化的变革力量。这种创新方法强调创建共享平台、工具和实践,使开发人员能够更快、更高效地交付高质量的软件。在本文中,我们将深入探讨平台工程文化的核心原则和深远的好处,探索它如何在技术团队中促进协作、创新和可扩展性的独特融合。

01 平台工程文化的本质

平台工程文化的核心理念是建立一套可重复使用、可扩展的工具、服务和框架,为整个组织的开发人员赋能。这种文化提倡创建可被不同团队和项目利用的集中式平台,而不是将基础设施和通用服务视为孤立的项目。这种方法的协作性和前瞻性消除了重复劳动,简化了开发流程,并确保了不同产品和服务之间协调一致的产出。

02 平台工程的基本原则

  • 抽象和标准化:平台工程师熟练地抽象底层基础设施和服务的复杂性,为开发人员提供简单和标准化的 API。这样,他们就能让开发人员专注于构建特性和功能,而不是处理低层次的实施细节。

  • 自动化:平台工程文化的核心是对自动化的高度重视。自动化调配、部署、测试和监控流程使团队能够以更高的速度、可靠性和一致性交付软件。

  • 自助服务:平台工程师努力赋予开发人员自助服务功能,使他们能够毫不费力地访问和管理资源。这些自助服务平台有助于加快迭代速度,减少日常任务对集中团队的依赖。

  • 持续改进:平台工程文化深深植根于持续改进的原则。平台工程师会积极征求开发人员的反馈意见,找出痛点,迭代演进平台,以满足不断变化的开发需求

03 拥抱平台工程文化的优势

  • 加速开发:通过提供预构建的组件和服务,平台工程文化加速了开发过程。开发人员可以集中精力构建应用逻辑,从而减少冗余,加快新功能和新产品的上市时间。

  • 增强协作:平台工程文化培养跨团队协作精神。平台团队与应用程序开发团队携手合作,促进合作意识和共同责任,以交付高质量软件。

  • 可扩展性和效率:共享平台本质上可以减少冗余工作并提高软件开发效率。随着组织的发展,该平台可以无缝扩展以适应不断增长的需求,而无需大幅增加资源。

  • 一致性和可靠性:标准化平台可确保各产品的一致性,从而带来更可靠、更可预测的用户体验。此外,自动化流程可减少人为错误,提高系统可靠性。

  • 鼓励创新:通过将常见的基础架构问题委托给平台团队,应用程序开发人员可以专注于创新和构建独特的功能,为其产品或服务增加实质性价值。

  • 降低风险:标准化平台降低了系统故障和中断的风险,提高了整体可靠性和性能。

向平台工程文化过渡可能会带来一些挑战。循序渐进的采用过程,加上持续的反馈循环,可以确保无缝过渡,并确保每个人对平台工程文化的接受。

04 案例研究:Licious 的卓越平台工程之旅

以 Licious 为例,我们将分析向平台工程过渡的实际好处与优势。在 Licious 内部已经意识到需要一种更加精简、可扩展和高效的软件开发和部署方法。

在这一过程中,和许多其他企业一样,都遇到了与软件开发规模相关的挑战。随着应用程序数量的不断增加、版本的频繁发布以及复杂的技术堆栈,Licious 发现在 DevOps 实践中保持一致性、可靠性和效率变得越来越困难

认识到现有 DevOps 方法的局限性,去年年初,我们决定过渡到平台工程,以全面应对这些挑战。随后我们分阶段实施了战略路线图。

第 1 阶段:通过自动化和左移增强 DevOps 能力

在第一阶段,我们确定了以下工作领域:

  • 战略和可衡量指标:我们对当前的实践进行了全面评估,找出了痛点,并制定了一个具有衡量标准的强大 DevOps 工程方法愿景。我们制定了明确的战略,使平台工程目标与公司的长期业务目标保持一致。

  • 团队重组和技能发展:对技术熟练的 DevOps 工程师团队进行了重组和技能提升,使其专门从事平台工程。还提供了额外的培训,以确保他们掌握 IaC、容器化和通过云原生方法实现自动化部署管道等领域的必要知识。帮助他们将编程作为核心,而不仅仅是脚本。

  • 采用基础设施即代码:我们投资于 IaC 实践,使用 Terraform 自动配置和管理基础设施。这使得基础架构部署和补丁的一致性、可重复性和版本控制成为可能。

  • 容器化和编排:使用 Docker 进行容器化,并通过 Kubernetes 进行协调,以简化跨不同环境的应用部署、扩展和管理。采用云原生堆栈。创建基于 Kubernetes 的操作员,以自动化方式处理手动操作。

  • 在 45 天内将 100+ 项服务从 EC2 迁移到 Kubernetes

  • GitOps 和左移:我们投入了大量时间开发自助服务流程,并充分利用 GitOps 原则,使开发团队能够自主调配资源、管理部署和监控服务。这消除了资源瓶颈,减少了人工干预的需要。

  • 持续改进:我们不断收集开发团队的反馈意见,并根据实际使用情况和挑战迭代改进平台工程实践。

第一阶段成果

第一阶段的结果非常积极。在团队内部,我们能够:

1. 减少 DevOps 每天执行的冗余任务。

2. 减少对 DevOps 的依赖和阻碍。

3. 提高系统的可靠性和可扩展性。

4. 减少由于高峰时段和活动而导致的意外中断。

5. 服务所有者更有能力自信地管理其应用程序。

6. 最重要的是,改善DevOps工程师的工作与生活平衡,减少夜间意外急救时间。

第 2 阶段:内部开发人员平台

Licious 平台工程之旅的下一阶段是内部开发人员平台。

为什么?

在向 Kubernetes 平台迁移的过程中,我们面临的大部分挑战都是如何找到已废弃服务的所有权以及部署在 Git 上的活动分支。因此,我们萌生了建立内部服务目录的想法。

要解决什么问题? 

减少新服务的载入时间;改善开发人员体验并实施服务成熟度指数;简化我们从开发到生产的发布过程,实现对 DevOps/平台工程师的零依赖。

进展如何?

目前,我们的 IDP 之旅还处于初期阶段。但是,当我们越多地了解其他公司对内部开发人员平台(如 Spotify 的 Backstage)的调整时,我们就越坚信自己走在正确的道路上。

第二阶段成果

Licious 从 DevOps 到平台工程的转变,展示了采用整体方法进行软件开发和部署的变革性影响。通过创建一个标准化、可扩展和自助式的平台,将效率、可靠性和协作提升到新的水平。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1288789.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Docker】从零开始:15.搭建亿级数据Redis集群之哈希算法概念

【Docker】从零开始:15.搭建亿级数据Redis集群之哈希算法概念篇 概述一般业界的3种解决方案1.哈希取余分区优点:缺点: 2.一致性哈希算法分区背景目的原理一致性哈希环节点映射key落到服务器的落键规则 优点容错性扩展性 缺点 3.哈希槽分区背景…

4WRPH6C3B24L-2X/G24Z4/M伺服比例方向阀控制板

4WRPH6C3B12L-2X/G24Z4/M、4WRPH6C3B40P-2X/G24Z4/M、4WRPH6C3B40L-2X/G24Z4/M、4WRPH6C4B24L-2X/G24Z4/M、4WRPH6C4B40L-2X/G24Z4/M、4WRPH6C3B24L-2X/G24Z4/M、4WRPH10C4B100L-2X/G24Z4/M、4WRPH10C3B100L-2X/G24K0/M-750适合控制4WRPH系列比例伺服阀,用于安装在架…

AOP记录操作日志

创建数据库表 -- 操作日志 create table operate_log (id int unsigned primary key auto_increment commentid,operate_user int unsigned comment 操作人员Id,operate_time datetime comment 操作时间,class_name varchar(100)comment 操作类,method_name varchar(100)comme…

全国各省市城市地级市自治州盟地区369个城市年度平均气温数据(2001-2022年)

这份包含369个城市平均气温数据的数据集(2001-2022年)是基于美国国家海洋和大气管理局(NOAA)下属国家环境信息中心(NCEI)提供的原始数据编制而成的。利用气象观测站点的这些栅格图和全国地级市的行政边界数…

ospf选路

问题描述 R6通过主备份路径访问LSP(R1),主为R2, 备为R3 解决方案 路由器1看作LSP,配置loopback 0 ,地址为1.1.1.1 供测试使用;路由器 236, LSW4和LSW5, 运行ospf处于相同区域,建立…

【SpringCloud篇】Eureka服务的基本配置和操作

文章目录 🌹简述Eureka🛸搭建Eureka服务⭐操作步骤⭐服务注册⭐服务发现 🌹简述Eureka Eureka是Netflix开源的一个基于REST的服务治理框架,主要用于实现微服务架构中的服务注册与发现。它由Eureka服务器和Eureka客户端组成&#…

怎么安装Element组件库?

先创建一个项目 1.现在桌面创建一个文件夹 2.窗口里面输入vue ui,打开vue图形页面 3.创建项目 4.接下来只要等待就行了 到这里很多人会发现自己没有NPM脚本这个女选项,这时候我们要点击package.json他才会出来 到此,就已经创建好了 &#…

幽灵鲨crm助力企业轻松进行客户管理

当今竞争激烈的商业环境中,有效的客户管理是企业成功的关键之一。幽灵鲨CRM应运而生,致力于为企业提供便捷、智能的客户管理解决方案,助您轻松驾驭客户关系,开拓更广阔的市场。 解放您的管理压力 幽灵鲨CRM集客户信息、沟通记录、…

C++中单引号‘‘和双引号““的区别

操作系统:Windows 10 IDE:CLion 单引号:表示一个字符,例如 a 双引号"":表示一个字符串,例如 "a" 在C中,使用双引号可以方便地创建字符串,而使用单引号可以方便…

C++基础 -45- 类的静态数据成员

类的静态成员不包含在对象空间内 举例验证 定义普通变量和静态的变量 输出可知静态成员并没有占用类空间 静态数据成员的赋值&#xff08;必须类外赋值&#xff09; int base:: b 100;静态数据成员的访问&#xff08;不需要先定义对象&#xff09; int main() {cout <…

算法通关村——原来这就是堆

堆结构是一种非常重要的基础数据结构&#xff0c;也是算法的重要内容&#xff0c;很多题目甚至只能用堆来进行&#xff0c;所以我们必须先明确什么类型的题目可以用堆&#xff0c;以及如何使用堆来解决。由于堆的构造和维护过程都非常复杂&#xff0c;因此面试时一般不需要手写…

28、pytest实战:获取多用户鉴权

前提 测试过程中有用户体系&#xff0c;例如包括管理员、商家、用户角色&#xff0c;不同测试用例需要使用不同角色来操作&#xff0c;操作权限根据用户的鉴权来判断实现。 技能点 建立全局变量文件&#xff0c;保存账号相关信息获取鉴权信息变为module级别fixture&#xff…

Linux-centos上如何配置管理NFS服务器?

Linux/centos上如何配置管理NFS服务器&#xff1f; 1 NFS基础了解 NFS&#xff08;Network File System&#xff09;即文件操作系统&#xff1b;NFS允许网络中不同计算机相互之间共享资源。 1.1 NFS概述 1980年由SUN发展出来的在UNIX&Linux系统间实现文件共享的一种方法…

语音验证码有什么好处?

在互联网时代&#xff0c;验证码的重要性不言而喻&#xff01;网站或APP注册登录、密码修改、在线支付等场景均需通过验证码确认系用户本人&#xff0c;以保障用户帐户信息及财产安全。 常见的验证码是短信验证码&#xff0c;而语音验证码因其是语音电话自动播报的形式&#x…

【数据分享】1961—2022年我国省市县三级的逐日降水量数据(免费获取\excel\shp格式)

降水数据是我们在各项研究中最常用的气象指标之一&#xff01;之前我们给大家分享了来自国家青藏高原科学数据中心发布的1961—2022年全国范围的逐日降水栅格数据&#xff01;&#xff08;可查看之前的文章获悉详情&#xff09;&#xff01; 本次我们分享的是我国1961——2022…

文件格式对齐、自定义快捷键、idea

文件格式对齐 日常编码必备idea快捷键 [VS Code] 入门-自定键盘快捷键 文件格式对齐 文件格式对齐通常是通过编辑器或IDE提供的快捷键或命令完成的。以下是一些常见编辑器和IDE中进行文件格式对齐的方法&#xff1a; Visual Studio Code: 快捷键&#xff1a;通常是使用快捷…

大模型的推理和搜索能力

摘要&#xff1a; 推理和搜索问题&#xff0c;如定理证明和程序合成&#xff0c;一直是人工智能领域的长期挑战。组合搜索空间使得传统的基于搜索的方法难以处理。然而&#xff0c;即使在最数学化的领域中&#xff0c;人类也可以直观地操作&#xff0c;而AlphaGo等现有工作已经…

[RISCV] 发现一个可以看RISC-V CPU行为的开源项目

最近在浏览某大型程序员交友 网站的时候发现一个好玩的项目,介绍如下: A small program that handles mie, msi, mti and trap interrupts and updates some global variables on interrupts. 重点是他下面还放了一张图: 能看到RISCV CSR的行为太酷啦!!! 下面一起setup一…

IT外包服务内容有哪些?

在信息技术迅猛发展的今天&#xff0c;越来越多的企业为了提高效率、降低成本以及更专注于核心业务&#xff0c;选择将信息技术工作外包给专业的IT服务公司。IT外包包含很多不同的服务&#xff0c;以下是对主要服务内容的简要概述。 1. 网络建设与维护 网络是现代企业信息系统…

文章润色软件,免费的几款润色工具推荐

高质量的文章对任意一个平台都是至关重要的。然而&#xff0c;即便思路清晰&#xff0c;内容丰富&#xff0c;若文章表达不够准确、连贯&#xff0c;其传达的信息可能会失去效果。本文将深入探讨文章润色的方法、文章润色的工具以及一些实用的技巧&#xff0c;帮助大家提升文章…