云中的DevOps 来自Copado的云部署和开发的最佳实践和陷阱

随着云计算实现的规模和范围不断扩大,成功管理这些服务的部署和开发过程变得越来越具有挑战性。当公司尝试将传统的软件开发实践(例如DevOps)用于其云服务时,它们通常会遇到独特的问题。

为了更好地了解公司如何将DevOps用于大规模云部署,我与Copado产品副总裁David Brooks进行了交谈,该公司为Salesforce平台提供了DevOps平台。在此之前,David是Salesforce AppExchange的初始产品经理。我在布鲁克斯采访的视频嵌入在本文的顶部,下面是成绩单。

当今的云计算系统规模庞大,遍布全球

Bill Detwiler:是什么使大规模的云服务部署与传统的本地系统和软件相比有所不同,并且可能更加困难?

大卫·布鲁克斯(David Brooks):好吧,我首先要说的是规模。该云系统今天是巨大的。他们遍布全球。当我们进入这个游戏时,我们看到了比预期更大的实现。您必须记住,它是全球用户,它不仅是位于北美的单个组织,可能有两个城市,有数百个用户,甚至数千个用户。每天24小时在多个时区的全球成千上万的用户。今天从来没有太阳落在这些实现中的某些实现上。有数百种环境参与其中。从发布ERP应用程序的那一天开始,云计算的速度每年一次(每两年一次)发生变化。您进行几次SAP升级,对吗?如果您能帮助的话,这种情况并不常见。

但是,有了CRM系统,再加上销售,市场营销和服务,您就可以每月进行几次发布,因为您的流程在不断调整。在系统和参与方面,当您与客户和合作伙伴交谈时,尤其是在物联网方面以及您今天要与之集成的某些系统,则每天要发布多个版本。因此,使用云系统发布的速度仅比过去使用某些本地系统处理时要快得多。在复杂程度上,云平台本身已经很复杂,但是您在谈论集成。您已经与许多其他系统集成。假设您的系统提供了地图。好吧,您不制作地图,而是与Google地图集成。而且,如果您要进行物联网,则将通过其他类型的服务来跟踪设备。您可能需要引入天气。因此,您要连接到气象服务,然后再连接外部数据。

因此,所有这些外部系统都有效地纠缠在一起。它们是纠缠的,它们使真正隔离正在使用的系统变得更加困难,因为您还有其他所有需要担心的事情。安全,安全只是伤痕累累。我不知道您最近是否看过,最近您看到万豪因违反GDPR而被罚款1.23亿美元。那可能是由于他们做了一些小的发布,使数据意外地暴露给了某人。英国航空公司因将500,000名客户的数据置于危险之中而被罚款2.3亿美元。因此,DevOps不仅仅是在某个地方发布一个小功能,然后再使用它。错误地付出的代价实际上可能非常重要,而且确实可能​​非常大。

这是24 x 7的服务。就像我说的那样,全球用户群意味着没有停机时间。您无法在午夜升级,因为午夜不是您在泰国,日本或欧洲中部客户群中午的时间。因此,必须在不停机的情况下完成这些发布。您必须能够逐步升级这些系统并提供更多功能,因为它始终存在且始终存在。再者,您希望可预测,可靠和安全,因为如果您不这样做,即使您是美国公司,也将受到其中一些罚款的打击。我的意思是,被1.23亿美元的罚款打耳光并不是一件好事。

如何将DevOps用于企业云项目

Bill Detwiler: DevOps如何帮助公司处理复杂的云部署并避免停机?

David Brooks: 嗯,这始于过程。我们在波士顿和杜塞尔多夫有几个客户咨询委员会,我们去了那里,问我们的客户,我们如何做才能使我们的平台更好?我们得到的是一个令人惊讶的答案。我们期望有关我们所管理的工具和流程的一些信息,以及所获得的帮助我们了解如何改进流程,交付流程和战略。因此,我们发现,在某种程度上,提高您的速度和增加在市场上实现价值的时间更多地是要确保您的团队受到纪律处分,他们拥有所需的信息,他们拥有他们需要的培训,以及您拥有一套工具或平台(例如Copado)来实际与您和您的流程一起工作。

