关于 IDP 的五大认知误解
内部开发者平台(IDP)是近年来在希望加快软件交付和改善开发者体验的企业中得到普及的一个概念。然而,大众对于什么是 IDP 以及它能为开发者和企业带来什么也有很多困惑和误解。在这篇文章中,我们将尝试解开一些关于平台工程以及 IDP 的常见误解,以及关于企业该如何避免进入这些误区给出一些建议。
关于 IDP 的常见五大误解
之前我们了解过 IDP 和平台工程的基本概念。IDP 实际上是一套标准化的工具和技术,能够实现开发人员的自我服务,为他们在日常工作中创建和部署符合要求的代码提供便利的途径。IDP 抽象了底层基础设施的复杂性,并与现有的 CI/CD 和部署流程相结合,使开发人员能够专注于他们的代码和业务逻辑。在本文中,我们总结了关于 IDP 的五大误区。
IDP 仅仅是一个工具集合
有些人可能会简单地认为 IDP 仅仅是一个开发者常用的工具集合,帮助开发者们去执行各类任务,例如版本控制、测试、CI/CD、监控等等。实际上,IDP 的用处远不止这些,IDP 不仅仅是一个工具链,它更是一个以无缝和连贯的方式整合这些工具的产品,同时为开发者提供清晰的界面和工作流程。
当然,IDP 并不是完美适配一切公司的万能解决方案。各个企业的堆栈、文化、代码库和工具集都会因业务内容有所区别,因此企业及开发者需要根据自身的需求和偏好对 IDP 进行定制。例如,有一些企业更偏向于使用 Kubernetes 作为他们的协调层,而其他企业则倾向于选择不同的解决方案。IDP 还应当允许企业在保持定制和可拓展性的同时,仍然保持一致性和操作的简便性。
只有大型企业才能用 IDP
在之前我们提到过,当企业拥有复杂和分布式系统、多个团队和环境,并对可拓展性和可靠性有高要求,构建 IDP 能够使这些大型组织受益。但这里并不是说只有大型企业才能使用 IDP,相反,任何旨在提高软件交付速度、效率和质量的企业都可以构建自己的 IDP 并从中受益。
IDP 同样可以有效帮助中小型企业组织,让他们从最开始就采用最佳实践和标准,而不必在建立和维护自己的基础设施和工具方面投入过多的时间和资源。IDP 可以通过自动化重复性任务和减少人工错误来降低 DevOps 团队的操作负荷。这样 DevOps 团队就可以专注于建设和维护平台,而不是花费大量时间来回应和解决来自开发人员的 tickets 和 requests。同时,IDP 通过提供一个简单和一致的界面来访问平台的功能,有效改善开发者体验。开发人员可以进行自我服务,在不用了解复杂的工具链和配置的情况下运行他们的应用程序。最重要的是,IDP 能够允许开发人员使用平台上的功能尝试和实验新的想法,测试不同场景,并进行相应优化,从而提高软件产品的创新程度和价值。
IDP 无所不能
我们想聊的关于 IDP 的另一个认知误区是,人们认为 IDP 能够解决开发者在日常工作中面临的所有问题和挑战。现实是,IDP 只是一个帮助开发者高效工作的平台,为开发者提供一个标准化过程、可靠的平台和一个具有支持性的环境,但它并不是一个无所不能的万能解决方案。
直白地讲,IDP 无法消除开发者沟通、协作、反馈、学习、测试或创新的需要。也就是无论企业是否拥有 IDP,开发人员始终需要与其他团队及他们的客户进行交流。开发人员需要了解他们的业务领域、技术领域、用户需求等,开发者还是得编写代码,然后进行测试、调试、监控和改进。
IDP 总能零失误构建/部署
另一个关于 IDP 的误解是 IDP 可以保证应用程序的构建或部署完美无缺。
事实上构建软件、系统和平台是十分复杂的过程。构建是将源代码打包成应用程序工件的过程,构建可能由于各种原因而失败,例如语法错误、缺少依赖项、不兼容的版本或配置。而部署是将应用程序构件从暂存环境转移到生产环境的过程,部署也会由于各种原因失败,例如网络问题、配置错误、资源限制、安全漏洞或性能问题。
在这个过程中有各种范式和技术需要采用,工程师们需要进行大量的筛选和选择。而在构建或部署的过程中,开发人员还需要根据业务内容需求和调整学习新的东西。因此,即便拥有 IDP,企业在构建和部署应用程序时需要测试、监控和故障排除,以确保构建和部署的质量和可靠性。同时,拥有 IDP 也依旧需要在进行部署时考虑对用户和客户的影响。企业仍然需要遵循持续集成、持续交付和按需发布的最佳实践。
平台访问总是安全的
最后一个误解是大家想当然地认为平台的访问是绝对安全的,符合企业的所有政策和法规。然而安全性和合规性并不是静态的概念或一次性的要求,恰恰相反,安全和合规是动态且持续的过程,需要企业不断地跟进、适应并相应调整。结合企业内部和外部因素,安全威胁及合规要求可能随时发生变化。
因此企业的 IDP 需要有一个强大的安全态势和合规性框架,涵盖平台生命周期的方方面面,例如认证、授权、加密、审计、日志、监控、报告等。同时 IDP 应当遵循安全最佳实践和标准,比如最小权限原则、深度防御策略及安全设计方法等。与此同时,企业需要定期对 IDP 进行更新和修补,预防潜在的漏洞和风险带来的安全威胁。
企业如何避免陷入 IDP 认知误区
那么企业应当如何避免陷入 IDP 认知误区以更好地利用其优势呢?这里我们总结了三个要点供企业参考。
采用产品思路
IDP 不仅仅是一个技术项目,而是一个为企业开发人员提供服务的产品。因此,在建立和运行 IDP 时,企业需要采用产品的思路心态。在构建 IDP 时,建议企业考虑并尝试做到:
需要尽可能去了解内部开发者的需求、期望、偏好和反馈。
在设计 IDP 时以用户为中心,同时考虑到 IDP 可用性、可及性和使用简易性。
以敏捷性、质量、可靠性和安全性为前提来交付 IDP。
通过数据驱动的洞察力、实验和创新来改进企业的 IDP。
采用产品思维将会助力企业创建一个实用且有价值的 IDP,为开发人员解决实际问题,为企业提供价值,并以良好的开发人员体验更好地服务于企业用户。
让开发者尽早参与进来
这里我们需要明白 IDP 并不是企业为开发者建立的平台,而是企业和开发者共同建立的。因此,企业需要让开发者们尽早并积极参与到 IDP 建设项目中,并尝试做到:
征求开发者们对 IDP 的愿景、战略、功能和设计的意见和反馈。
让开发者们参与 IDP 的开发、测试、部署和操作。
赋予开发者们使用 IDP 的自主性、灵活性和自我服务的权力。
对开发者们进行相关培训,以深入了解 IDP 的好处、使用方式和最佳实践。
尽早和经常地让企业的开发人员参与进来,有助于企业与开发者们建立信任关系,这样能够更好地了解他们的需求和期望,确保他们对 IDP 的采用度和满意度,从而培养合作和创新的文化氛围。
平衡抽象和透明度
一个好的 IDP 应该抽象出底层工具和技术的复杂性和操作。当然,这并不意味开发人员可以对底层工具和技术一无所知。企业在建立和使用 IDP 时,需要对底层技术与工具的抽象和透明度进行平衡。具体来说就是:
充分将底层工具与技术抽象出来,从而简化和规范开发者的工作流程。
保证底层工具和技术的透明度,以便开发者更好地进行了解。
提供足够的访问和控制,让开发人员能够定制他们的应用程序并在需要时进行故障排除。
保证 IDP 可见性和可观察性,以监测和优化其应用程序的性能和质量。
平衡好抽象和透明度能够帮助企业更好地构建 IDP,从而为开发者们提供充足的背景信息和知识,有效降低开发人员的认知负荷,这样开发人员就可以更高效地构建高质量的软件。
总结
IDP 是一个强大的工具,它可以帮助企业通过简化应用开发流程,更快更有效地交付数字产品。但是如果企业带着对 IDP 的认知误区和误解,可能会大大降低其采用的效果,因为这些误区往往会导致企业产生不切实际的期望、作出错误的决定、最终浪费资源或错过商业机会。为了避免这些误区,企业需要充分了解 IDP 的真正性质和价值,以及最佳实践。
关于 IDP 的五大认知误解的更多相关文章
- %iowait和CPU使用率的正确认知
resources 理解 %IOWAIT (%WIO) LINUX系统的CPU使用率和LOAD Linux Performance Observability Tools How Linux CPU ...
- CSS魔法堂:你一定误解过的Normal flow
前言 刚接触CSS时经常听到看到一个词"文档流",那到底什么是"文档流"呢?然后会看到"绝对定位和浮动定位能脱离文档流",从这句可以看到文 ...
- Java程序员需要注意的五大Docker误区
Docker现在很火,容器技术看上不无所不能,但这实际上是一种误解,不要被炒作出来的泡沫迷住双眼,本文抛去炒作,理性地从Java程序员的角度,列举出Docker目前的五大误区,帮助你更好地理解Dock ...
- AIOps 平台的误解,挑战及建议(中)— AIOps常见的误解
本文篇幅较长,分为上,中,下,三个部分进行连载.内容分别为:AIOps 背景/所应具备技术能力分析(上),AIOps 常见的误解(中),挑战及建议(下). 前言 我大概是 5,6 年前开始接触 ITO ...
- 让人非常easy误解的TCP拥塞控制算法
正文 非常多人会觉得一个好的TCP拥塞控制算法会让连接加速,这样的观点是错误的.恰恰相反,全部的拥塞控制算法都是为了TCP能够在贪婪的时候悬崖勒马,大多数时候.拥塞控制是减少了数据发送的速度. 我在本 ...
- 三年同行,质造未来,腾讯WeTest五大服务免费体验
WeTest 导读 2018年10月26日,腾讯WeTest将正式迎来三周岁生日.三周年庆典期间,只要在WeTest平台注册的用户,均可免费体验标准兼容.云真机.压测大师.手游安全扫描.应用安全扫描等 ...
- 数据、模型、IT系统认知
数据.模型.IT系统认知 量化投资定义 量化投资主要是指通过数理模型来实现投资理念,由计算机产生交易策略的一种投资方法. 量化投资是一种方法论,而不是具体的交易策略. 通常与基本面.技术面分析相结合. ...
- 猎豹全球智库执行院长:中国App出海的三大规律和最具代表的五大垂直品类
https://36kr.com/p/5100078 中国出海还是处于一个黄金时代. “国内互联网公司的竞争越来越白热化,出海的时间点变得越来越紧迫,”在36氪日前举办的“WISEx新出海行业峰会”上 ...
- 震惊!当Python遇到Excel后,将开启你的认知虫洞
本文主要内容: 1. Excel,你为什么如此强大 2. 软件开发也需要团队作战 3. Excel的集成方案演化 4. macOS特有的集成方案:applescript 5. Python与Exc ...
- Azure认知服务之表格识别器
认知服务 Azure 认知服务的目标是帮助开发人员创建可以看.听.说.理解甚至开始推理的应用程序. Azure 认知服务中的服务目录可分为五大主要支柱类别:视觉.语音.语言.Web 搜索和决策.开发人 ...
随机推荐
- 2月22日javaweb学习之Maven
Maveb是专门用于管理和构建java项目的工具,它的主要功能有: 1.提供一套标准化的项目结构. 2.提供一套标准化的构建流程(编译.测试.打包.发布......) 3.提供了一套依赖管理机制 Ma ...
- Python pexpect 库的简单使用
一.Python pexpect 库的使用 在终端中许多命令都有与用户交互的场景,例如切换用户时需要手动输入密码,安装应用有时要输入默认配置等.这对 shell 自动化脚本十分不便.expect 命令 ...
- 2019 CSP J/S第2轮 视频与题解
CSP入门组和提高组第二轮题解 转自网络
- ajax的简单应用
jsp文件: <%@ page import="java.text.SimpleDateFormat" %><%@ page import="java. ...
- 2html5
多媒体标签 <audio> <audio src='../audio/bxb.mp3' controls="controls" autoplay="au ...
- HTML基础知识学习
一.HTML概述 1.系统结构: ①.B/S架构 Browser Server(浏览器/服务器的交互形式.) Browser支持哪些语言:HTML CSS Javascript S是服务器端Serve ...
- IT工具知识-14:如何通过adb操作安卓剪切板?
1.安装apk 下载地址 2.运行服务(每次重启系统都需要运行一次) adb shell am startservice ca.zgrs.clipper/.ClipboardService 3.设置剪 ...
- unittest框架基本使用
1.简介 unittest是python内置的单元测试框架,具备编写用例.组织用例.执行用例.输出报告等自动化框架的条件.使用unittest前需要了解该框架的五个概念: 即test case,tes ...
- Hive:FAILED: LockException [Error 10280]: Error communicating with the metastore
1.问题示例 使用hive直接选择查看表中数据报错,而相同语句在spark-sql却不报错. 实在无力吐槽hive了,因它受伤太多了. (1)使用hive hive (test)> select ...
- APP 监听手机键盘是否弹出
/** * 监听键盘是否弹出 * @param show * @param hide */ export const addEventKeyboardStatus = (show,hide)=> ...