热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

为什么你会在你的数据中心中部署ARM服务器

本文我们讨论ARM服务器的发展前景。ARM服务器是按着x86服务的规格做的,你能想到的x86服务器的机制基本上它都提供。比如RAS,UEFI,服务器Linux发行版,其他不可言说的

本文我们讨论ARM服务器的发展前景。

ARM服务器是按着x86服务的规格做的,你能想到的x86服务器的机制基本上它都提供。比如RAS,UEFI,服务器Linux发行版,其他不可言说的OS发行版,Docker,KVM,Web Server,Memcache,SQL/NoSQL数据库,iSCSI,Java/Python/PHP,OpenStack等等等等,这些都有人跑过,在验证环境和产品环境中都有人跑过。

当然,前提是你的软件得重新编译……

这就拦住很多人了。不过你得这样想,如果你能把ARM服务器在数据中心某些节点上用起来,特别是那些完全被你控制的节点上(比如说占据整个网络三分之一节点的块存储节点?或者大量使用的Memcache节点?)用起来,比起你现在数据中心硬件上只有一个老大哥,你没有任何议价能力,这个背后是不是有种邪恶的快感?

现代网络最大的好处在于它是建立在通用通讯协议的基础上的,微服务的存在给你灵活移动业务提供了无数的可能。ARM服务器的引入,作为内置大部分外设能力的SoC(比如大部分ARM服务器都是直接内置SAS, 高速网络和PCIE控制器),为这个网络的降成本和降功耗,提供了更多的可能性。

但你还是会犹豫,因为你没有用过,对它能给你什么样的反馈,这个东西会带来多少坑,你是没有底的。这种情况下,为什么要给本来就缺乏维护人手的数据中心引入新的风险?

我觉得,我们可以从一个新的业务开始,这个新的业务是“云端手机”。

手机应用的开发者都知道,Android SDK通过qemu在x86上模拟ARM的指令,从而模拟一台手机供开发者调试,这个对于一般的开发还是可以的,但要做大规模的测试,就有点难了。但如果你的开发机器本来就是ARM的,这个就完全不同了,这种情况下,qemu可以直接运行在KVM模式,相当于在本地运行,这可以获得10倍以上的性能提升。

有人可能会Argue说,现在其实也有x86仿真x86的Android虚拟机,但那种虚拟机能跑多少应用你们都清楚,这个世界有种东西叫NDK的。

这种云端手机首先对回归测试是很有吸引力的,你用真机测试,你能准备多少种不同大小的屏幕?你怎么模拟电源的不同状态?你怎么模拟GPS的不同位置?这些东西,对于虚拟机来说,不过就是个脚本的事情。

至于很多人想到的什么“刷单”这种无耻的事情,你们不要跟我谈,我这种正经人是一句都听不进去的。实际上我们不需要,用虚拟的手机集群可以做的正经事多了去了,最常见一种情形,应用市场对大批应用的回归测试,就需要手机集群来完成。

这种应用对数据中心引入的代价不高,因为它完全可以作为libvirt的一个connection,或者说,它自己就可以作为一个nova node,接受其他已有成熟的管理措施来管理,比如openstack的一整套或者基于K8S。

其实这个都不是我想讨论的重点。我是在考虑未来的一个趋势:服务云化,这一点已经成为现实了。但服务毕竟还是和最终客户关系不大的。但手机云化,就和每个个人息息相关了。

我先解释一下什么叫手机云化。手机云化就是用云上的虚拟机运行一台手机。一般情形下,它和任何人没有关系,仅仅在云上运行,你可以连看都不看它,它的显示仅仅是个虚拟的动作,所以它吃掉的计算资源仅仅是运算部分的。当你需要访问这台手机,你可以通过一台真实的手机attach它,这样它的显示就到你的机器上了,它的传感器数据(比如你的位置,手机的倾斜度,加速度之类)也从你的手机上获取。

在现实方面,它通常有两种技术,一种是屏幕压缩传输,就是所有的图层叠加在服务器上完成,然后压缩成特定规格的视频流,复原到手机上。另一个种技术是服务器仅仅对手机发送OpenGL原语,在手机上完成所有的绘图(使用手机的GPU能力),后者常用于高性能游戏这种要求低时延的环境。

手机云化可以带来什么?我觉得包括这些:

第一,把大业务量的应用放到强大的服务器集群中,强化了手机的能力。手机放多少个核,和服务器比都是渣渣,功耗在那里限制着呢。而提高功耗是不靠谱的,因为每台大电池容量的手机就是一个炸弹。你敢做出大容量的电池,航空公司就敢不让你上飞机。

