色综合 NEWS
你的位置:附近上门 > 色综合 > 黄药师 译文: Airbnb 的 CRM DevOps 转型: 宽广的握续委派框架
黄药师 译文: Airbnb 的 CRM DevOps 转型: 宽广的握续委派框架
发布日期:2024-08-03 13:27    点击次数:165

黄药师 译文: Airbnb 的 CRM DevOps 转型: 宽广的握续委派框架

咱们奈何观念集成 Salesforce DX、GIT、BUILDKITE 和 Vlocity 的 CRM CI/CD 框架黄药师,以罢了增强、高效、握续的高质地软件委派。

先容

CRM 平台提供了一套宽广的功能,可用于构建可扩张的应用设施,同期最猛进度地减少对复杂编码的依赖。但是,在这个生态系统中照看和部署代码和确立可能具有挑战性,并且平台不休发展的特质带来了迥殊的复杂性。这可能导致部署时候渐渐、难以均衡代码和确立(举例 Apex 类和触发器与考证法规、页面布局)以及照看多个环境等问题。

红色av

为了应付这些挑战,Airbnb 特地为 CRM 平台拓荒了一个弹性 DevOps 框架。该框架可自动为拓荒东谈主员、系统照看员以及构建容貌板的业务分析师等低代码用户将代码和确立回荡到分娩中。

挑战

CRM 平台是一个多功能生态系统,功能宽广,但照看其中的代码和确立可能具有挑战性。由于元数据复杂且环境千般,因此难以高效地部署变更。此外,平台不休发展的特质需要接受积极主动的形式。

部署时候:部署变更可能是一个耗时的过程,尤其是关于大型应用设施而言。这可能会影响委派速率,从而导致拓荒东谈主员和利益有关者的动怒。

均衡代码和确立:CRM 平台允许通过编程代码(使用 Apex、Visualforce 和 Lightning Web Components)和低代码拓荒形式(使用 App Builder 和 Flow Builder 等器用)拓荒应用设施。但是,灵验照看基于代码和确立的拓荒组合是一项深奥的挑战。

照看多个环境:CRM 拓荒东谈主员平淡会在单个环境(沙盒或临时组织)中构建和测试其代码,然后再将其移至更高等别的环境。但是,照看不同团队的多个环境可能会变得越来越复杂且耗时。

文献元数据的复杂性:CRM 是一个复杂的平台,具有不同类型的元数据(包括但不限于 Apex 类、触发器、Lightning 组件、过程),需要在拓荒和部署过程中进行精致的照看。

跟上变化:当作基于云的平台,CRM 频频发生变化,依期发布新功能和更新。跟上这些变化并确保它们与现存应用设施无中断集成可能是一项要紧挑战。

惩处决策

在 Airbnb,咱们拓荒了一个特地针对 CRM 平台定制的弹性 DevOps 框架,该框架集成了 Salesforce DX、Git 和 Buildkite。咱们的形式有助于将统共利益有关者(包括拓荒东谈主员、系统照看员和低代码用户)纳入拓荒和部署过程,从而为统共有关东谈主员优化 DevOps 惩处决策。

CRM DevOps 人命周期包括灵验部署代码所必需的以下要害环境:黄药师

拓荒东谈主员(DEV)——拓荒东谈主员期骗 DEV 环境来构建和完善代码。

集成(SIT)——SIT 确保与其他系统的无缝集成。

质地保证 (QA) — QA 考证软件的功能。

完好副本(STAGING)——Staging 为培训和用户验收提供了践诺的环境。

预发布——预发布当作代码上线之前的受控托管平台。

热建设 — 热建设不错快速惩处紧迫的分娩问题。

Prod——容纳统共及时流量和数据的分娩实例。

这些环境中的每一个皆与 Git 版块牺牲系统中的相应分支有关系,并通过 Buildkite DevOps 管谈无缝纠合。在凯旋通过拓荒东谈主员的同业评审过程后,将触发 Buildkite 功课,期骗 Salesforce DX 将代码部署到缱绻沙箱中。

