人们很容易忘记技术领域取得的进步。在 2000 年代初期,大多数本地用户组都会定期举办安装节。那时,为了配置一台机器以良好地运行 Linux,我们必须了解关于硬件及其配置的详细信息。现在,将近二十年后,我们代表一个核心理念是使单台计算机运行 Linux 像 API 调用一样简单的项目。在这个新世界中,运营商和开发人员都不再需要担心服务器中的硬件。这一变化对下一代运营商和开发人员产生了深远的影响。
在计算机技术的早期,您必须经常接触硬件。如果计算机需要更多内存,您只需添加即可。随着时间的推移,技术也发生了巨大的演变。这最终使操作员远离了硬件。过去去数据中心一趟,现在变成了提交支持工单,让远程人员处理硬件。最终,硬件被完全淘汰。相反,您现在可以使用简单的命令召唤和销毁“服务器”,而无需再担心硬件。
这里有一个真相:硬件的存在是因为它需要为云提供动力。但云究竟是什么呢?
为什么硬件对云至关重要
云是对基础资源进行集中化,建立在利用抽象化的基础上。它的范围可以从像在您的 家庭实验室 中运行几个虚拟机的虚拟机监控程序那样简单,到包括定制服务器、网络设备、容器以及从头开始设计以专注于规模效率的技术的复杂程度。
它们是模糊的。它们在不断发展。
今天进入技术领域的人们没有像更有经验的开发人员那样拥有相同的实践经验。许多人从最早接触计算机时就接受了使用云的培训。他们不知道一个没有按钮来更改内存分配的世界。他们可以将注意力集中在技术堆栈的更高层。然而,如果不了解他们使用的基础设施所建立的基础,他们就会默认放弃学习堆栈的较低层(包括硬件)的机会。这里没有错误,因为云基础设施的实施者和运营商已经做出了特定的选择,有意使其产品更易于使用。
这意味着现在,比以往任何时候都更需要有意识地思考您在选择使用云技术时所做的权衡——或者其他人所做的权衡。大多数人不会知道已经做出了哪些权衡,直到他们收到第一份超额的云账单或第一次由“嘈杂邻居”引起的停机。企业可以信任他们的供应商做出最有利于其运营的权衡吗?供应商会建议更有效率或更有利可图的服务吗?让买家(或工程师!)当心。
[ 相关阅读 开源开发者应该了解云服务提供商的 5 件事 ]
有意识地思考权衡需要从多个角度审视您的需求和目标。基础设施决策及其中的权衡是该项目的整体流程、设计或使用模型所固有的。这就是为什么必须尽快对其进行规划。为了为您的项目找到一个好的归宿,必须考虑多种不同的路径。
首先,存在要实现的目标或提供的服务的轴心。这可能伴随着对速度、质量或性能的要求。这本身可能会驱动许多变量。您可能需要专门的硬件(例如 GPU)来以可接受的速度处理请求。此工作负载是否需要自动扩展?当然,这些路径是相互交织的。问题已经跳到“我的钱包会否自动扩展?”
业务需求是需要考虑的另一个方面。您的项目可能具有特定的安全或合规性要求,这些要求规定了数据的存储位置。与相关服务的邻近性也是一个潜在的关注点。这包括确保与附近的证券交易所建立 低延迟连接,或提供高质量的本地视频缓存作为内容分发网络的一部分的能力。
然后是最后一部分,即所提供服务的价值和成本——人们希望或可以花费多少来满足需求。这与第一条路径紧密相关。您的业务“是什么”以及您的业务“如何”运作。这可能像您的企业更喜欢资本支出还是运营支出这样平凡的事情。
[ 另请阅读 云服务:充分利用您的承诺支出的 4 种方法 ]
在查看这些选项时,很容易看出更改任何一个变量如何开始更改其他变量。它们本质上是相互交织的,并且某些技术可能允许这些变量动态变化。如果不了解较低层的基质,您可能会冒着走上进一步发展这种动态计费模式的道路的风险。对于某些人来说,这是首选。对于另一些人来说,这可能是可怕的。
即使在现代技术堆栈中,学习特定于硬件的知识已变得更加可选,我们希望本文鼓励您了解您可能在不知不觉中错过的东西。硬件的改进一直是功能交付和效率提升的重要组成部分,将计算机从房间大小的庞然大物缩小到足够小以植入人体内部。我们希望您花时间停下来、学习并考虑您的下一个项目将在哪个硬件平台上运行,即使您不控制它。
如果您是一名尚未从云端回过神来的学生,请找一台旧电脑,安装一根内存条,并挑战自己学习一些新东西。
评论已关闭。