软件定义和硬件重构知多少

Hardy晗狄 Hardy晗狄     2022-12-02     232

关键词:



硬件重构篇

在软件定义篇中我们提到硬件重构是从互联网公司发起的,所以我们需要了解下互联网公司。互联网公司是云计算的推行者也是践行者,说起云计算就不得不说服务器和机柜,在大型互联网公司存储、服务器都是为特殊互联网业务定制。我们先从服务器定制开始说起。

服务器和机柜硬件重构:
首先,我们从互联网数据中心设施说起,在超大模(HyperScale)数据中心的统计中服务器数超过10万台的公司(已经属于第一等级),一共也就十厂家包括:

  • 美国公有云市场上的前六位:Amazon,Google,微软, Rackspace, Soft ayer、SavviS。

  • 最大的CDN ( Content Every Networ 内容分发网络) Akamai。

  • 当然还有OCP ( Open Compute Protect 开放计算项目)的发起者FaceBook。

  • 国内BAT(百度,阿里巴巴和腾讯)。

传统IT厂商如Dell为Google等互联网巨头定制服务器,在全球定制化服务器提供商中HP和Dell排名占前两位。随着Google等互联网业务增长,服务器的数量已经超过200+万台,作为传统IT厂商的客户,Google等一些互联网公司完全可以自产自销,从而改变服务器供应模式。然而,IT能力和设施是互联网公司的命脉和竞争力,所以从规模、成本、生态系统构建、服务器和机柜定制标准方面需要重新审视来适应新需求:

  • 大规模扩展Scale out能力:需要上百/万台服务器运行一个互联网应用的能力

  • 自主知识产权,开放生态圈:从互联网公司去IOE、谷歌开源GPS算法等项目、积极响应OpenPower,支持RAM/AMD CPU芯片等策略可以看出,互联网公司在主导先进技术的同时,还在构建自己的生态圈,防止被一家厂商绑定。

  • 透明性和IT堆栈可见性:基于业务构建SILO式IT系统,避免虚拟化,强调效率和特定应用优化。


  • 整机柜部署和交付:便于快速交付,集中供电、散热和管理,基础设施资源有机柜内几十台服务器共享。天蝎项目就是整机柜解决方案:

  • 硬件定制和模块化设计:去掉标准电源,不必要的USB,显示器;把设置在后端的IO接口转移到前端,不需要单独电源线,采用专用的机柜和内置模块。把计算、网络和存储资源模块化集中在一个机箱,最大限度利用机柜空间。

存储硬件重构和新模式

传统的机架式服务器计算、存储和网络配比都比较均衡,所以具有很好的通用性,但是在互联网应用中,往往通过一个大集群运行一个互联网应用,如果采用这种通用性配置就会对其他资源造成浪费;对于计算密集型应用,空着的磁盘框、驱动器和扩展槽等会影响计算密度;而对于存储密集型应用,CPU和内存的配比就过高了。为了适应这种特定应用诉求,存储需要满足:

  • 存储模块化机柜:类似类似计算资源,存储也需要模块化、集中化;IO端口和磁盘完全集中在一个机箱中。

  • 存储融合在服务器中:在互联网服务器整机柜方案中,整机柜方案即扮演计算节点又充当存储节点,不同于传统IP行业,需要独立的外置存储(其实在传统IT行业,很多一体机也是这种架构,如Oracle Exadata机柜包含了计算节点和存储节点)。

  • 存储堆栈简化:传统的IT堆栈架构是服务器应用通过Filesytem接口或SCSI命令通过OS/卷管理软件到达存储系统前端,再由存储控制器解析数据访问的LBA信息,最后才能访问到某一块磁盘设备;但随着海量数据(尤其是非结构化数据为主的互联网应用)增长,无状态的Key-Value存储可以简化数据方案软件堆栈和IO路径,通过对某一文件进行简单的Hash计算,就能通过HTTP协议访问到想要的文件。

人工智能和硬件重构

说完互联网数据中心基础架构,我们接着谈谈互联网公司在人工智能方面的硬件重构,也叫硬件创新或新硬件。它以互联网和大数据技术为基础,由极客和创客为主要参与群体,以硬件为表现形式的一种新产业形态。

这里说的新硬件,不是主板、显示器、键盘这些计算机硬件,而是指一切物理上存在的,在过去的生产和生活中闻所未闻,见所未见的人造事物(如今天多轴无人飞行器、无人驾驶汽车、3D打印机、可穿戴设备、智能机器驮驴,机器人厨师是人们在这些东西出来之前无法想象的事物)


温馨提示:

请搜索“ICT_Architect”“扫一扫”下面二维码关注公众号,获取更多精彩内容。



测试覆盖率知多少

...测试对需求的覆盖程度,通常的做法是将每一条分解后的软件需求和对应的测试建立一对多的映射关系,最终目标是保证测试可以覆盖每个需求,以保证软件产品的质量。我们通常采用ALM,Doors和TestLink等需求管理工具来建立需... 查看详情

网络银行木马dyre知多少

...ACK,甚至某些形式的419骗局。趋势科技也目睹了银行恶意软件的添加。这个恶意软件家族变种试图窃取敏感信息,如银行认证信息和电子邮件账号具体数据。它们会利用信息窃取技术,一般会伪造跟银行站点一 查看详情

