DevOps即服务:克服大型组织中的挑战

前言

翻译自 https://blog.sonatype.com/devops-as-a-service

DevOps转型可能需要组织文化和“完成方式”的重大转变。这在任何组织中都可能很难实现,但随着组织规模的扩大而变得越来越困难。当您达到美国政府的规模时,实施DevOps似乎是无法克服的。但这是可以完成的。

对于许多组织(尤其是政府机构)而言,安全控制可能是主要重点,并且是“不实施DevOps的原因”之一,因为安全专业人员错误地认为将控制权移交给其他人或使流程自动化会削弱安全性。做得好,它使应用程序更安全。但是,实施必要的更改的障碍可能很大,尤其是在流程和等级制效率高的官僚机构中。

Janek Claus和Svetlana Yazhuk在通用动力信息技术公司工作,为客户实施DevOps。Svetlana是一名DevOps工程师,为一个大型美国政府机构提供了一个平台,用于持续部署容器化应用程序。在去年的全天DevOps会议上,他们共同分享了克服的挑战和正在使用的平台。

Janek提出了一些使用DevOps改善应用程序安全性的挑战。它们适用于任何大型组织,某些特定于美国政府。

1

人才短缺


Janek引用了一份美国政府的报告,该报告涉及雇用和保留足够的安全专家方面的挑战,该报告指出74%的代理机构处于“风险中”或更高。当然,在许多其他行业和组织中也是如此。政府也看到了招聘和保留方面的挑战,因为员工希望在现代环境中工作。培训员工也很困难,因为-众所周知-中断了每个人都想做的工作。

Janek涵盖的一些解决方案包括:

  • 将自动安全性纳入流水线

  • 为开发人员和测试人员提供安全工具

  • 使用持续安全

  • 游戏化培训,例如代码扑灭案

2

功能简仓


如果您花了至少10分钟学习有关DevOps的知识,您就会听说有必要打破组织中的孤岛。孤岛分开的团队和交接使流程复杂化。两种解决方案包括:

  • 使用Conway法则的原理为您的组织建模-构建类似于您的目标的组织

  • 创建一个提供DevOps即服务的平台团队

3

改变的犹豫


人们自然讨厌改变。这是自然法则。您无法更改,但是可以向人们展示更改的价值,因此更改的欲望克服了自然的阻力。改变文化尤其具有挑战性,但必须正确实施DevOps文化。正如著名的商业策略师彼得·德鲁克(Peter Drucker)所说,“文化是吃早餐的策略。”

您可以做什么来改变文化:

  • 确保持续的行政管理支持和长远的眼光

  • 提供有关工具,概念和具体实施步骤的培训,辅导课程等,但请确保以对正常工作流程造成最少干扰的方式提供它们服务的平台团队

4

权威到运营


机构运营权(ATO)是美国政府的一个特定术语,但是该概念可以在各个组织中找到。本质上,安全性需要批准一个应用程序或什至是较大应用程序的子集才能在系统上运行。

例如,您可能需要为要在大型应用程序中使用的库获取ATO。这可能是一个耗时和资源消耗的过程,可能需要数月甚至更长的时间。它还阻碍了该解决方案的最佳工具的可用性。如果您可以利用云解决方案,或者甚至更好地利用DevOps即服务,则这些服务的ATO可以满足您需要的许多项目。这样就无需为每个应用程序使用单独的ATO。

5

安全的DevOps工具集成


不要忘记,您的DevOps工具链也需要保护。使用数十种工具,每种工具都有自己的特权和凭证,安全风险随之增加。使用秘密管理和解决方案在整个DevOps管道中提供集成的凭据管理,有助于减轻负担并加强安全状况。

6

保护软件供应链


Janek指出,这些天来,应用程序代码的80-90%可能不是您自己的代码。商业和开源组件有助于提高应用程序开发效率,但是您需要采取步骤以确保连续不断地管理代码的漏洞。确保您具有在使用库之前对其进行扫描的工具,并在开发,测试,部署和生产过程中持续监视应用程序。此外,利用现有的开源情报,并使用将人类情报注入扫描的工具。

       

往期内容推荐

Kubernetes中pod资源对象管理

Jenkins开源版系统高可用架构设计

Jenkins流水线环境变量权威指南

SonarQube代码扫描模式

Gitlab+Drbd高可用方案(主备模式)

DevOps持续集成

更多精彩 请关注公众号

本文分享自微信公众号 - DevOps云学堂(idevopsvip)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

DevOps与CICD的区别 及 docker、k8s的CICD思路

1\.DevOps简介DevOps就是开发(Development)、测试(QA)、运维(Operations)这三个领域的合并。image.png为什么要合并这三个领域?主要是开发和运维的脱节。DevOps是一种思想、一组最佳实践、以及一种文化。DevOps落地实施,从组织架构、设计人员、流程、人员分工、人员技能到工具,变化

一份DevOps工程师职责清单,待你查阅

如果一个组织的开发人员和运维人员是独立工作的模式,实施DevOps就需要对组织进行大的调整。因为,只有具备合适的组织人员,文化和工具来才能成功实施DevOps。根据显示,实施DevOps的最常见的障碍之一是员工缺乏技能。什么是DevOps工程师?DevOps工程师是一位IT专家,应该对开发和运维工作都有广泛的了解,包括编码,基础