代码在哪里运行?运行的是什么,为什么中断?人们可能永远不会知道。
在以往,企业数据中心的IT人员通常自己运营和维护服务器。IT团队仔细检查服务器规格,收集投标书,填写采购订单,然后进行交付,以便可以在机房中仔细安装和测试服务器,IT人员在日常工作中可以对服务器进行检查、配置、维护。
而企业采用云计算技术可能与硬件无关。因为只需点击其云计算供应商网站上的网页就可以创建一个“实例”,而一些IT团队将启动服务器的所有工作都交给一些持续集成和部署机器人运行的自动脚本。在配置构建例程时,只是花费一些时间讨论实例的规模,而之后工作交给机器人部署例程。这个软件甚至很智能(在没有IT人员的帮助下)地协商拍卖备用周期,以最大限度地降低成本。
随着“无服务器”这个流行术语变得越来越普遍,IT人员与硬件联系将越来越不紧密。当然,这并不意味着企业业务中没有服务器,只是IT运营人员不再担心自己的服务器或IT硬件的运营和维护问题。只需运行几行代码,就可以确保云中的服务器运行。
云计算中的许多奥秘可以减少劳动力,并减轻运营压力。这些秘密并不意味着人们需要思考关于内存配置或硬盘驱动器分区的任何细节,或者损坏的DVD-ROM光驱将如何处理。跳过这些琐事是件好事。开发人员一直在努力构建敏捷工具和应用程序,因此可以避开硬件故障这些让人烦恼的问题。
但是有时候云计算中的秘密有些多。在企业与云计算供应商签定条款之前,他们的讨论忽略了太多的细节。好消息是,有时候这些细节都无关紧要,IT人员不再为其硬件担心,因为这一切都在云计算中得到了解决。
但有时这些秘密需要考虑,以防企业运行的代码恰好在最重要的时候失效。那么需要考虑一些问题,出现故障的概率是多少,百分之一,千分之一还是数十亿分之一。
这并不是说IT人员应该对此偏执,致力于解决硬件失效的问题,但如果确实对此感到担心,那么需要了解云计算硬件的8个奥秘。
1.服务器在哪里运行?
众所周知,服务器运行在云端。有人可能会说其运行的实例可能在纽约或卡拉奇运行,但这就是人们知道的结果。通常人们能够了解的事情就是知道其服务器在哪个城市运营,或在哪个国家运营。
那么应该关心其服务器所在的街道地址吗?也许其所在的建筑本身位置保密就是一个安全特征,而不是一个漏洞。如果人们不知道服务器的物理位置,那么恶意攻击者也不会知道。因为云中的服务器并不像企业在自己的机房中那样触手可及。
问题是,有些人担心数据中心的物理位置,有些人担心税法或有管辖权的法律问题。也有一些人需要担心数据出口法律或不让数据出境。
2.采用什么CPU?
CPU是计算机的核心,其核心处理器的作用和人类大脑相似,因为它负责处理、运算计算机内部的所有数据,而人们也许还记得当年CPU每次更新换代对计算机硬件发展的影响。
而现在很有可能人们并不知道云计算服务器CPU的制造商、型号或任何细节。云计算公司向企业出售的CPU的名称也很神秘,例如“m1”或“large”,但这并不意味着什么,而“m1”和“m2”之间可能没有任何关系,它们只是名字罢了。
一些云计算公司计算企业正在购买的“虚拟”CPU功率,然后提供适当数量的CPU。这可能与服务器上的核心处理器数量有关,将会影响线程和并行算法,或者可能不会。有可能这一切都只是衡量企业购买的CPU数量。
IT人员关注的CPU的内容会有所不同。有时会出现可以追溯到特定CPU的安全漏洞或故障。“隐藏的神秘模式”漏洞影响了VIA C3的x86芯片组。有时需要了解线程模型和内核,以使算法运行得更快。对于很多这样的小问题,IT人员不必担心,因为云计算公司应该为其客户保持最佳状态。或者他们会给出承诺。
3.采用什么样的内存?
在以往,IT人员考虑是否采用更快的内存提高负载运行速度。此外,也想知道一些内存是否比其他内存更好或更稳定。因此选择了一些知名的内存制造商的产品,并对品牌和技术方法有所了解。
而现在,IT人员不会知道云计算的内存的好坏。这是云计算供应商工程师应该担心的事,所以企业IT人员没有必要这样做。但是对于那些工程师如何处理,人们可能并不知道。而业务出现问题,也许企业的实例因为内存质量不好而崩溃,也许是因为糟糕的代码。这些事,企业IT人员永远不会知道。
4.采用什么样的硬盘驱动器?
一些云计算供应商宣称使用SSD硬盘。有些供应商表示采用运行速度更快的硬盘。有些云计算供应商只会向人们租用25GB字节的存储空间,而不会详细介绍。但并非所有硬盘驱动器都具有相同的可靠性等级,也并非所有闪存都是相同的高性能。很多企业的代码因为闪存单元的质量而丢失。而采用云计算,通常不再担心丢失数据,只是启动另一个实例并继续实施即可。
5.并不简单的晶体管
内存可能是服务器中最简单的部分,它带有基本和无聊的语义。而晶体管可能看起来只是存储1和0这两个值的电子器件,但这只是在教科书的理论部分。在现实生活中,它们本质上是模拟电路,这可能导致一些问题。研究人员正在发现像Rowhammer和RAMBleed这样智能的技术,而黑客正在研究如何远程利用它们。如果人们不能相信内存的基本语义,那么还可以信任什么?
6.更加神秘的其他芯片
大多数IT人员很少讨论计算机的其余部件。可能人们通常会谈论CPU或内存,但除了网络团队以外,很少有人讨论网络处理单元(NPU),网络处理单元(NPU)可以迅速移动数据,但很多人似乎忘记了它的存在。但NPU拥有自己的固件,云计算有精心设计的可重新配置的网络层,其中包含一些最复杂的语义。虽然IT人员因为滥用分支预测和Rowhammer而烦恼,但是很少有人思考黑客会用网卡做些什么?
7.采用什么技术?
有时IT人员甚至不知道用于描述服务的正确流行术语。例如,亚马逊公司的冰川存储是存放数据成本最低的存储平台之一,但该公司不会解释他们正在使用的存储技术。那么它是由机械硬盘构建的吗?或者可能将数据刻录到蓝光光盘堆栈上?或者使用机器人手臂装载的磁带进行存储?也许使用了两种或三种不同的存储技术,并降低成本?这一切都是一个谜。IT人员所知道的只是每千兆字节的成本是多少以及检索信息所需的速度。
8.发生什么故障?
有时,企业IT人员永远都不会知道发生了什么故障。迁移到云平台并不能消除诸如断电、硬盘驱动器损坏或勒索软件等不良事件的危险,但它确实阻止企业IT人员需要了解的发生的事情。而在企业的机房中,IT团队的成员可以将故障进行通报,让每个人了解发生了什么。但云计算供应商可能并会将真相告诉用户。
在云端,人们可能不会认识任何处理问题的人。最多只是通过电子邮件或根据故障通知单上的联系方式进行沟通。即便如此,云计算供应商的律师、经理和公关部门会让用户对故障一无所知,而唯一得到的就是谨慎的措辞。
很好的一个例子是关于最近对QuickBooks会计数据的勒索软件攻击的故事。而采用云计算处理数据可以放心的营销言论让客户不知道究竟发生了什么。那么企业的数据中心如果遇到同样的攻击很容易崩溃,但其IT人员至少知道发生了什么,并根据情况进行处理。