平台模型是我们在这个领域看到越来越多的方法,它源于负责产品或服务的端到端交付的产品团队的理念。

如果只应用于单一的产品,或者几个产品,它的效果很好。 但如果有数百种产品或服务,把一个产品团队用于这些产品,对每一个来说都是低效和昂贵的。

想象10个团队,每个团队都有自己的技术栈、工具链和流程。 会一直重复解决类似的问题、花太多的时间来评估技术、集成、维护基础设施等等。 这些时间可以更好地花在建立和改进产品团队负责的实际产品上。

缺乏标准化的技术和流程也造成其他问题:

●管理变得昂贵,几乎不存在管理
●独立的堆栈减少了整个组织的知识共享
●许多产品团队实际上没有能力来运行完整的基础设施和应用程序。许多开发人员将基础设施操作视为分散他们实际工作的注意力,因此他们从不真正关注它。

虽然拥有多个端到端产品团队并不能很好地跨越大型复杂环境,但由清晰目标、边界和责任定义的平台模型却能做到 一个由用户建立在心中的平台,可以大大减少单个产品团队的辛苦和开销。

广义地说,平台团队提供基础设施、环境、部署管道和其他内部服务,使内部客户(通常是应用程序开发团队)能够构建、部署和运行其应用程序。
Evan Bottcher定义的数字平台在这时可以起作用:“作为一种令人信服的内部产品的自助服务API、工具、服务、知识和支持的基础。自主交付团队可以利用该平台以更快的速度交付产品功能,同时减少协作。”

自助服务是“一个好平台的一个关键特征。具体来说,它应该允许自助服务供应、自助服务配置、自助服务管理和平台功能和资产的运营。”

平台模型通常与本地云环境相关联,也适用于从古到今的许多其他类型的体系结构。主要优势有:

●应用团队可有更具效率。他们不必是基础设施运维方面的专家,也不必对工具链中的每种工具都有深入的了解,因而他们能够专注于产品。应用程序开发人员不再需要等待集中化的团队来为他们提供测试环境或云资源,而由此产生的自治性使他们能够更快地工作。

●改善管理。如果您的所有应用程序都运行在完全不同的基础架构堆栈上,使用不同的流程,那么您就无法有效地管理成本、遵从性和审计。一个有效的平台能带来高效的IT治理,同时授权应用程序团队快速交付。

●结束环境切换。不断地在应用程序和基础设施操作之间切换注意力是对生产力和创造力的巨大消耗。当个体工人和团队能够专注于自己特定的环境时,他们的境况会更好。

●持续改善基础设施。一个提供面向客户解决方案的公共平台,而不仅仅是对基础设施的原始访问,使组织具有更大的灵活性。平台的消费者不与基础设施堆栈的具体实现挂钩,因此平台团队可以迭代地替换和升级组件,并且只需要与应用程序团队进行最小程度的交互。

内部平台的使用

在对平台的讨论中,我们使用“内部平台”一词来表示由组织和为组织构建的平台。我们将这些平台与外部供应商提供的平台区分开来——例如,许多人认为AWS或其他IaaS产品是
“平台”。在调查中,我们将平台团队定义为那些负责维护其他团队用于构建和交付应用程序或服务的自助服务平台的团队。

我们提出了两个问题来衡量一个组织对内部平台的使用:
• 您的开发人员使用自助服务平台的百分比是多少?

• 哪些服务可供自助服务?

我们发现平台的使用在调查受访者中非常广泛。百分之六十三的人说他们至少有一个自助内部平台。 在拥有内部平台的人中,60%的人在拥有二到四个平台之间。在拥有内部平台的公司中,几乎有三分之一的公司有26%至50%的开发者使用该平台。

