神龙X-Dragon,这技术“范儿”如何?

戳蓝字“CSDN云计算”关注我们哦! 640?wx_fmt=png

在CSDN总部会议室,阿晶首次见到了阿里云智能研究员、弹性计算技术负责人张献涛——这位不仅仅在阿里云智能内部,在业内也是响当当的虚拟化技术大牛。现在回想起来,当时聊了没两句,阿晶就问了这样一个问题,“阿里云这款全新一代服务器为何命名为神龙X-Dragon?难道是追求'X战警'那种领先和黑科技的感觉么?”
张献涛笑着回答,“在命名的时候,考虑到中西文化差异,有些词直译出来可能比较冗长,最后确定了这个最简洁的方案,不仅具备了国际元素,更重要的是音译出来特别有范儿,就定了! ”
640?wx_fmt=png
张献涛(左) 阿晶(右)
其实神龙X-Dragon的“有范儿”,从2017年10月推出的那一刻就表露无疑了。当时有报道提出, 这个云计算领域的“新物种”兼顾了物理机与虚拟机的特性,可以像使用虚拟机一样灵活地使用物理机,而这个特性主要由自主研发的神龙架构来保障,源自阿里云智能多年在基础设施领域的技术积累。
裸金属?阿里云为啥卯劲儿做这个?

裸金属服务器怎么就这么火?阿里云智能为啥卯着劲头做这个?张献涛表示根源还在于IT领域发生的显著变革。在传统IT基础设施架构时代,每家公司都在“买机器、换机器、买机器”的无限循环中生存;然而,随着云计算的出现与普及,许多企业已经不再考虑自建机房,毫不犹豫地选择云基础设施来支撑所有业务,其中比较有代表性的就属新兴的互联网公司。但是在此之外,仍然存在大量企业不可避免地会使用一些线下物理机,重复之前的循环。那么,如何提供一个稳健的底层基础设施,帮助这些企业全面上云就成了阿里云必须要解决的问题。
顺利上云可以充分利用云计算的弹性优势,但如果需要颠覆企业原有的IT架构,哪怕是形势所趋,阿晶认为企业也会在成本消耗上打退堂鼓,所以就需要一个折中的方法。通过张献涛了解到,目前市面上广泛采用的折中方式就是物理机托管以及托管云,但深入分析这种折中方式的很多实际应用情况发现,这种托管的方式并没有充分利用云计算资源池化带来的优势,更无法形成规模化运作,这两套系统的割裂状态更阻碍了整体公共云的良性发展。
基于这些情况,阿里云决定做一款新型云服务器,既能提供物理机的性能和特性,又能像虚拟机一样和已有云计算基础设施完美融合,充分利用资源池化的优势,并能与其它的云产品互联互通。具体来说这种新型云服务器要兼具物理机和虚拟机的优势,同时消除它们的劣势,还要显著提升服务器的计算效率,尤其是要满足对服务器安全隔离与性能等要求较高的大型企业上云的诉求。
此外在采访中,张献涛还重点指出,云计算已经发展了十年有余,但底层的基础硬件却并没有为云计算而做出根本改变,与传统IT时代差别并不大。如果可以通过改造硬件架构来更好地适应云计算的技术发展,提升计算效率,想来绝对是一件很靠谱的事情。“经过一系列探讨,我们认为可以利用虚拟化技术为蓝本,通过重新定义硬件架构,打造一款和虚拟机一样体验的物理机。如果目标达成,那么它不是传统意义上的虚拟机,更不是托管类型的物理机,而是为计算而生的“新物种”。在产品发布时使用了神龙云服务器这个新的命名,神龙X-Dragon就一步一步走到了如今。”
“有想法=成功了一半”,阿里云如何做好后续?
人们都说“有想法=成功了一半”,但要真正付诸实践,将想法变成产品可不是一件容易事儿。“神龙X-Dragon本身就是一个软硬融合的产品,涉及到服务器、硬件、芯片、固件以及系统软件的研发与改造,因此需要阿里集团内部多个团队的协同才有可能完成。同时,大量资金和资源投入到充满不确定性的高风险的创新项目中,一方面显示了阿里对于创新的支持,而另一方面整个项目组也因此而承担了前所未有的压力。”张献涛表示。但面对种种困难,在将好的idea转化为实力产品的过程中,阿里巴巴内部的技术开放、协同的氛围以及同行小伙伴们对云计算技术革新的期盼,极大促成了神龙X-Dragon的诞生。
关乎战略、人员、资源等层面的还不算难题,如果从技术层面出发,最难的还是“裸金属产品要做到像虚拟机一样灵活”的诉求。由于虚拟机主要就是通过软件来实现,其灵活度很好,但要让一个物理属性的产品也同时做到这点,听着就有点儿不靠谱的样子。举个例子来说,虚拟机在正在运行的过程中,可以动态挂载云盘和弹性网卡来提升功能和性能 ,但如果要让一台物理机也能具备这个能力,并且要做到API接口都要完全一致的话,难度就上升很多了。再比方说,要让一台裸金属机器在硬件故障时支持宕机迁移,并且要保留一切配置和数据不变,甚至是MAC地址和IP都不能变化,这绝对是一种很难的技术挑战。
在这样的想法支持与推动下,经过不断实践创新,如今每台神龙服务器都可以做到像虚拟机一样被X-Dragon Hypervisor管理和调用,在阿里云控制台中创建/释放一台神龙弹性裸金属服务器和创建/释放一台普通ECS虚拟机是一样的,同时可以使用云基础设施池化的存储和网络资源,做到了资源的灵活弹性。在计算方面,X-Dragon Hypervisor运行在独立于主机外的专用硬件设备上,因此整个机器的计算性能没有任何损耗。如此一来,神龙弹性裸金属服务器便克服了公共云遇到的几个问题。首先神龙弹性裸金属服务器没有软件虚拟化带来的性能开销,完全发挥处理器和内存的性能。其次服务器的资源是独占的,其性能非常稳定,不会出现起伏不定的状况。第三,神龙系列服务器支持嵌套虚拟化,主流的虚拟化系统都可以在上面运行。在克服传统云计算主机缺点的同时,又保留了云主机的优点,比如上面提到的弹性部署、API操作、镜像启动、VPC网络等特性一样不少。“我很庆幸团队成员在遇到问题时没有选择退缩,而是迎难而上,才有了今天的成绩,克服了很多特别难解决的技术点。”
 
