Xcel Energy 将 CI/CD 迁移到 亚马逊云科技 Fargate,以降低 82 倍的成本将部署速度提高 60 倍

Xcel Energy logo

数字化正在改变能源行业。但是,在美国大型电力和天然气公司 Xcel En er gy,传统技术基础设施和对云服务承包商的依赖限制了数字发展的好处。 DevOps 主管 Jared Keith 于 2019 年 加入 Xcel Energy,帮助在亚马逊网络服务 (亚马逊云科技) 中推出新的解决方案,后来转到平台工程部门,以简化基础设施、降低成本和提高公司整个云环境的效率。

Xcel Energy是清洁能源向更可持续的未来过渡的领导者。2018年12月,Xcel Energy成为第一家 承诺到2050年提供100%无碳电力的 美国主要能源供应商。 这种过渡的关键是其开发人员为所有类型的能源生产(风能、水力、太阳能、核能、煤炭和天然气)以及无人机机队和现场工作人员创建的数字解决方案。数字解决方案需要高效的持续集成和持续交付 (CI/CD) 管道,允许快速轻松地构建、打包、测试、验证和验证源代码。当 Keith 加入平台工程团队时,他发现自己的团队正在维护庞大而繁琐的 CI/CD 基础架构,无法扩展。

Xcel Energy团队正在使用开源工具Spinnaker和Jenkins来控制在广泛而深度的计算平台 亚马逊弹性计算云 (Amazon EC2)中持久服务器上的复杂Kubernetes部署。这些团队需要掌握像 HAL 和 Apache Groovy 这样的自定义语言,即使是高级的 DevOps 工程师也很难学到这些语言。由在线和合同HAL和Groovy开发人员组成的小型社区过于昂贵,无法满足Keith的需求。他的 CI/CD 管道仅在特定时间偶尔运行,Keith 注意到这可能适合无服务器计算。

无服务器技术允许您仅为所用资源付费,并大大减少了扩展、修补、保护和管理服务器的开销。为了简化Xcel Energy的CI/CD基础设施,Keith求助于容器无服务器计算A WS Fargate 。使用 亚马逊云科技 Fargate,开发人员可以在完全托管的容器编排 服务 亚马逊弹性容器服务 (Amazon ECS) 和 亚马逊弹性 Kubernetes 服务 (Amazon EKS)(一种在 亚马逊云科技 云中运行 Kubernetes 的托管 Kubernetes 服务)中运行容器,具有自动扩展和内置高可用性。基思说:“我花了很多钱购买长寿命的 Amazon EC2 实例,这些实例处于闲置状态,等待接受工作。”

基思超出了他的预期。“迁移到 亚马逊云科技 Fargate 后,我们的任务运行速度提高了 6,000 %,每月的基础设施账单下降了 8,200%。令我惊讶的是,我们每月的服务器账单从几千美元增加到不到100美元。我们在几周内测量的结果突然变成了几天甚至几分钟。我怎么强调这具有多大的变革性都不过分。”

除了速度和成本之外:无服务器容器可增强安全性并促进轻松扩展

成本和速度并不是唯一的收益。“当我第一次建造基础设施时,我正在为一个由大约 30 人组成的团队提供管道。现在,我为 700 名工程师和大约 40 个团队提供服务。”即使工作量更大,Keith 的周转时间也要快得多。设置自动化需要付出努力,但是以前需要 15 分钟才能部署的软件版本如今只需 15 秒。

所有内容都是在 GitLab 中使用声明性语言(如 YAML 和 Terraform)重建的,这些语言更易于学习、使用和模板化。将所有人从 Jenkins 转移到 GitLab,在那里所有内容都以 Docker 镜像形式运行,省去了以前需要的几个步骤。镜像可以预先构建并被视为安全,无需构建依赖关系。下游开发人员只需将预先构建的图像提取到他们的代码中即可运行。

向上扩展也更快、更简单。在使用 亚马逊云科技 Fargate 之前,如果 Keith 想添加容器或节点,他的团队将花大约半天时间编辑 Terraform 代码并测试更改。“使用 亚马逊云科技 Fargate,” Keith 报告说,“我们的工作人员运行器请求运行任务,集群要求更多的容器,亚马逊云科技 Fargate 将容器配置到其特定的命名空间中。如果 Pod 无法容纳到现有集群节点中,则 亚马逊云科技 Fargate 会提取一个新节点,然后在 2 分钟内连接一个节点,我们的 pod 就会在其上运行。”

