DevOps迈向标准化,平台工程让开发运维更轻松
在近一代人的时间里,DevOps 在软件开发和运维领域占据了主导地位。这是一套开发人员都离不开的技能和方法。Pearl Zhu 在 “The Digital Master” 一书中描述了它的重要性,强调 “敏捷和 DevOps 是为了利用整合、互动和创新”。在当今竞争激烈的市场中,这一点尤为重要,因为 IT 管理团队面临着提供下一个创新技术解决方案的巨大压力。
但是,变革已经蔚然成风。随着企业寻求更快的发展,并采取措施让开发人员的生活更轻松,DevOps 正在向更标准化的方法发展:也就是平台工程。软件开发方法的这一演变反映了提高一致性和协调性的需求,且目前已被各组织所采用。虽然这并非全新的方法,但它标志着我们在设计、构建和交付软件方面取得了重大进展。
这种转变为在现代技术时代优化流程创造了机会。但是,企业必须仔细考虑如何驾驭从 DevOps 到平台工程的逐步转变,既要保留优势,又要尽量减少不一致。重点更多在于加强现有投资,而不是彻底替换。通过审慎的变革管理,有机会将 DevOps 的先进性提升到一个新的水平。
明确定义
新的软件开发方法可能很快就会在术语和定义的混乱中迷失方向。尽早建立对新方法的理解将确保开发人员团队能够顺利采纳它。目前,业界缺乏围绕这一主题的教育。Civo 的研究观察到了这一分歧:虽然大多数 DevOps 工程师将他们对 DevOps 的理解归类为 “非常好”,但只有 41% 的人表示他们熟悉平台工程。
从本质上讲,DevOps 是一套技能和方法论,有助于弥合企业中开发与运维之间的隔阂。把它称作工具就缩小了它的范围,它是软件交付过程中的一种文化转变。它建立在一系列关键原则之上,以帮助实现持续、快速的交付,包括自动化、持续改进和团队间的密切合作。
DevOps 最著名的成功案例之一是 Netflix。其云原生方法得益于 DevOps 文化,这种文化将创新和交付解决方案放在首位,确保为客户提供卓越的服务。从 Netflix 基于 “Netflix 算法” 及其对用户数据深入、细化的理解所打造的尖端、个性化用户体验中,我们得以对其成功的奥秘窥探一二。
掌握正确的流程
从各自为政的 DevOps 实施过渡到统一的平台工程方法是降低复杂性的关键。如果没有全公司范围内的一致性和标准,各个团队最终只能选择自己的工具和流程。当这种情况在各个项目中成倍增加时,很快就会无法控制,成为安全和效率噩梦。
平台工程通过创建内部开发人员平台来解决这一问题,以便在整个组织内共享优势。一个集中的团队专注于提供核心基础架构、部署、CI/CD 和托管服务,所有应用程序都通过自助式 API 依赖这些服务。这一基础意味着项目可以简单地即插即用,而无需从头开始研发。
这样做的好处是多方面的。在组织层面,它通过标准化减少了工具的无序使用,通过改进的安全性、治理和监督将运维连接起来。有了这种结构,每个人都能更快地开展工作(因为团队不再重复劳动),更重要的是,它能让开发人员腾出手来,专注于代码,以最快的速度向市场提供创新解决方案。
要达到这一未来状态,企业必须采取协调一致的措施,包括
- 审核和调整当前实践
- 确定开发人员平台的需求和目标
- 重新培养新兴技术人才
- 提高透明度、学习灵活性和用户关注度
- 逐步实现平台功能
- 根据用户反馈不断完善平台
按照这一结构化途径,平台工程可将开发带入一个以快速、可靠地交付创新为特征的新时期。在对流程进行战略性更新的同时顺利安装新的技术功能,团队可以将 DevOps 的成果整合到更具可扩展性的模式中,以控制不断增长的复杂性。
付诸实践
平台工程正在从“纸上谈兵”转化为实际应用。企业已经看到了标准化程度提高、交付速度加快以及开发人员能力增强所带来的好处。
已在采用平台工程的企业的发展历程表明,这种方法作为一种可行、有价值的下一代软件交付模式,正在逐渐走向成熟**。对于具有前瞻性的公司来说,忽视这一转变可能会将竞争优势拱手让给他人。
拥抱这种转变需要集中投入大量时间和精力,而不是“东一榔头、西一棒槌”的零碎工作,因为大量的投资才会带来巨大的红利。从 DevOps 转型的公司可以从备受瞩目的成功案例中寻找最佳实践、灵感,并对当前实践进行验证。事实证明,平台工程可以增强企业的竞争优势。
软件开发的新时代
平台工程代表着软件开发的下一个阶段,它能实现前所未有的软件开发速度和规模。平台工程直接解决了 DevOps 面临的挑战,如缺乏标准化。通过加强自动化,平台工程提高了效率和可靠性。
这一转变是由复杂的云原生系统推动的,这些系统需要更强的灵活性。随着企业应对复杂的软件并努力创新,平台工程是下一个合乎逻辑的步骤。接受这一转变的公司将能够抓住更多机遇,不断满足客户新的期望。
尽管克服惰性可能很困难,但这样做的好处是值得的。在新技能、标准化工具和逐步实施方面进行投资,将缓解转型过程的痛苦。只要精心准备,企业就能释放新时代的优势。
DevOps迈向标准化,平台工程让开发运维更轻松的更多相关文章
- 研发效能|DevOps 已死平台工程永存带来的焦虑
最近某位大神在推特上发了一个帖子,结果引来了国内众多卖课机构.培训机构的狂欢,开始贩卖焦虑,其实「平台工程」也不是什么特别高深莫测的东西.闲得无聊,把这位大神的几个帖子薅了下来,你看过之后就会觉得没啥 ...
- (视频)《快速创建网站》 4.1 为啥造软件不同于造汽车,为啥是软件就一定会有Bug - 构建开发运维一体化(DevOps)
本文是<快速创建网站>系列的第9篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...
- Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成——部署方案优化
Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成--部署方案优化 之前我们做的方案部署都是只能选择一个微服务部署并只有一台生产服务器,每个微服务只有一个 ...
- DevOps、SRE、平台工程的区别
DevOps.SRE和平台工程的概念在不同时期出现,并由不同的个人和组织开发. DevOps作为一个概念是由Patrick Debois和Andrew Shafer在2009年的敏捷会议上提出的.他们 ...
- Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)
Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上) Jenkins+Docker+SpringCloud持续集成流程说明 大致流程说明: 1) 开发 ...
- Devops 开发运维高级篇之容器管理
Devops 开发运维高级篇之容器管理 安装docker Dockerfile镜像脚本入门制作 Harbor镜像仓库安装及使用 不过多解释docker直接秀基操 安装docker:(jenkins服务 ...
- Devops 开发运维高级篇之微服务代码上传和代码检查
Devops 开发运维高级篇之微服务代码上传和代码检查 微服务持续集成(1)-项目代码上传到Gitlab 微服务持续集成(2)-从Gitlab拉取项目源码 微服务持续集成(3)-提交到SonarQub ...
- PaaS平台型IT运维&运营模式能给企业带来什么?
关注嘉为科技,获取运维新知 什么是PaaS平台型IT自动化运维&运营模式 PaaS平台型IT运维和运维模式是指:将通用的运维能力与具体的运维场景解耦合,将能够复用的,具备独立功能的通用能力纳入 ...
- 平台工程101:Dev、Sec和Ops的自动化黏合剂
国际权威知名调研机构 Gartner 在<2023年最重要的10个技术趋势>报告中将平台工程(Platform Engineering)列为高速发展的技术趋势之一,并预测到2026年80% ...
- Seal AppManager发布:基于平台工程理念的全新应用部署管理体验
4月12日,数澈软件Seal(以下简称"Seal")宣布推出新一代应用统一部署管理平台 Seal AppManager,采用平台工程的理念,降低基础设施操作的复杂度为研发和运维团队 ...
随机推荐
- MindSponge分子动力学模拟——定义Collective Variables
技术背景 在前面的几篇博客中,我们介绍了MindSponge分子动力学模拟框架的基本安装和使用和MindSponge执行分子动力学模拟任务的方法.这里我们介绍一个在增强采样领域非常常用的工具:Coll ...
- xHook 源码解析
xHook 是爱奇艺开源的一个PLT Hook 框架 项目地址: https://github.com/iqiyi/xHook 该项目实现了 PTL/GOT Hook PTL hook 的本质是修改内 ...
- Mybatis模糊查询无法确定参数$1的数据类型: ERROR: could not determine data type of parameter $1
Mybatis模糊查询无法确定参数$1的数据类型: 报错ERROR: could not determine data type of parameter $1 修改前: SELECT count(0 ...
- 记一个 Andorid 生成文件失败的bug
Android生成文件失败:java.lang.IllegalStateException:Failed to build unique file: /storage/emulated/0/... 1 ...
- 【LeetCode回溯算法#01】图解组合问题
组合问题 力扣题目链接(opens new window) 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合. 示例: 输入: n = 4, k = 2 输出: [ [2 ...
- 第127篇:异步函数(async和await)练习题(异步,消息队列)
好家伙,本篇为做题思考 书接上文 题目如下: 1.请给出下列代码的输出结果,并配合"消息队列"写出相关解释 async function foo() { console.lo ...
- java GUI 快速入门
java 中编写 GUI 有两中工具包,分别为 AWT.Swing. Swing 是 AWT 的拓展,Swing 具有比 AWT 丰富的组件和方法. AWT 和 Swing 都能跨平台使用:AWT 会 ...
- 【XInput】手柄模拟鼠标运作之 .NET P/Invoke 和 UWP-API 方案
上一篇中,老周简单肤浅地介绍了 XInput API 的使用,并模拟了鼠标移动,左.右键单击和滚轮.本篇,咱们用 .NET 代码来完成相同的效果. 说起来也是倒霉,博文写了一半,电脑忽然断电了.不知道 ...
- C++ 函数指针,指针函数,左值右值
C++ 函数指针,指针函数,左值右值 1.函数指针 是一个指针类型的变量,存放的内容都是函数的指针,用来间接调用函数,格式如下: int add( int a, int b) { return a+b ...
- C++ //list容器 构造函数 //list赋值和交换 //list容器大小操作 //list插入和删除,移除 //清空 //list数据存取back(); front() //list 反转和排序
1 //list容器 构造函数 //list赋值和交换 //list容器大小操作 2 //list插入和删除,移除 //清空 //list数据存取back(); front() 3 //list 反转 ...