神龙这样优越,在阿里自身的云化进程中作用如何?关于这个问题,在历年天猫双11中早已有了答案。“大家都知道,在大促之时整个机器的负载都会瞬间变得非常高,容器化部署的业务在机器负载较高时,会遇到网络和存储虚拟化逻辑和业务争抢资源的事情,从而导致性能瓶颈,并且很可能导致业务的响应时间出现雪崩;但采用神龙之后,由于所有的网络和存储队列都通过自研神龙芯片来实现,其中的强隔离特性就会达成事半功倍的效果,再也不会出现高负载的情况下延迟大幅度提升导致业务不可用的情况发生。”
640?wx_fmt=png
阿里云智能张献涛

使用神龙之后,其上每条数据流都能够做到独占网络队列以及存储队列。由于是硬件隔离,无论是高负载还是低负载,其整体表现都很均衡,以电商业务为例,使用神龙之后整体业务性能提升了20%-30%,并且高低负载情况下的业务延迟几乎无变化,做到稳如磐石。
此外还有一个有意思的现象,过去大部分K8s选择部署在虚拟机上,而如今越来越多的K8s正逐步部署在裸金属(bare-metel)服务器上。阿晶思考,以上展现出的神龙种种优势与容器的匹配度又如何呢?这一点也得到了张献涛的证实。通常在容器场景下会涉及到两层虚拟化,采用物理机就简单变为一层,如果使用神龙则变为零距离接触,根源在于所有的虚拟化部署全部集中在自研神龙芯片中并进行加速,对比普通物理机性能可以提升20%到30%的节奏,这意味着至少可以少购置百分之二三十的服务器,成本节约巨大。可以说,神龙裸金属服务器是K8S等容器解决方案的最佳计算平台,提供了超越物理机的性能和稳定性。
提及安全保护,张献涛提出当前来自安全的担忧确实很多,所以在裸金属服务器设计之初就充分考虑到这一点,毕竟保证安全比提升效率要重要很多。 “通常来讲,更新固件是一个低频率的操作,所以我们在硬件和固件的设计上就严格限制了带内对固件的访问,避免黑客的入侵,所有固件的升级都通过带外来完成。此外神龙的设计本身也满足可信的需求,例如在金融场景中,可以满足客户对于等保认证等需求。
如今神龙已经研发到了第三代,神龙也从最初的裸金属服务器的代号演进成了支撑阿里云计算业务的神龙架构,并以此新型架构打造了阿里云神龙计算平台,承担一切计算型业务。回顾第一代神龙架构更多是支持裸金属服务的物理节点,高效解决用户依赖物理机上云的痛点;而第二代神龙架构的研发则将“并池”作为重点,同时可以支持裸金属和虚拟机产品的需求,不仅实现裸金属和虚拟机的体验一致,更可以利用同一个资源池提供多种类型的计算服务。例如在超算场景下,如果使用虚拟机来承载业务,性能损失可能会超过90%以上,在没有神龙架构之前,这类业务根本无法上云,如今通过刚才讲述的资源“并池”,使用同样的资源直接提供裸金属服务就妥妥的了。
简单来说就是一台在数据中心配置的服务器,既可以产生承载超算的实力 ,也可以用作虚拟机的功能,还可以被当作是裸金属服务器使用,毕竟用户的需求才真正决定了服务器的具体“功效 ”。“我们已经 完成了第三代神龙架构的研发并计划在近期发布,十分期待,预计性能还会有3-5倍的提升。”
从MOC卡SoC芯片问鼎神龙未来
就在阿晶准备采访的前几天,有一则消息称,阿里平头哥正在研发一款专用SoC芯片,将用于新一代阿里云神龙服务器的核心组件MOC卡,以推动下一代云计算技术的升级在,真的吗?
据了解在神龙X-Dragon中,阿里云智能研发团队自研了“X-Dragon虚拟化芯片”,“ X-Dragon Hypervisor系统软件”以及“X-Dragon服务器硬件架构”。其中X-Dragon虚拟化芯片在芯片层主要解决虚拟机和物理机体系结果不一致的问题,让二者能在系统软件层面保持100%兼容,可以这样说, X-Dragon芯片是装在弹性裸金属服务器中的MOC卡的核心。
对此张献涛介绍说,这款阿里云自研的MOC卡拥有独立的处理、存储、I/O等单元,主要承担了原来通过软件形式实现的网络、存储以及外围设备的虚拟化;而神龙服务器的主板也是阿里云定制的,专门用作针对MOC卡进行优化,以便X-Dragon Hypervisor可以方便管理整个服务器,足见重要性。
谈及这个消息推测判断,张献涛对阿晶谈及了一段有关“选择”的纠结历程。“那时可以明确的一点,当时阶段的芯片技术以及其他硬件完全没有办法满足神龙的架构需求,所以自研芯片就变得势在必行了。可是选择自研也要进一步明确,是SoC还是FPGA?毕竟各有优势。”
具体来说,FPGA的优势在于灵活性较强且开发周期较短,半年左右就会出结果;相比之下SoC可能需要24个月,最少18个月才能迭代一次,这样分析下来FPGA最少可以保证半年迭代一次。“所以我们刚开始选择的时候也倾向于不要先着手SoC,尽管集成度比较高且成本具有优势,但毕竟开发速度实在跟不上如今互联网公司发展的情况,所以一定程度上还是FPGA比较好。”他补充道。
截止目前神龙坚持用FPGA,但发展到一定程度且芯片内部逻辑基本成型后,张献涛认为也可以考虑采用其他选择,这是一个水到渠成的过程,相对来说也比较容易操作,使用SoC是一个可以被考虑的发展方向。如今神龙带来的优势非常明显,能够解决各种系统损耗以及资源消耗等问题 ,为云计算成本下降和性能提升立下汗马功劳,同时还能满足用户上云的刚需。“未来关于神龙,各种迭代都在不断规划中,但终其一点,真正满足用户需求才是最关键的。”张献涛说。
9月25日-27日,2019杭州云栖大会即将拉开帷幕。今年大会将以开发者为主角,聚焦数字经济为核心,设置两天两场主论坛、110余场峰会和分论坛、超过20000平米的展区集中呈现最前沿的科技动态。
值得提及的是在9月25在D2-401会场13:30开始的阿里云智能弹性计算技术专场以及9月26日在D1-301会场9点开始的阿里云异构计算专场,都是张献涛作为出品人精心奉献给广大开发者的两场技术盛宴,届时会有很多技术大咖莅临现场并分享独特观点,敬请期待。

