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

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

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.mfbz.cn/a/232420.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java网络编程——基础入门

1、进程间的通信 进程指运行中的程序,进程的任务就是执行程序中的代码。EchoPlayer类是一个独立的Java程序,它可以在任意一台安装了JDK的主机上运行: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStr…

Finereport基于linux的简单安装(单节点)

简介 本文以单节点简单部署为例,不适用企业级高可用部署策略。 FineReport的运行依赖于Tomcat ,Tomcat 是免费且性能相对稳定的 Web 应用服务器,也可以充当JSP容器。它是一个用于运行Java Servlet和JavaServer Pages(JSP)的Web服务…

Eclipse 4.30 正式发布 来看看有哪些值得期待的新特性

Eclipse 4.30 已正式发布,主要特性如下: 1、支持新的 Java 语言特性:包括 JEP 440: Record Patterns 和 JEP 441: Pattern Matching for Switch 2、针对 Java 编辑器的快速修复功能:包括添加默认 case、移除默认 case 和插入 br…

报道 | 2023年1月-2024年3月国际运筹优化会议汇总

2023年1月-2024年3月召开会议汇总: SIAM Symposium on Algorithm Engineering and Experiments 2024 Location: Alexandria, VA, United States Important dates: Conference: January 7, 2024 - January 8, 2024 Details: https://www.siam.org/conferences/cm…

模电·放大电路的分析方法——等效电路法

放大电路的分析方法——等效电路法 晶体管的直流模型及静态工作点的估算法晶体管共射h参数等效模型 h h h参数等效模型的由来参数的物理意义简化的h参数等效模型 r b e {r\tiny be} rbe的近似表达式 共射放大电路动态参数的分析电压放大倍数 A ˙ u \.{A}\tiny u A˙u输入电阻 …

CrystalDiskInfo中文版(硬盘检测工具) v9.1.1.0 绿色汉化版-供大家学习研究参考

更新内容 重新支持三星SATA SSD寿命报告 增加对ZHITAI SC001的支持 新增SK hynix Gold S31支持 增加了KLEVV NEO N610的支持。 改进的Micron/Crucial SATA SSD支持 已更改 卸载程序将显示一个确认对话框,用于删除设置。 强大功能 1.拥有多国语言,…

curl 18 HTTP/2 stream

cd /Users/haijunyan/Desktop/CustomKit/KeepThreadAlive/KeepThreadAlive //Podfile所在文件夹 git config --global https.postBuffer 10485760000 git config --global http.postBuffer 10485760000 pod install https://blog.csdn.net/weixin_41872403/article/details/86…

全网最新最全【Kali Linux】 渗透测试技术大全

利矛出击:Kali Linux 渗透测试大法 在网络攻防实践中,系统的防御措施可以称为“盾”,而渗透测试则是“矛”。二者同等重要,因为“矛”可以试探出“盾”有多坚固,并且及时发现问题,修补漏洞,提升…

苍穹外卖项目笔记(8)— 缓存商品、购物车功能

前言 代码链接: Echo0701/take-out⁤ (github.com) 1 缓存菜品 1.1 问题说明 【注】很多时候系统性能的瓶颈就在于数据库这端 1.2 实现思路 通过 Redis 来缓存数据,减少数据库查询操作 【注】Redis 基于内存来保存数据的,访问 Redis 数据…

多任务学习(Multi-Task Learning)和迁移学习(Transfer Learning)的详细解释以及区别(系列1)

文章目录 前言一、多任务学习(Multi-Task Learning)是什么?二、多任务学习(Multi-Task Learning)对数据的要求三、迁移学习是什么?四,迁移学习对数据的要求五,多任务学习与迁移学习的…

正则表达式(8):基本正则表达式小结

正则表达式(8):基本正则表达式小结 本博文转载自 写这篇文章的目的就是总结前文中所介绍的”基本正则表达式”,并且结合一些实例进行练习,以便我们能够在练习中完全掌握它们。 首先,我们对前文中提到的符…

【图像分类】【深度学习】【Pytorch版本】 DenseNet模型算法详解

【图像分类】【深度学习】【Pytorch版本】 DenseNet模型算法详解 文章目录 【图像分类】【深度学习】【Pytorch版本】 DenseNet模型算法详解前言DenseNet讲解Dense Block(稠密块)Dense Layer(稠密层)Transition Layer 过渡层DenseNet模型结构 DenseNet Pytorch代码完整代码附加…

蛋白质语言空间下的对比学习预测DTI

基于序列的DTI预测可以加速药物发现。而这种计算预测需要具有通用性和可扩展性,同时对输入中的细微变化保持敏感。然而,目前的计算技术不能同时满足这些目标。因此该研究开发了ConPLex,成功地利用了预训练蛋白质语言模型(PLex&…

基于JavaWeb+SSM+Vue实习记录微信小程序系统的设计和实现

基于JavaWebSSMVue实习记录微信小程序系统的设计和实现 源码获取入口Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 Lun文目录 目 录 摘 要 III Abstract 1 1 系统概述 1 1.1 概述 2 1.2课题意义 3 1.3 主要内…

vue常用的修饰符

一、定义 修饰符是用于限定类型以及类型成员的声明的一种符号,vue中修饰符分为以下五种:表单修饰符、事件修饰符、鼠标按键修饰符、键值修饰符、v-bind修饰符 二、作用 1.表单修饰符 lazy:在我们填完信息,光标离开标签的时候&a…

cache教程 3.HTTP服务器

上一节我们实现了单机版的缓存服务,但是我们的目标是分布式缓存。那么,我们就需要把缓存服务部署到多态机器节点上,对外提供访问接口。客户端就可以通过这些接口去实现缓存的增删改查。 分布式缓存需要实现节点间通信,而通信方法…

m_map导入本地地形数据

m_map绘制地形图时,虽然自带有1的地形图以及从NOAA下载的1分的地形图(详见:Matlab下地形图绘图包m_map安装与使用),但有时需要对地形图分辨率的要求更高,便无法满足。 此时,需要导入本地地形数…

LeetCode题:11. 盛最多水的容器

目录 一、题目要求 二、解题思路 三、代码 一、题目要求 11. 盛最多水的容器 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多…

《师兄啊师兄》第二季来了!它凭什么成为修仙流里第一档?

沉寂大半年,修仙喜剧动画《师兄啊师兄》第二季终于“千呼万唤始出来”,即将在12月14日上线。作为优酷动漫本年度的当家之作,这部可谓是热度口碑双丰收,截至第一季收官,相关话题在短视频平台的累计播放量更是高达43亿&a…

软件设计师——法律法规(二)

📑前言 本文主要是【法律法规】——软件设计师——法律法规的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 &#x1f304…