Design and Implementation of a Secure, Scalable and Observable Cloud-Native DevOps Architecture for Microservices Deployment on Microsoft Azure
本文介绍了在 Microsoft Azure 上为一家美发沙龙预约微服务应用设计并实现的一种安全、可扩展且具备可观测性的云原生 DevOps 架构,展示了基础设施即代码、Kubernetes 编排、自动化 CI/CD 流水线以及全面监控的集成如何将手动部署转变为一种可复现且具韧性的工作流。
原始论文采用 CC BY 4.0 许可(https://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
现代软件驱动着从预约理发到管理全球供应链的一切,然而这些程序的构建和交付方式长期以来一直依赖于缓慢、脆弱且易于人为错误的手段。几十年来,开发者通常将软件视为一个单一的、巨大的代码块,每当需要进行微小改动时,都必须对其进行重新构建和重启。这种方法使得快速修复错误或在不导致整个系统崩溃的情况下处理用户量突然激增变得十分困难。为了解决这个问题,业界已转向“云原生”方法,即应用程序被分解为许多被称为“微服务”的小型、独立的组件。这些组件可以被单独更新、修复或扩展,就像在不拆解整个汽车的情况下更换单个发动机零件一样。为了实现这一目标,团队使用自动化工具来即时构建、测试和部署这些组件,确保软件在云端(一个托管全球应用程序的远程计算机庞大网络)安全可靠地运行。
在最近的一项研究中,来自突尼斯凯夫高等计算机科学学院的研究员 Nader Amri、Helmi Jbili 及其同事,与来自沙特阿拉伯金爵大学的合作伙伴合作,对这些理念进行了实证测试。他们设计并构建了一个完整的、自动化的系统,用于在微软 Azure(一个主要的云计算平台)上运行一款沙龙预约应用程序。他们的目标是证明一个复杂的、多部分的软件系统可以完全通过代码和自动化进行管理,从而消除对手动设置的需求并降低失败风险。团队创建了一个工作流,其中从编写代码到启动最终应用程序的每一步都是自动完成的。他们使用名为 Terraform 的工具,通过简单地在文本文件中描述所需内容,来构建必要的数字基础设施,例如虚拟网络和数据库。这确保了环境每次都能以完全相同的方式被创建,消除了经常困扰手动设置的不一致性。
在奠定基础之后,研究人员将沙龙应用程序封装进被称为“容器”的小型、自包含单元中。这些容器包含了每个应用部分运行所需的全部软件和设置,使其易于移动和复制。随后,他们将这些容器部署到名为 Azure Kubernetes Service 的托管系统中,该系统充当应用程序的智能管理器。这个管理器会自动保持运行正确数量的服务副本,并在某个服务失败时将其重启,或者在系统繁忙时增加更多副本。为了确保应用程序可以在不中断服务的情况下进行更新,团队将他们的代码仓库连接到了一个自动化流水线。每当开发者保存一次更改,系统就会自动构建软件的新版本、对其进行测试,并将其推送到生产环境。这一过程被称为持续集成与交付,它将过去需要数小时手动完成的任务转变为一个无缝的五分钟操作。
研究人员并未止步于仅仅构建系统;他们还针对现实世界的挑战对其进行了严格测试。他们验证了应用程序可以通过互联网被安全访问,所有数据均经过加密以保护用户信息。他们通过手动删除一个正在运行的应用部分来测试系统的韧性,并观察到系统如何立即重新创建该部分以维持所需的副本数量。他们还模拟了重负载情况,例如顾客突然涌入尝试预约服务,并观察到系统如何自动增加更多的服务副本以应对流量,当计算机使用率达到 80% 时,系统会自动扩展到三个副本。在这些测试过程中,监控系统始终密切关注应用程序的健康状况,如果发生任何异常情况(例如服务意外重启或用户试图用大量请求淹没系统),会立即向管理员发送警报。
这项工作的成果表明,一个安全、可扩展且可观测的云架构不仅是一个理论上的理想,更是一个现实。团队发现,通过结合基础设施自动化、容器管理和持续交付,他们可以将一个手动且易错的过程转化为可靠、可重复的工作流。应用程序保持了可用性和响应性,在正常使用期间响应时间保持在 1 秒以内,同时自动化系统在无需人工干预的情况下处理了修复和扩展工作。虽然该研究是在受控的验证环境中而非长期的生产环境中进行的,但研究结果证实,这种方法为部署复杂的微服务提供了坚实的基础。研究人员建议,未来的工作可以通过增加更高级的安全检查、更深入地衡量成本以及在更重的负载下测试系统来扩展这些成果,但其核心成就依然存在:一个全自动、具备自愈能力的系统,让软件在云端顺畅运行。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。