2020DevOps状态报告——平台模型:扩展DevOps的新方法的更多相关文章

  1. 2020DevOps状态报告

    这是Puppet报告的走过的第九个年头,本次报告基于对2400名IT.开发.信息安全行业的技术人员的调研,着重勾画了DevOps状态的两大趋势:平台模型.需求变更的管理.多年来,我们已经证明了DevO ...

  2. 2020DevOps状态报告——变更管理

    如果你的公司还没有走向平台化,现在仍然可以是很大的飞跃.您仍然可以通过解决公司的变更管理流程来加快软件交付.在本章中,我们将研究我们在公司内部所学的变更管理模式.我们将向您展示什么是有效的,什么是无效 ...

  3. ES6扩展——数组的新方法(Array.from、Array.of、Array.fill、Array.includes、keys values entries 、find)

    1.Array.from(objec,回调函数)将一个ArrayLike对象或者Iterable对象(类数组对象)转换成一个数组 1)该类数组对象必须具有length属性,用于指定数组的长度.如果没有 ...

  4. RightScale 2019年云状态报告:公共云快速增长 微软Azure增长最快

    https://www.rightscale.com/ 全球云管理服务厂商RightScale发布了年度云状态报告,今年报告的十大主要内容包括:企业在多云平台上投入巨资.公共云继续快速增长,但是私有云 ...

  5. 扩展 ASP.NET MVC 模型扩展 – ASP.NET MVC 4 系列

           大部分人不能将核心运行时(System.Web 中的类)和 ASP.NET Web Forms 应用程序平台(System.Web.UI 中的类)区分开来.        ASP.NET ...

  6. 基于UML网络教学管理平台模型的搭建

    一.基本信息 标题:基于UML网络教学管理平台模型的搭建 时间:2013 出版源:网络安全技术与应用 领域分类:UML:网络教学管理平台:模型 二.研究背景 问题定义:网络教学管理平台模型的搭建 难点 ...

  7. User模型扩展和自定义

    参考如下: django文档参考 django signal使用总结 django 信号注册 django信号问题1 django oneTooneFiled     1. django 自定义用户u ...

  8. 基于Wiki的知识共享平台模型架构

    一.引言 当今的全球化知识经济社会中呈现出信息泛滥和知识更新周期短的现象,知识管理逐渐成为现代企业管理中不容忽视的一环.虚拟企业是基于共识目标而组成的动态协作组织,成员参与的流动性与各成员之间地域分布 ...

  9. FreeBSD 宣布 2020 年第 4 季度状态报告

    FreeBSD 宣布 2020 年第 4 季度状态报告● 继续努力从 FreeBSD 基本系统中移除 GPL 协议的软件,以实现 FreeBSD 项目基本目标.● Linux 二进制兼容层的 Linu ...

随机推荐

  1. 转:为什么浏览器的user-agent字符串以'Mozilla'开头呢?

    本文转自:https://blog.csdn.net/S_gy_Zetrov/article/details/79463093 感谢sgyzetrov翻译 如果熟悉元素审查的童鞋,很多都会发现requ ...

  2. Zookeeper的基本原理(zk架构、zk存储结构、watch机制、独立安装zk、集群间同步复制)

    1.Hbase集群的高可用性与伸缩性 HBase可以实现对Regionserver的监控,当个别Regionserver不可访问时,将其负责的分区分给其他Regionsever,其转移过程较快,因为只 ...

  3. CSP-S2020复赛游记

    [本文经过删改] 前一个月 没做什么 NOIP 的题,感觉这些题对我这个做黄题封顶的人不是很友好. 前一天 考了场模拟赛,全场最低分 89,感觉信心满满. 退役那天 到了 XJ,发现没人可以面基,想着 ...

  4. C# 9.0中引入的新特性init和record的使用思考

    写在前面 .NET 5.0已经发布,C# 9.0也为我们带来了许多新特性,其中最让我印象深刻的就是init和record type,很多文章已经把这两个新特性讨论的差不多了,本文不再详细讨论,而是通过 ...

  5. 【JAVA基础&Python】静态/非静态代码块

    /* * * static静态代码块: * 调用静态属性的时候 对应类里面的静态代码块就会被直接执行 * 注意: 只会执行一次,只能调用类内静态结构的(方法/属性) * 作用: 初始化类的属性 * * ...

  6. Ubuntu系统升级

    转自:Ubuntu14.04升级到18.04 查看当前版本 lsb_release -a 执行更新 apt-get update apt-get upgrade apt dist-upgrade 重启 ...

  7. 简易CLI

    使用C语言实现一个简易的CLI,命令通过模式进行划分,实现效果如下: 代码较为简单,主要是为了方便进行移植,这里就不进行详细的说明了. 代码路径:https://github.com/zhengcix ...

  8. vue第十七单元(电商项目逻辑处理,电商划分)

    第十七单元(电商项目逻辑处理,电商划分) #课程目标 1.什么是电商项目 2.什么是B2B,B2C,C2C模式,常见的电商项目 3.移动端电商项目常见的逻辑处理 4.[知识扩展]传统系统架构及分布式系 ...

  9. openstack高可用集群15-后端存储技术—GlusterFS(分布式存储)

         

  10. 说说在 Python 中如何快速复制序列

    1 基本用法 把序列乘以一个整数,就会产生一个新序列.这个新序列是原始序列复制了整数份,然后再拼接起来的结果. l=[1,2,3] l2=l * 3 logging.info('l2 -> %s ...