聊聊我所理解的平台工程

这篇具有很好参考价值的文章主要介绍了聊聊我所理解的平台工程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

聊聊我所理解的平台工程

聊聊我所理解的平台工程

Gartner 将平台工程列为 2024 顶级战略技术趋势之一。

说起平台工程(Platform Engineering) ,经常听到有人说是:新瓶装(平台工程)旧酒(DevOps)。

今天根据过去自服务平台的实践经验,聊聊我所理解的平台工程。

云原生平台

说到平台工程,不可不免地要聊聊云原生,不过这里不会针对是否转向云原生进行讨论。

云原生的三驾马车:微服务、Kubernetes、DevOps。根据过往的实践经验,我认为云原生技术平台的核心能力(包括但并不限于)可概括为:

  • 容器平台:专注于容器化技术和 Kubernetes 编排,实现应用的弹性、高效存储和网络通信。这为微服务和 DevOps 的实现提供了基础架构支持。
  • 微服务平台:集中管理微服务,包括统一的服务治理、配置管理、API 网关和支持多样的微服务框架,以适应复杂的服务交互和灵活的开发需求。
  • 监控平台:提供全方位的监控系统,包括日志收集、性能指标监控、链路跟踪、实时告警以及监控数据的可视化展示,助力于系统的稳定运行和故障迅速定位。
  • DevOps 集成平台:集成持续集成和持续部署(CICD)流程,以及文档中心和代码质量管理,实现自动化、高效和标准化的软件开发和运维流程。

对于风靡多年的云原生(近来也有降温的趋势?),业界的褒贬不一:提升了研发效率和资源的利用率,;浪费资源、部署维护困难、可观测性变差等等。

云原生技术所面临的众多负面反馈,很大程度上源于其本身的复杂性。云原生平台向开发人员展现了过多的复杂性。

云原生的复杂性

云原生技术,尽管带来了许多优势,比如灵活性、可扩展性和高效的资源利用,但同时也引入了一定的复杂性:

  • 技术栈的复杂性:云原生环境通常涉及到容器化、微服务架构、CI/CD、以及基于 Kubernetes 的容器编排等技术。这些技术各自有其学习曲线,并且技术之间需要集成并协同工作,增加了系统的整体复杂性。
  • 管理和运维的复杂性:在云原生环境中,应用程序通常被分解为多个微服务,每个微服务部署在不同的容器中,这使得监控、日志记录、故障排查和性能优化变得更加复杂。
  • 网络复杂性:微服务架构意味着服务之间有大量的网络通信,再叠加容器、混合多云的网络环境,管理这些服务间的网络流量、确保高可用性和网络安全,以及实现服务发现等都增加了网络管理的复杂性。
  • 可观测性和监控的挑战:确保对在不断变化的环境中运行的众多微服务有足够的可见性,需要复杂的监控和日志系统。
  • 安全挑战:云原生架构中的分布式和动态性质引入了新的安全挑战。例如,需要确保容器安全、服务间通信的安全,以及在动态环境中持续地管理和更新安全策略。

这些复杂性给开发人员带来了显著的摩擦和认知负担,从而降低了他们的开发体验。在专注于业务开发的开发人员与底层基础设施之间,形成了一个模糊的交界区域。平台工程正是专注于这个模糊地带,旨在缩小这一差距并简化开发流程。

平台工程是一个胶水层。

聊聊我所理解的平台工程

什么是平台工程

平台工程是一门在云原生时代为软件工程组织设计和构建工具链及工作流程的学科,旨在提供自助服务能力。平台工程师提供的综合产品通常被称为“内部开发者平台”,涵盖了应用程序整个生命周期的运营需求。

Platform engineering is the discipline of designing and building toolchains and workflows that enable self-service capabilities for software engineering organizations in the cloud-native era. Platform engineers provide an integrated product most often referred to as an “Internal Developer Platform” covering the operational necessities of the entire lifecycle of an application.

  • 来自 平台工程社区的介绍

平台工程致力于构建和维护一个桥梁,这座桥梁把复杂的基础设施转化为简化的抽象,使得开发人员能够专注于业务逻辑的开发,无需深入钻研底层技术细节。同时,他们也努力将业务逻辑层的通用功能整合并下沉,进一步简化开发流程。

此处,我更倾向于将“工程”理解为一个动词,即对平台进行工程化。

什么是工程化

软件开发的过程标准化、系统化和规范化是为了提高软件开发效率、质量和可维护性。这三个方面通常包括以下内容:过程标准化、系统化、规范化。

  • 过程标准化:定义标准流程、文档标准、代码规范、复用和模块化。
  • 系统化:工具和平台的统一、自动化、服务管理系统。
  • 规范化:质量控制标准、安全和合规性、性能标准。

随着平台工程化水平的提升,开发人员得以享受到更高水平的自服务能力。这样的自服务平台的实施,进一步缩短了开发人员与基础设施平台之间的距离,使得开发人员能够更便捷地使用平台资源,而无需深入了解底层技术细节。

自服务平台正是工程化的产物,或者是平台工程的具象化。

自服务平台

自服务平台使开发人员能够直接管理和操作资源,让他们亲自参与到软件的整个生命周期中,同时无需关注幕后的基础设施和实现细节,并减少了平台团队成员的直接介入。这种平台遵循着“You build it, You run it”的理念,但不强求开发人员深入理解底层技术(“Know-how”)。

