Rackspace质量工程:解锁OpenStack的潜力

Rackspace OpenStack私有云并不仅仅是另一种私有云服务。区分Rackspace和我们的竞争对手的众多关键区别之一是,我们采用了工程方法来解决质量问题。

Rackspace质量工程:解锁OpenStack的潜力
Rackspace质量工程:解锁OpenStack的潜力

我们的质量工程团队不知疲倦地工作,以最大限度地提高我们的私有云服务的设计、代码和文档的质量,以及在软件开发生命周期中尽可能早地消除缺陷。

这是Rackspace擅长的领域,在我们的竞争中处于领先位置。

“我们希望我们的客户专注于他们的专长,让我们专注于设计、部署、测试和运营他们的Rackspace私有云,这是我们的专长,”Melissa Kam说,他是Rackspace私人云团队的一名软件开发人员。

与其他组织不同的是,我们的质量工程团队由开发人员和工程师组成,他们是这个领域的专家。让这些专家在性能上运行测试功能,测试自动化和安全测试提供了一个示范中心,并允许我们在多个团队之间改进知识共享和资产重用。

这使Rackspace具备了编写测试自动化的独特能力,并能够快速高效地将这些测试实现到CI/CD管道中。它还为我们的质量工程师提供了时间,让他们专注于特定的测试,例如探索/缺乏深度潜水、安全和性能调优。这就带来了一个彻底的测试策略,并且满足了Rackspace的发布目标,它涵盖了以下问题:

它能起作用吗?

它会执行吗?

它是安全的吗?

随着对多种平台的灵活和复杂的集成需求的增加,我们的质量工程团队越来越需要一个稳健的测试策略,以确保任何Rackspace OpenStack私有云的发布都得到了充分的测试。我们从不希望我们的客户成为测试人员——这可能导致用户和我们的团队之间的负面用户体验和破信任破坏。

在某种程度上,我们是顾客的声音。Rackspace的质量工程师必须感到舒适,挑战常规,超越产品的功能。为了做到最好,我们必须从架构到功能添加等各个方面来看待产品,并尽我们所能来减轻客户的影响,同时为他们带来无与伦比的成果。

Rackspace的质量并不仅仅是基于质量保证组织——它来自于一个包含了完整的软件工程实践的工程团队。大多数人期望质量能测试功能需求,并确保产品按预期执行。

我们通过决定产品不能做什么来超越这些期望。我们把产品拆开,发现某些细节可能达不到我们产品标准。在OpenStack的任何部分中,性能或安全问题都是一个质量问题,我们在产品向客户发布之前就一直在寻找和修复问题。

在Rackspace,我们的质量领导负责所有测试的签署。为了确保产品达到我们的质量标准,一个领导者在所有测试完成之前都不会在发布会上签字。下面是一个测试函数的小示例(不是一个全包含的列表):

功能测试:单元测试、集成测试、系统测试、验收测试、回归测试、冒烟测试。

非功能性测试:性能测试、安全性测试、可用性测试、操作准备、兼容性测试、遵从性测试。

大多数质量组织和/或他们的开发人员都熟悉进行单元测试、集成测试、系统测试和验收测试——统称为功能测试,其中的主要目标是确保产品发布得到评估,满足最低要求,并准备发布。尽管这些测试很重要,但许多公司没有足够的资源来正确地完成这些测试。

为了继续我们对质量的承诺,Rackspace还采用了一种非功能性测试的工程方法,例如安全设计和测试、性能调优和测试、可用性测试和兼容性测试。这些领域中的每一个都可以包含多个子测试,并且可能需要有专门质量工程师的培训。

我们的云计算运营商和客户需要我们开发出值得信赖和安全的软件。您所要做的就是阅读新闻,知道安全是一项持续的挑战。当安全不是首要任务时,它可能导致延迟或部署受阻、诉讼、负面媒体报道和客户的不信任。这些都是不可接受的结果。

Rackspace已经就OpenStack社区的预期提出了一个问题。我们的测试努力最小化了设计、代码和文档中的安全和隐私相关的缺陷。通过在软件开发生命周期的早期发现和消除这些缺陷,我们发布了更有保障、更安全的代码,让我们的客户有了更多的信心认为他们的云没有风险。

我们的安全测试包括开发过程(代码审查)、运行的系统或硬件、连接到的网络以及用于访问系统的身份验证和授权方法——都是由应用程序的用户和管理员访问的。从本质上说,安全工程是对安全的全面开发。

在OpenStack社区中,我们在安全性设计和测试中处于领先地位。我们的Rackspace质量工程师开发了一款名为Syntribos的OpenStack API测试工具。这个工具是第一个OpenStack API安全测试工具,它从开放的Web应用程序安全项目和OpenStack社区获得了优秀的评论。通过将其提供给这些社区,我们将自己的安全专业知识传播给更多的观众,因为我们相信安全对成功至关重要。

质量工程的另一个支柱是性能工程。Rackspace的性能测试被设计成完成一件事:确保我们的私有云及其被测量、验证的环境能够超过我们的质量要求。在真实的环境下,我们检查响应性、速度、可伸缩性和稳定性,并努力消除来自环境、应用程序、工具和系统的所有性能瓶颈。

为了做到这一点,我们的性能工程师在提供真实的世界测试场景时接受了培训和经验,为性能增强建议带来了额外的价值。这些工程师已经与许多客户合作,利用诸如性能、负载、压力和容量测试等量化测试来改善他们的云环境。

当涉及到私有云时,您有很多选择,但是其中很多都不会像我们对您的云进行持续的故障诊断那样深入,并且可以防止停机。在Rackspace,质量和我们私有云的开发、交付和运营一样重要,因此我们的质量工程师是整个软件开发过程的一部分。

我们的质量组织不重用上游的OpenStack暴风雨测试,也不需要一天的时间。我们开发用例来确定并了解我们是否可以让它做不该做的事情(安全性和性能)。我们看看这些测试所揭示的错误,深入挖掘,努力探索,直到我们能够有效地说,我们再也不能通过这一缺口。我们对自动化的独特使用、恰当的用例和测试计划都支持我们的测试和最终产品的成功。

以上内容是由dreamhost中文指南http://dreamhost.cn/ 为大家提供的有关Rackspace的相关资讯,以上内容均是由Rackspace官网提供,不代表dreamhost中文指南的观点。

相关内容:>>>>Rackspace体验:运行您的OpenStack私有云