在Lyft的微服务上提高生产力(第三部分)。使用暂存覆盖扩展我们的Envoy网格

This is the third post in the series on how we scaled our development practices at Lyft in the face of an ever-increasing number of developers and services.

这是关于我们如何在面对越来越多的开发者和服务时扩大我们在Lyft的开发实践系列的第三篇文章。

In our previous post, we described our laptop development workflow designed for fast iteration of local services. In this post, we’ll detail our solution for safe and isolated end-to-end (E2E) testing in staging: our pre-production shared environment. We’ll briefly recap the issues that led us to this form of testing before diving deeper into implementation details.

在我们的上一篇文章中,我们描述了我们的笔记本电脑开发工作流程,旨在快速迭代本地服务。在这篇文章中,我们将详细介绍我们在staging中进行安全和隔离的端到端(E2E)测试的解决方案:我们的生产前共享环境。在深入探讨实施细节之前,我们将简要回顾一下导致我们采用这种测试形式的问题。

Previous Integration Environments

以前的集成环境

In Part 1 of this series we described Onebox, our previous tool for multi-service E2E testing. Onebox users would lease a large AWS EC2 VM to spin up 100+ services to validate that their modifications worked across service boundaries. This solution would give each developer a sandbox to run their own version of Lyft, giving control over each service’s version, database contents, and runtime configuration.

在本系列的第一部分,我们介绍了 盒子我们之前用于多服务E2E测试的工具。Onebox用户将租用一个大型的AWS EC2 VM来启动100多个服务,以验证他们的修改是否能跨服务边界工作。这个解决方案将给每个开发人员一个沙盒来运行他们自己的Lyft版本,对每个服务的版本、数据库内容和运行时配置进行控制。

Each developer spins up and manages their own isolated Onebox

每位开发者都会启动并管理他们自己的孤立的Onebox。

Onebox unfortunately encountered scaling problems as Lyft grew both its engineer and service count (read more in our first post). Because of these issues, we needed to find a sustainable replacement for performing our E2E testing.

随着Lyft的工程师和服务数量的增加,Onebox不幸遇到了扩展问题(在我们的第一篇文章中阅读更多内容)。由于这些问题,我们需要找到一个可持续的替代品来执行我们的E2E测试。

We looked towards our shared staging environment as a viable replacement. Staging gave us confidence due to its similarity to production, but we needed to add a missing piece for it to feel like a safe environment for development: isolation.

我们把我们的共享暂存环境作为一个可行的替代。由于它与生产环境相似,暂存环境给了我们信心,但我们需要增加一个缺失的部分,让它感觉像一个安全的开发环境:隔离。

Stagin...

开通本站会员,查看完整译文。

首页 - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.3. UTC+08:00, 2024-11-25 00:05
浙ICP备14020137号-1 $访客地图$