从我的角度看,自服务平台更像是流程和工具的结合体。在工具层面,无论是开源还是商业软件,都提供了对通用能力的抽象。然而,在流程方面,由于每个企业都有自己特定的管理需求和对支撑部门的依赖,流程设计上会有所不同。虽然工具可能实现标准化,但流程很难做到这一点。

总结

我认为,将平台工程简单比喻为‘新瓶装旧酒’是不够全面的。实际上,平台工程代表的是对传统方法(例如 DevOps)的进一步沉淀和提升,为其赋予了新的表现形式和能力。

在技术与人的互动中,我们不应该忽视连接和协调的重要性。软件系统作为现实世界的一个反映,应当始终坚持以人为本的原则。

关注"云原生指北"公众号
(转载本站文章请注明作者和出处乱世浮生,请勿用于任何商业用途)文章来源地址https://www.toymoban.com/news/detail-814718.html

到了这里,关于聊聊我所理解的平台工程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 聊聊ChatGLM-6B部署与微调的深入理解

    ChatGLM的部署,主要是两个步骤: 在Github上下载chatglm的库文件 在Hugging Face上下载模型参数与配置文件 从Github上看ChatGLM项目文件的结构来看,仅仅是包含三种部署方式的py代码与微调的py代码 而相关的实现细节,比如神经网络、激活函数、损失函数等具体的实现,并不在该项

    2024年02月03日
    浏览(53)
  • 技术应用:Docker安全性的最佳实验|聊聊工程化Docker

    🔥 技术相关:《技术应用》 ⛺️ I Love you, like a fire! 不可否认,能生存在互联网上的软件都是相互关联的,当我们开发一款应用程序时,它必须与其他的服务进行通信,无论是在你的基础设施,还是云服务,亦或是第三方应用程序上。当然,你不希望你不认识的人伪装成你

    2024年02月13日
    浏览(36)
  • 我所知道的Handler

    简单讲,handler就是两个功能 插入消息,enqueuemessage,msg,when 从消息队列中遍历所有消息,比对msg.when和当前的when,找到合适的位置插入 处理消息,looper.loop会从messagequeue中调用next。取消息,如果消息还没到时间该执行,就会比对时间,下次轮询就通过binder写入,native函数休

    2024年02月05日
    浏览(31)
  • 前端工程化详解——理解与实践前端工程化

    前言: 前端工程化一直是一个老生常谈的问题,不管是面试还是我们在公司做基建都会经常提到前端工程化,那么为什么经常会说到前端工程化,并没有听过后端工程化、Java工程化或者Python工程化呢?我们理解的前端工程化是不是一直都是Webpack的性能调优,或者是一个cli工

    2024年02月02日
    浏览(82)
  • 前端需要理解的工程化知识

    1.1 Git 常见工作流程  Git 有4个区域:工作区(workspace)、index(暂存区)、repository(本地仓库)和remote(远程仓库),而工作区就是指对文件发生更改的地方,更改通过git add 存入暂存区,然后由git commit 提交至本地仓库,最后push推送到远程仓库。 工作目录 包括.git 子目录(

    2024年02月10日
    浏览(73)
  • 镜像法的理解——工程电磁场 P9

    此处有几点理解需要格外谈一下 1. 只有在有电力线的地方,才会产生电场的作用 2.对于下平面的分析,下平面如果存在电荷的话,必然存在电力线,那么从无穷远处做功到此处,必然会存在电势,而表面接地,电势为0,两者相矛盾 3.对于镜像电荷的等效,我们可以用另一个

    2024年02月09日
    浏览(40)
  • 数仓工程师理解复杂业务的思考方法论

    模型设计框架(业务过程驱动)还是在经典的三层数据模型架构下去进行,概念模型、逻辑模型、物理模型 首先概念模型其实是业务过程(流程图),其中需要考虑到几个方面: 1.数据 业务覆盖 业务感知、全业务流程图 2.过程 建模过程 实操       3.服务 服务流程 流程把

    2024年02月10日
    浏览(39)
  • Gartner DSG数据安全治理 架构及解读

    目录 背景: 架构图:  解释: 英文解释:(自上而下) 平衡业务与风险、威胁、合规之间的关系(5个维度之间的平衡) 优先处理数据集 制定安全策略 实施安全工具 策略配置同步 在Gartner2017 安全与风险管理峰会上,分析师Marc-Antoine Meunier发表《2017年数据安全态势》演讲,

    2023年04月09日
    浏览(45)
  • 云计算平台与传统平台的区别是什么?怎么理解?

    云计算已经风靡全球,且应用越来越广。生活中我们经常可以听到云计算这个词,但到底什么是云计算?云计算平台与传统平台的区别是什么?怎么理解? 什么是云计算? 准确的说,云计算只是一种计算的方式,不是租用资源的方式,但是云计算资源服务我们能以租用的形

    2024年02月11日
    浏览(43)
  • 平台工程助力企业提升研发效能

    随着互联网、云计算、人工智能等技术的发展,软件行业的竞争日益激烈,用户的需求和期望也越来越高。与此同时,软件开发的挑战日益复杂,涉及多个层次、技术和服务。软件开发人员需要掌握更多的知识和技能,同时面对更多的问题和风险。为了更好地应对挑战和风险

    2024年02月03日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包