例如,我们与Cox Automotive合作在一个实施中,他们开始在我们的平台上加速发展,开始时,他们有一百多名开发人员。就像我如何集成数百名并行工作的开发人员的变更并可靠地进行集成,将其合并并将其纳入生产流程一样,这对于非常庞大的平台和团队来说是一个真正的挑战。发生的事情是他们提出了这个策略,这很好。他们想出了一个策略,并尝试了该策略并奏效,但效果并不理想。因此,他们能够对此进行迭代。因此,这不仅是将交付流程和策略组合在一起,还可以迭代该策略并确保您的流程正常运行,并且 整个思路都在于它将不断改进您的流程。因此,首先要确定该流程和该策略。

然后拥有一个企业级DevOps平台,该平台可以为您提供工具,流程以及在这些流程上执行所需的培训,从而使您真正地走上最快的创新之路,只需确保整个交付速度即可并且速度在上升。我要说的另一件事是,如果您正在寻找一个DevOps平台,则您需要有一个本机平台,该平台在开发平台上是本机的,因为这是确保流程正常运行的最佳方法。是使用与您要开发的平台相同的工具,并在该平台上为人们提供本机用户体验。

DevOps云开发和部署最佳实践

Bill Detwiler: 公司将DevOps纳入其云战略时可以遵循哪些最佳实践?

David Brooks: 是的,所以首先要认识到的是,公司处于不同的成熟度和采用程度。因此,公司处于不同的级别,但是这些公司中的个人也处于不同的级别,并且认识到这使您可以开始专注于最佳实践。我们提出了一个策略,一个称为“路径查找器”的模型,在“路径查找器”模型中,我们试图将其简化到谈论五个成熟度的程度。

例如,在第一个级别,开发人员的操作将是选择和部署,您只是在这里,从第一步开始,就可以进行所做的更改并将其移至下一个级别,一直到持续集成,持续部署,持续交付功能。但是事实证明,您无法在一个单独的成功阶梯中考虑最佳实践。成功有多个阶梯。因此,当您查看DevOps程序时,从整个规划到交付,部署,发布和监视的整个过程中,DevOps共有七个阶段。敏捷是其中的一部分,如果您在DevOps中查看整个过程,那么这七个阶段中的每个阶段实际上都有不同的成功阶梯。

让我们来一个,验证。验证,如果要连续交付,则必须真正擅长自动执行验证,并在整个过程中自动执行产品质量。它不仅是一个阶梯,而且是SCA,它是使用Selenium之类的功能测试,实际上是合规性。我们前面谈到的整个安全问题,您需要确保您拥有某种自动化的合规性工具,因为某人的微小更改确实可以带来很大的不同。因此,即使在DevOps流程的七个阶段的一个阶段中,您也需要担心多个成功阶梯。

所以我的第一个建议是坐下来看看您的过程,了解不同的阶段,了解您在那做的事情,并且对自己在该过程和数字上的等级要很诚实找出如何变得更好。每个人处于不同的水平,这是一个很好的例子。我们与MassMutual合作几年前,这是一个很好的例子。在那里开始体验平台时,他们对Salesforce感到非常沮丧。他们只有大约20或30个开发人员在Salesforce上工作,这是一个新的DevOps平台,因此引入Copado对他们来说是一个有趣的过程,因为除了引入新的工具集和新的DevOps平台之外,他们必须引入一个新流程,并且他们必须对其进行迭代,并且他们必须以最佳实践来真正了解自己在每个细分市场中的工作。他们如何使用敏捷工具?

如果使用的话,另一非常重要的事情是使用版本控制系统作为事实的来源。我们发现,在Salesforce环境中的许多公司中,他们都使用实际平台本身作为真理的来源,而您做不到。您需要一个像Git这样的版本控制系统要做到这一点。因此,如果您着眼于DevOps流程的前端以及如何使用版本控制系统,那么即使我正在使用哪种分支策略之类的东西呢?我不想涉足杂草丛生,但不想在版本控制系统中实际形成分支的方式对您来说具有成熟度和改进机会。因此,当我们与MassMutual合作时,我们与他们一起去研究了他们在各个不同阶段的流程,并帮助他们了解了他们在哪里,他们可以在哪些方面进行改进,以及他们可以在哪些方面提升成功的阶梯,以及从整体上做到这一点,但也要分阶段进行,因此有机会向上和向下移动。因此,这是自上而下看的问题,但这是