css知多少——选择器(转)

...分——css和html的结合——说白了就是选择器。  CSS中定义了样式,如何将这些样式设置到相应的html节点上?就不得不通过选择器。让浏览器知道css选择了哪一个dom节点,浏览器就会乖乖的把相应的样式渲染成视图。  至于c... 查看详情

aes简介以及c#和js实现加密知多少系列(代码片段)

...标准:128位、192位和256位。比提交的其他算法更安全。在软件和硬件实现上都很高效。AES密码与分组密码Rijndael基本上完全一致,Rijndael分组大小和密钥大小都可以为128位、192位和256位。然而AES只要求分组大小为128位,因此只有... 查看详情

alc--软件定义架构的plc

“软件正在吞噬世界,所有过去特定硬件实现的功能,现在都会通过软件实现”,传统封闭的工业控制系统,其通过特定硬件实现的功能在工业互联网时代都将被软件所取代,硬件将重新实现重构,功能将有软件来定义。未来以... 查看详情

eshoponcontainers知多少[8]:orderingmicroservice(代码片段)

...uentValidator3.简明DDD领域驱动设计是一种方法论,用于解决软件复杂度问题。它强调以领域为核心驱动设计。主要包括战略和战术设计两大部分,其中战略设计指导我们在宏观层面对问题域进行识别和划分,从而将大问题划分为多... 查看详情

程序员,软件测试知多少?

送给初级程序员的测试认知文作为开发同学,一些基本的测试岗位相关知识还是很有必要了解一下,免的某些同学在工作中和测试同学斗嘴、打架、群殴等以及被测试鄙视....。我们常常听说的一些测试专业术语,比如白盒、黑... 查看详情

java继承知多少,本文详细告诉你

...以使得子类具有父类的属性和方法,还可以在子类中重新定义,以及追加属性和方法。实现继承的格式​:​继承通过ext 查看详情

metaverse系列二3d引擎知多少

...只能是一个模型,趴窝里不能动。3D模型也一样,用3DMax软件制作了一个非常逼真、精美的3D模型,带有光影和动画效果。但它是“死”的,不能互动这就差些意思。而引擎给3D模型赋予人 查看详情

性能测试知多少——常见性能问题

...在用户的角度去测试实际的感受,如果说功能测试是确保软件可用,易用。那么性能测试就是让这些功能变得更流畅,用户使用的更舒服。不过很多刚刚进入测试家庭的新同学很容易将性能测试这个过程片面的理解成找工具或者... 查看详情

bim技术在各阶段应用的软件你知多少?

...BIM在工程建设的全生命周期各阶段的应用,都需要相应的软件来完成。目前市场上应用软件几十种多达几百种。那现在具体说一下我们最常用的有哪些吧。BIM在工程建设的全生命周期各阶段一般我们需要用到CAD、Revit、Lumion、Fuzo... 查看详情

关于函数,你知多少?

...要的一点。理解函数也是非常有必要的。先来看看函数的定义。如下:1//函数声明2//函数声明不会立即调用,可以在你需要的时候调用它3functiondemo(){45}67//函数表达式,该函数也可称为匿名函数(无函数名)8//该函数保存在一个变量... 查看详情

科技云报道:开源真的香,风险知多少?

...云报道原创。过去几年,开源界一片火热,开源软件技术已全面进军操作系统、云原生、人工智能、大数据、半导体、物联网等行业领域。数据显示,我国超九成企业在使用或正计划使用开源技术。与此同时,全... 查看详情

《重构》编程高手进阶之路

重构的定义:重构是一种在不改变软件可观察行为的前提下对软件内部结构一种调整。重构的目标:1.代码容易阅读。2.所有的逻辑都只在唯一的地点指定。3.新的改动不会危机到现有的行为。4.尽可能简单表达条件逻辑。重构与... 查看详情

typescriptinterfacevstype知多少(代码片段)

接口和类型别名非常相似,在大多情况下二者可以互换。在写TS的时候,想必大家都问过自己这个问题,我到底应该用哪个呢?希望看完本文会给你一个答案。知道什么时候应该用哪个,首先应该了解二者之间的相同点和不同点... 查看详情

python文件操作知多少?

...件大家应该都不陌生,但是在接触计算机之前,通常将文件定义为内容的载体.如公文书信或者有关政策理论方面的文章.计算机文件也一样,而且在计算机中文件的类型更加丰富多样,用途广泛.有的是用来支撑程序运行的,有的只是单... 查看详情

carson带你学java:泛型知识知多少(代码片段)

目录定义意义(即为什么要使用泛型)作用及特点原理额外说明:List能否转为List?定义可理解为适配广泛的类型,即参数化类型,可以把类型像方法的参数那样进行传递。//以ArrayList为示例//泛型T可以是... 查看详情

前端安全知多少

说到安全,大家脑海浮现的一定是这种场景。他们噼噼啪啪敲几行代码,就能控制对方电脑于千里之外,酷到没朋友。但这些似乎离前端还挺远的。常常听到什么SQL注入,缓冲区溢出,DDoS,CC攻击,好像和前端也没啥关系,渐渐... 查看详情