640?wx_fmt=png

福利
扫描添加小编微信,备注“ 姓名+公司职位 ”,加入【 云计算学习交流群 】,和志同道合的朋友们共同打卡学习!

640?wx_fmt=jpeg

推荐阅读:
  • 架构师必备技能:教你画出一张合格的技术架构图

  • 看完这篇还不会kafka,我跪榴莲!

  • 受困于敏捷开发的数据与架构?肿么办?

  • 阿里云智能 AIoT 首席科学家丁险峰:阿里全面进军 IoT 这一年 | 问底中国 IT 技术演进

  • 干货 | OpenCV看这篇就够了,9段代码详解图像变换基本操作

  • 周杰伦的《说好不哭》,20万点评Python来分析

  • 图解零知识证明(ZKP), 区块链中最常见的密码学技术究竟是神马? 看完这篇就明白了…

真香,朕在看了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/142694.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

SHENRON-1(神龙靶机)

环境准备 靶机链接:百度网盘 请输入提取码 提取码:75sy 虚拟机网络链接模式:桥接模式 攻击机系统:kali linux 2021.1 信息收集 1.nmap -sP 192.168.1.0/24 //探测目标靶机ip nmap -p- -A -T4 192.168.1.107 //探测目标靶机…

修改召唤神龙

修改召唤神龙 最近玩召唤神龙有点上头,但是经常在快成神龙的时候一口回到解放前,实在气不过所以就试着修改一下源代码。 0x01 用谷歌浏览器打开召唤神龙游戏界面 点开network查看网络请求,发现有index.*.js这几个文件比较特别 经过观察&am…

