65.9K
CodeProject 正在变化。 阅读更多。
Home

为什么 SSD 对开发/测试环境至关重要

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2017 年 12 月 12 日

CPOL

4分钟阅读

viewsIcon

3600

像阿里云这样的云提供商已经故意使带有 SSD 的计算具有可预测性和成本效益,为开发人员提供了更多他们在云中构建出色生产应用程序所需的东西。

阿里云 提供了一套全面的全球云计算服务,以帮助推动和发展您的业务。 立即创建帐户并获得 300 美元的新用户免费信用额度

在大多数开发团队中,为开发人员提供的基础设施遵循“够用就好”的原则,即开发人员的机器(本地或云端)只有构建和测试应用程序所需的最低限度资源。 像负载均衡器、SSD 驱动器和更多 CPU 这样的高级基础设施是为生产保留的。

这并非最佳方案。通过为开发环境提供与生产环境中可用的资源相当的资源,应用程序开发将从中受益匪浅。

这包括 SSD。 在下面,我将解释如何为开发环境提供 SSD 可以大大改善开发/测试环境。

为什么 SSD 是一种奢侈品

组织决定将 SSD 资源保持在最低限度的主要原因是价格。 对于大多数云提供商来说,SSD 的价格是标准磁盘资源的好几倍。

随着云提供商扩展其产品,SSD 将变得越来越普遍,并且价格会随着时间的推移而下降。 但是,阿里云决定领先于当前的价格问题,从一开始,他们的 SSD 产品 的价格就大大降低——几乎是其他云提供商的一半——而且对于最小的 Linux 实例,每月只需 4.50 美元。 开发人员可以从 SSD 中受益匪浅,尤其是那些构建全新应用程序的开发人员。

为什么 SSD 在开发中很重要

云资源成本不仅仅是资源。 还有没有正确利用它们的成本。 为什么开发人员需要这种力量? 有几个关键原因

  1. 一致性:开发人员在了解应用程序在生产环境中如何运行时面临的一个主要挑战是,与生产环境保持足够的一致性,以便他们可以在与生产环境非常相似的开发环境中运行应用程序。 没有一致性,部署应用程序就像一场猜谜游戏。 您假设基础设施对应用程序的影响足够小,以至于没有风险。 但我们已经看到了很多并非如此的例子。 这不仅适用于 SSD。 通过为开发人员提供相同的资源,他们的开发环境就变成了成熟的持续集成 (CI) 环境。 并且他们可以自信地知道应用程序在推送到生产环境时的性能如何。
  2. 测试:出色的性能意味着您可以更快地进行更多测试。 除了更快更频繁的测试之外,性能测试还可以开始左移,为您提供更接近代码创建的准确性能基准。
  3. 优化:更多测试和一致性意味着,通过准确了解应用程序在创建代码时的运行方式,开发人员可以更好地优化其开发环境和生产环境,并且可以更有效地与运维团队沟通应用程序所需的资源。 这是软 ROI 的体现。 如果开发人员可以更有信心地预测应用程序在负载下运行时需要多少资源,那么运维团队就不需要超出资源,从而降低成本——并且很有可能对开发环境中所需资源进行更好的估算实际上会带来成本节约。

这也意味着开发人员可以开始针对真实数据进行更复杂的测试。 通常,组织会避免针对真实数据进行测试,因为访问数据或传输速率很慢。 因此,许多测试已经转向应用程序模拟,或者根本不测试后端。 但是有了 SSD,开发人员可以使用真实数据进行更多测试。

对于高性能应用程序,例如在科学领域开发的应用程序,可能需要访问 SSD。 信息序列化到磁盘的速度会影响应用程序的运行方式和架构。

贪婪的开发人员

SSD 的成本是开发人员在决定是否需要在其开发环境中拥有 SSD 时面临的挑战。 此外,许多云提供商的成本是不可预测的。 一个开发人员的月支出可能是另一个开发人员的数倍。 这种不可预测性让组织感到不安,因为开发的成本应该是具体的,而生产应该遵循理想的应用程序使用情况。

开发人员不仅仅想要更多的力量,他们还希望更有效率。 他们通常会转向本地开发环境而不是云端,以获得他们需要的力量。 但本地环境与生产环境不匹配。 像阿里云这样的云提供商已经故意使带有 SSD 的计算具有可预测性和成本效益,为开发人员提供了更多他们在云中构建出色生产应用程序所需的东西。

© . All rights reserved.