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,采用平台工程的理念,降低基础设施操作的复杂度为研发和运维团队 ...
随机推荐
- NC20325 [SDOI2009]HH的项链
题目链接 题目 题目描述 HH有一串由各种漂亮的贝壳组成的项链. HH相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一 段贝壳,思考它们所表达的含义. HH不断地收集新的贝壳,因此他的项链 ...
- 跨越千年医学对话:用AI技术解锁中医古籍知识,构建能够精准问答的智能语言模型,成就专业级古籍解读助手(LLAMA)
跨越千年医学对话:用AI技术解锁中医古籍知识,构建能够精准问答的智能语言模型,成就专业级古籍解读助手(LLAMA) 介绍:首先在 Ziya-LLaMA-13B-V1基线模型的基础上加入中医教材.中医各 ...
- [BUUCTF][WEB][ACTF2020 新生赛]Upload 1
打开靶机url,右键查看网页源代码 其中有一段代码 <div class="light"><span class="glow"> < ...
- Hi3516开发笔记(九):在QtCreator开发环境中引入海思sdk的bsp包,运行显示Qt界面
前言 之前启动Qt界面程序失败了,是因为需要引入HiSDK的BSP中的HiMPP,并对HiMPP进行初始化设置. 在sdk中查询海思SDK头文件和库 在Qt中调用海思BSP 在 ...
- itertools.chain.from_iterable()将嵌套列表合并成一个
from itertools import chain a = [[1,2],[3,4]] print(chain.from_iterable(a)) # [1,2,3,4]
- portainer docker可视化工具
下载可视化工具 docker pull portainer/portainer 启动portainer --restart=always 只要挂掉了 就自动重启 docker run -d -p 80 ...
- Kotlin 协程三 —— 数据流 Flow
目录 一.Flow 的基本使用 1.1 Sequence 与 Flow 1.2 Flow 的简单使用 1.3 创建常规 Flow 的常用方式: 1.4 Flow 是冷流(惰性的) 1.5 Flow 的 ...
- React 组件之样式
无论你的梦想有多么高远,记住,一切皆有可能. 我们从前面的学习知道一个 React 组件不仅仅只包含 DOM 结构的,还应该样式和 Javascript 逻辑的.这里我们学习下如何构建 CSS 样式. ...
- Oracle设置日志参数-ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
要实现两个数据库之间的实时同步,需要给Oracle设置参数 ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; -- 执行了12小时,等待数据库中的其它事务都提交以后才 ...
- 【LeetCode链表#6】移除链表元素
移除链表元素 题目 力扣题目链接(opens new window) 题意:删除链表中等于给定值 val 的所有节点. 示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 ...