DevOps 之旅始于从集成 (SIT) 环境刷新 CRM 中的各个拓荒东谈主员实例,以导入其他拓荒东谈主员所作念的革新。随后,从集因素支在 Git 中创建一个功能分支,以促进各个环境中的拓荒和单位测试。拓荒东谈主员不错在我方的拓荒环境中高效责任,同期确保全面的无缝集成和配合。

一朝罢了了新功能,拓荒阶段就完成了。代码在插足 SIT 环境之前要经过一系列严格的质地保证设施。所接受的设施之一是静态代码分析,以确保死守编码法式和最好实践。此外,拉取肯求要经过庸俗的审查和批准设施,小色哥奇米在线以保握代码质地。在扩充之前,代码最终部署到 SIT 环境进行集成测试,在此考证系统集成。

测试凯旋后,革新将提交至 QA 环境进行功能和转头测试,其中包括使用 Provar 进行自动化测试。QA 环境用于在集成系统之间端到端测试功能。自动化测试剧本在此环境中启动,以确保居品无空虚。代码审查可确保高编码法式到位,而 QA 和自动化测试可确保惩处决策启动考究。

DevOps 旅程的下一步是准备环境,在此进行用户验收测试和性能测试。PTPaaS 沙盒用于性能和负载测试,这是专为性能测试想象的试点居品。此沙盒纠合到准备分支,以确保无缝奉行性能测试。完成考证的临了形式后,源自某东谈主功能分支的革新现时不错扩充到分娩并供统共东谈主使用。

与通例功能拓荒不同,咱们需要大略推送紧迫建设。此过程接受不同的阶梯。建设源自专用于修补设施的环境,该环境是 Prod 的副本(称为修补设施)。建设在修补设施环境中进行,由 QA 测试和考证,然后通过 Staging 推送到 Prod。修补设施绕过 SIT 环境。一朝扩充到分娩环境,建设就会反向传播到链中最低的拓荒东谈主员沙箱。

细目代码推送的发布时候块(部署窗口),并由统共利益有关者就代码推投递成一致。特地的部署时候有助于与最终用户设定对行将发布的新功能的盼愿。CRM 部署濒临的最大挑战之一是部署时候延迟,而大畛域实施和更长的测试奉行时候进一步加重了这一问题。革新无意可能需要长达 90 分钟智力部署。为了掩盖这一挑战,咱们的框架接受主动的形式,针对分娩环境奉行构建考证。此考证会提前查验统共测试类奉行和元数据考证,平淡在部署窗口前 24 小时以上,并在缱绻组织中启用快速部署。在部署窗口技术,咱们的 DevOps 自动化会从 Buildkite 奉行快速部署,这有助于尽早检测构建或测试启动中的问题,并显赫减少实质部署时候。为了进一步镌汰部署时候,咱们实施了增量部署,仅部署代码库之间的各异,而不是通盘代码库。过去的提交 ID 存储在缱绻组织中的自界说设立中,Buildkite 在部署技术检索它以仅提交哈希集。

告捷

使用快速部署可将部署时候从平均 90 分钟镌汰至 15 分钟

启用增量部署而不是完好包部署。

确立和元数据版块牺牲。

在存储库中内置静态代码分析。

回滚机制。

集成测试挂钩。

论断

咱们的 DevOps 实施已凯旋罢了在 CRM 平台上高效、握续地委派高质地软件。这是通过无缝集成 Salesforce DX、Git 和 Buildkite 罢了的,从而建立了针对统共扮装(包括拓荒东谈主员、照看员和低代码用户)进行优化的 DevOps 框架。因此,咱们见证了部署时候的显赫减少和软件质地的显赫擢升,最终为咱们的客户带来了更大的价值。

要是您对这类责任感兴味,请查抄咱们的一些有关职位。

致谢

非常感谢Yiming Yan、Sameer Miraj、Vasu Rampally、Srinath Therampattil、Leah Kennedy和通盘团队匡助加入这个框架。非常感谢Sudheer Peddineni 的率领。

作家:Sharda Kumari黄药师