所以,如果手机在云上,你随身的手机只需要完成交互,那些什么自动识别,自动归类啦,大部分都可以在云上完成了。也许你觉得直接按应用,用云存储也能接着这种问题。但云存储和直接手机上就是所访问的数据的整个体验是不同的。云存储做不到的事情,一台有100T存储空间,背后还有按需分配的4个1080Ti保驾护航的“云端手机”却是可以做到的。

能一辈子陪着你的是你云端的手机,你手中的,仅仅是你的手机灵魂的一个臭皮囊。

对于这个趋势,我猜很多人会担心私隐问题。私隐问题最后会怎么解决,我不知道,但现实是,你现在已经有无数的东西在云上了。

第二,BYOD。员工进入企业的工作区域。企业的信息不希望被员工的手机访问,员工的私人信息不希望被企业访问。很简单,进入企业网就直接连企业分配的云端手机,反正在企业网内部,带宽都是可保证的,该怎么干活怎么干活。离开企业,回到自己的生活,两者完全分离。

第三,沙箱测试。你对一个软件不放心吗?租台手机用3天来试用一下,用完就扔,不留痕迹。怎么样?

第四,备份。克隆手机即可备份

第五,远程协助。类似PC的远程协助功能,你打游戏打了一半过不了关,把手机屏幕推给男朋友给你过,过了又推送回来……

第六,辅助办公。用桌面连云手机,显示为桌面(类似华为Mate10的桌面模式),完成基本的办公工作。

手机的数量远远大于服务器的数量,如果打开手机上推的这个渠道,会有无数的可能性。各位拽着钱没地方花的云提供商们,不连几个机架来玩玩吗?


推荐阅读
  • 本文介绍了数据库体系的基础知识,涵盖关系型数据库(如MySQL)和非关系型数据库(如MongoDB)的基本操作及高级功能。通过三个阶段的学习路径——基础、优化和部署,帮助读者全面掌握数据库的使用和管理。 ... [详细]
  • 本文详细介绍了优化DB2数据库性能的多种方法,涵盖统计信息更新、缓冲池调整、日志缓冲区配置、应用程序堆大小设置、排序堆参数调整、代理程序管理、锁机制优化、活动应用程序限制、页清除程序配置、I/O服务器数量设定以及编入组提交数调整等方面。通过这些技术手段,可以显著提升数据库的运行效率和响应速度。 ... [详细]
  • 本文详细介绍了一种通过MySQL弱口令漏洞在Windows操作系统上获取SYSTEM权限的方法。该方法涉及使用自定义UDF DLL文件来执行任意命令,从而实现对远程服务器的完全控制。 ... [详细]
  • Symfony是一个功能强大的PHP框架,以其依赖注入(DI)特性著称。许多流行的PHP框架如Drupal和Laravel的核心组件都基于Symfony构建。本文将详细介绍Symfony的安装方法及其基本使用。 ... [详细]
  • 本文详细介绍了 phpMyAdmin 的安装与配置方法,适用于多个版本的 phpMyAdmin。通过本教程,您将掌握从下载到部署的完整流程,并了解如何根据不同的环境进行必要的配置调整。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • Redis:缓存与内存数据库详解
    本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ... [详细]
  • C#设计模式学习笔记:观察者模式解析
    本文将探讨观察者模式的基本概念、应用场景及其在C#中的实现方法。通过借鉴《Head First Design Patterns》和维基百科等资源,详细介绍该模式的工作原理,并提供具体代码示例。 ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 离线安装Grafana Cloudera Manager插件并监控CDH集群
    本文详细介绍如何离线安装Cloudera Manager (CM) 插件,并通过Grafana监控CDH集群的健康状况和资源使用情况。该插件利用CM提供的API接口进行数据获取和展示。 ... [详细]
  • 在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ... [详细]
  • 本章详细介绍SP框架中的数据操作方法,包括数据查找、记录查询、新增、删除、更新、计数及字段增减等核心功能。通过具体示例和详细解析,帮助开发者更好地理解和使用这些方法。 ... [详细]
  • YB02 防水车载GPS追踪器
    YB02防水车载GPS追踪器由Yuebiz科技有限公司设计生产,适用于车辆防盗、车队管理和实时追踪等多种场合。 ... [详细]
  • 本文深入探讨了分布式文件系统的核心概念及其在现代数据存储解决方案中的应用,特别是针对大规模数据处理的需求。文章不仅介绍了多种流行的分布式文件系统和NoSQL数据库,还提供了选择合适系统的指导原则。 ... [详细]
author-avatar
mobiledu2502871817
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有