如此显著的速度和规模改进通常会引发安全问题,但是 Xcel Energy 在迁移到 亚马逊云科技 Fargate 后注意到多项安全改进。例如,当通过分支更新调用任务时,临时 Pod 会在 亚马逊云科技 中配置,它运行其任务,然后在完成后终止。Pod 永远消失了;Keith 的团队不再监视闲置的永久基础设施上的日志以防受到攻击。

亚马逊云科技 Fargate 还增加了一层身份和访问管理 (IAM) 安全保护。以前,所有身份验证都必须在管道脚本中完成,这使安全工程师和管理员有可能查看他们不需要访问的证书。现在,当开发人员运行命令时,他们不必管理身份验证。亚马逊云科技 Fargate 与 IAM 角色的集成允许 亚马逊云科技 处理安全的计算机间连接,从而使脚本可以直接连接,同时由于脚本不再包含身份验证步骤而加快任务速度。

“总的来说,” Keith 总结道,“通过对身份验证、持久性、扩展性、支持性和成本的这些改进,我们创造了更流畅、更安全的开发者体验。”

转变灾难恢复、简化运营和加速变革

通过使用 亚马逊云科技 来简化其 CI/CD 管道,Xcel Energy 对其灾难恢复能力更有信心。如果集群出现故障,无服务器环境使 Keith 的团队能够使用并行启动和水平扩展在短短 23 秒内启动所有 12 个 GitLab 运行器。对于 Keith 来说,能够在不到 1 分钟的时间内恢复整个跑步队伍是一种变革,他本来可以花 1-3 周时间重建以前的环境。

Keith 现在正在维护所有 Xcel Energy 的 CI/CD 基础设施,他对 亚马逊云科技 Fargate 的 “纯粹易用性” 充满热情。在他以前的环境中,支持 40 支队伍是不可能的。他说:“那只是冰山一角。”“我现在可以做的事情还有很多。看到可能性出现真是太棒了。”

这些创新使Xcel Energy的基础设施更加可靠,同时也大大减少了云支出,公司可以将节省的费用直接转嫁给客户。它的开发环境不断变得越来越好,Keith 开始专注于更具挑战性的工作,以促进变革。“我是一名平台工程师,所以我的一天应该花在平台设计上。通过采用 亚马逊云科技 Fargate,我可以专注于创新。Xcel Energy数字解决方案的增长正在降低管理成本,提高灵活性,提高安全性,并帮助我们为370万电力和210万天然气客户提供更清洁的能源。”

Xcel Energy设定了激进的临时目标,即到2030年将碳排放量减少80%以上。随着Xcel Energy加速实现 到2050年 在其服务的八个州成为一家整体净零能源公司的 目标 ,亚马逊云科技正在通过到 2025年 使用100%的可再生能源 为运营 提供帮助,这是亚马逊到2040年实现净零碳的总体承诺的一部分。

了解更多

查看 Vanguard 如何使用亚马逊 ECS 和 亚马逊云科技 Fargate 来增加投资者价值。
或者观看一段视频,重点介绍 Taco Bell 在 亚马逊云科技 无服务器技术方面的成功

要了解有关 亚马逊云科技 如何帮助能源行业转型和优化业务的更多信息,请访问 亚马逊云科技 for Energ y 页面。

Jared Keith

贾里德·基思·

贾里德是Xcel Energy的首席开发运营工程师,在过去的三年中,他一直领导该公司的IT基础设施和自动化团队。他喜欢采用新技术,这些技术可以使人们的工作和沟通方式发生巨大变化。Jared 拥有十五年的软件经验,担任过 QA、构建/发布、工具、SRE、DevOps 和平台工程的桥梁。他喜欢工作、教学和授权他人使用 Kubernetes。在业余时间,他喜欢做莎莎酱;越辣越好。

Tom Lauducci

汤姆·劳杜奇

汤姆是亚马逊云科技的解决方案架构师,他在那里提供技术指导以支持Xcel Energy的云转型。他热衷于可持续发展、可再生能源和效率,喜欢帮助 亚马逊云科技 客户在这些领域进行创新。在亚马逊工作的 10 年中,汤姆的角色各不相同,从设计您在亚马逊配送中心之旅中看到的工作站和机器人,到为 亚马逊云科技 的数据中心车队设计物理安全自动化工具。他拥有机械工程学士学位并持有 6 项有效的 亚马逊云科技 认证。


*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。