这带来了另一件事,我们发现的其他最佳实践之一就是协作。您一定要做到,我们说DevOps是一项团队运动。不仅仅是一个人在他的立方体上放了一个小隔间,试图做一点点的开发并将代码传递到墙上,然后扔给别人。您必须在开发人员,发行经理和质量检查人员之间以及在业务之间进行协作。然后,在Salesforce中还有另一个方面。当您在处理无代码的低代码平台(如Salesforce)时,您会认为DevOps适用于开发人员。但实际上,DevOps也适合您的指点和单击管理员以及Salesforce称为意外管理员的内容。

我的意思是在2002年,2003年,我曾帮助将Salesforce安装到一家公司中,而我是管理员。我负责这家公司的管理团队。而且我不打算成为管理员。实话实说,我有点被迫担任这个职位,因为我当时是这个工作的最佳人选。但是,现在全世界遍布Salesforce的这些偶然的管理员都已经进入了他们的行列,而且他们将继续前进,我不知道什么是DevOps。我所知道的只是我可以进行设置,可以进行这些更改,可以保存它们,并且工作已完成。但实际上,最佳实践是将这些管理员与开发人员放在同一页面上。那是什么意思呢?这意味着,人们认为这意味着管理员必须知道如何使用Git,必须使用诸如Jira之类的敏捷工具,并且必须能够处理用户故事。

如果您拥有合适的平台和合适的DevOps工具,那么您可以与开发人员进入同一流程,并进入同一页面。但是,在系统中进行这些更改的团队的每个成员都必须处于同一流程中,这一点非常重要。如果您有一半的开发人员都在一个进程中,而您的管理员却不愿意自己做某事,那将是死亡。就是行不通。

DevOps和企业云项目应避免的错误

Bill Detwiler: 人们在开始大型云部署和升级项目时犯的最大错误是什么?

David Brooks: 最大的错误是他们认为他们可以引入新工具,可以在一夜之间对其进行配置,然后就可以为他们工作并完成工作。因此,正如我之前所说,最大的事情是,您必须了解一下流程,并且必须弄清楚,好吧,我们是否可以自动化一些合理的事情?因为最大的事实是,如果您的流程中断了并且您将其自动化,那么您将更快地失败。但是人们说在创业世界中失败更快,但是在企业世界中失败更快会带来更大的损失,这不是您想要的那种失败。您希望能够确保该过程正常运行,并使其自动化。

另一个最大的挑战或最大的错误是人们试图进入那里并立即改变一切。我认为敏捷教给我们的一件事是小的调整,对吧?如果回头看那部电影《 Contact》,他说了一些小调整,Ellie。在您的无线拨号盘上进行一些小的更改,以便您可以拨入然后继续前进,并使某些功能正常工作并取得进展。这就像爬山一样。您必须先爬上那座小山,然后深吸一口气,然后转身去享受一个事实,那就是您已经到了高原,不要尝试同时进行每个过程。

例如,当我们在最大的客户中安装Copado时,我们说的很好。让我们退后一步,弄清楚我们将如何获得变更管理部分,其中首先完成发行管理部分。让我们了解一下您现有的敏捷系统。让我们挂接到现有的GitRepo上,然后首先进行操作。然后就位,然后进行验证。你在做硒测试吗?您在进行静态代码分析吗?您正在使用合规工具吗?您是否正在为此运行外部Jenkins或团队城市脚本?我的意思是,让我们开始这样做。因此,最大的错误是尝试立即执行所有操作。我能提供的最大建议是不要尝试这样做。只是分步进行,进行协作,迭代并咬一小块,然后掌握它,然后继续进行下一个,因为在实现的最后阶段工作没有完成。这项工作才刚刚开始,而这全都涉及您的流程以及您公司中的持续创新。

ZDNET的周一上午开幕式

周一早上开门红是我们本周在科技领域的开场白。由于我们经营着一个全球网站,因此本社论于周一在澳大利亚悉尼的AEST(美国东部标准时间)上午8点发布,也就是美国周日东部时间下午6点发布。它由ZDNet全球编辑委员会的成员撰写,该委员会由我们在亚洲,澳大利亚,欧洲和北美的首席编辑组成。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。