window系统安装教程

操作系统在网上有很多镜像,这里推荐我自己用的系统下载地址(msdn.itellyou.cn),也可以百度“我告诉你”或者“I tell you” ,这个网址上的系统算是纯净版了,而且系统版本很多,也支持多种语言的版…

C++服务器框架开发2——头文件memory/typedef

该专栏记录了在学习一个开发项目的过程中遇到的疑惑和问题。 其教学视频见:[C高级教程]从零开始开发服务器框架(sylar) 上一篇:C服务器框架开发1——项目介绍/分布式/#ifndef与#pragma once C服务器框架开发2——头文件memory/typedef 目前进度memoryty…

python抽签小程序

用python的random函数做一个班级抽签小程序 import random times1 while times < 5:members \[张俊宇,孙晓涵,黄皓, 黄媛媛,张仁鹏,班正平,闭玉婷,陆腾辉,高伟,黄锦鸿,姜小雪,苏慧芳,吴锦婷,谢晓桐,莫成妮,农诗佳,韦凯英,韦肖怡,安元光,卢崇竣,程俊龙,麻晨,仲湛秋,李宗树,农…

如何将python代码生成exe小程序

​我研究过很多办法&#xff0c;pyinstaller是最合适的。 安装pyinstaller&#xff1a; pip install pyinstaller 而如果要使用则使用如下指令&#xff1a; pyinstaller -F [文件名.py] --noconsole 使用上述指令&#xff0c;可以在dist文件夹实现一个单独的exe小程序的生…

简单的python小程序祝福母亲,母亲节快乐!

简单的python小程序祝福母亲&#xff0c;母亲节快乐&#xff01; 今天是星期天&#xff0c;也是母亲节&#xff0c; 不禁意识到二十二岁的我如此年轻&#xff0c;四十多岁的母亲似乎不再年轻。 今天编写了一个简单的python小程序。 代码如下&#xff0c;仅供参考。 import …

python简单小程序-Python程序员,如何快速开发一个小程序

要点&#xff1a; 小程序是前后端分离的。 前端使用的是微信自定义的一套规范wxmlwxssjsonjs&#xff0c;本质还是htmlcssjs。 后台可以选用任何你熟悉的语言&#xff1a;Java,Python,PHP,Ruby等等&#xff0c;在这篇文章里我选用Python的Flask框架GunicornNginx来快速搭建。…

【爆赞】这款Python小程序自动抠图只需5秒,秒杀PS手动抠图?

导语 大家好&#xff01;我是木木子&#xff0c;今天天气不是很好&#xff0c;下雨了&#xff0c;让我没点儿写文章的动力啊~ 写程序&#xff1a;一天到晚没事做&#xff0c;一行代码改一天&#xff0c;从白天学完天黑&#xff01; 在日常的工作和生活中&#xff0c;我们经常…

app小程序手机端Python爬虫实战11实现自动化登录考研帮app并滑动资讯信息

作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!😄 实现自动化登录考研帮app并滑动资讯信息 一、最终的实现 二、清楚数据 首先需要清除软件数据,这样广告才会出来 其他设置=》应用程序管理=》已安装=》找到考研帮=》清除数据三、设置模拟…

python的那些小程序(绘图)

python的那些小程序&#xff08;绘图&#xff09; 一、python的那些小程序绘制五角星绘制万花筒绘制字符画 二、总结三、参考文献 一、python的那些小程序 绘制五角星 import turtlespiral turtle.Turtle()for i in range(20):spiral.forward(i * 10)spiral.right(144)turtl…

Python之程序调试

Python之程序调试 一、前言二、使用自动的IDLE进行程序调试三、使用assert 语句调试程序 一、前言 在程序开发过程中&#xff0c;免不了会出现一些错误&#xff0c;有语法方面的&#xff0c;也有逻辑方面的。对于语法方面的错误比较好检测&#xff0c;因为程序会直接停止&#…

第一个Python小程序(Hello World!)

当安装好python时&#xff0c;可以在命令提示符中直接输入 python 就可以进入python自带的编辑器&#xff08;最好不要使用root用户&#xff0c;因为当你不小心把数据给删了&#xff0c;那可不是一般罪过啊&#xff01;&#xff09;&#xff0c;如图&#xff1a; 此时就可…

Python 小程序 绘制 小蛇

好激动&#xff0c;终于接触到关于图形知识&#xff0c;(^__^*) 嘻嘻…… 一、程序代码 二、程序分析 绘制等边三角形 import turtledef drawSnake():turtle.fd(200)turtle.seth(120)turtle.fd(200)turtle.seth(240)turtle.fd(200)def main():turtle.setup(500, 500, 0, 0)pyth…

实战|轻松用 Python 开发一个简单有趣的聊天小程序

前言 Internet 协议集支持一个无连接的传输协议&#xff0c;该协议称为用户数据报协议&#xff08;UDP&#xff0c;User Datagram Protocol&#xff09;。 UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。 UDP 的特性&#xff1a;它不属于连接型协议&…

Real-Time C++ 嵌入式C++ 程序设计(三)

翻译自 Real-Time C Efficient Object-Oriented and Template Microcontroller Programming 4th Edition - Kormanyos, Christopher&#xff0c;这书涉及了从C11 到C20 的内容&#xff0c;主要介绍使用C 的模板、面向对象等特性设计嵌入式程序。书里的示例代码都是公开的&#…

python控制微信小程序,python+appium微信小程序自动化实现

一、安装Appium 二、Appium SDK配置 三、chromedriver驱动路径配置及appium启动 1.查看X5内核版本 微信小程序是基于goole的webview 做了封装了,叫x5内核,所以跟chrome浏览器定位元素一样,需要配置chromedriver.exe, 通过 Uc-devtools 工具可以识别到 Chrome是什么版本,再…

Python--微信小程序简单爬取

一、微信小程序获取要求&#xff1a; 获取前10页的内容&#xff0c;并保存 二、准备分析工作 1、先进入微信小程序页面&#xff0c;url http://www.wxapp-union.com/&#xff1b; 2、进入首页&#xff0c;右击检查&#xff0c;或f12,如图&#xff1b; 3、获取第一页的url&…

Python+微信小程序开发(一)了解和环境搭建

一、小程序介绍 1.什么是微信小程序&#xff1f; 移动互联网时代&#xff0c;手机手机软件&#xff0c;在手机上中安装很多软件腾讯和阿里&#xff08;只安装自己不用别人&#xff09; 腾讯&#xff1a;微信 N小程序阿里&#xff1a;支付宝 N小程序 2.为什么要做小程序&am…

Python 作为小程序后端的三种方法

你好&#xff0c;我是征哥。微信的小程序是一个很不错的体验&#xff0c;简单&#xff0c;上手快&#xff0c;这几天也在学习使用小程序&#xff0c;自己总结了三种用 Python 作为小程序后端的方式&#xff0c;供你参考。 方法一、微信的云托管[1]。 优点&#xff1a;不需要购买…