[体验官] 华为云鲲鹏弹性云服务器KC1体验及评测--中软国际专业服务

1、开发场景:

  我们团队主要为鲲鹏云做软件移植,在armv8机器上现已经编译过了有上百的软件,涉及语言c/c++、python、Java、ruby等

2、使用体验:

  相比于其它云计算,arm架构的鲲鹏云属于华为云独有,使用的armv8指令集,与现在智能手机的指令集一样。

从操作上看,在arm上使用和在x86上使用没有什么大的差异,毕竟都是linux系统;

从功能上看,linux基本软件的适配也没有问题,华为提供了yum源,需要自己修改,不过也很简单,可以到华为镜像网站https://mirrors.huaweicloud.com/搜索相关源,如centos、epel,根据相关步骤修改。如果不修改,那yum安装软件是非常慢的,很影响体验。

虽然有yum源,但很多要使用的软件还是要自己编译安装的,比如mysql,官方MySQL的yum源只提供了x86版本,arm版的需要自己编译,其它很多软件都是如此。还有,在鲲鹏上使用java类软件包要注意,是否使用了jni,包内是否只有x86的.so文件,而没有提供arm的。

这给鲲鹏云的使用造成了一些不方便,毕竟编译安装过程不都是一帆风顺的,比如以下情况:

(1)如果代码与cpu无关还好,但有些软件代码内嵌汇编,这就要看arm的datasheet了,修改汇编代码了,这无疑非常不友好

(2)maven插件、Java的依赖包或代码里使用了jni的话,一般情况这些项目或jar里的.so文件都是x86的,可能无法编译,就算编译成功也会运行失败,所以在编译前后要扫描出项目和依赖包里的非armv8架构的.so文件,添加或替换成armv8的。鲲鹏论坛有一个很好的工具:https://bbs.huaweicloud.com/forum/thread-22679-1-1.html

(3)还有arm与x86在编译时gcc编译选项的差异问题,有些选项arm不支持,需要替换、删除或增加才能正常编译。

(4)就算编译成功,也要经过相关功能测试,才能放心使用,总之很麻烦;

(5)大多数编译问题集中在安装依赖包上,还有相关软件版本过低,下载速度过慢。相关工具如yum,maven,docker,python/pip,nodejs/npm,ruby/gem,不过都可以通过配置华为源加速,我认为这也并不全是鲲鹏云的问题,x86同样会碰到。

最后,从性能上说,我使用的是4核16G,虽然没有具体对比同规格x86,但是感觉不错,未出现卡顿,死机等现象。具体问题要具体分析,有些业务适合arm,有些适合x86,需要做性能测试对比,不能就认为arm性能低,或者x86性能低。不过同规格相比,arm便宜一点,对于企业运营成本,有所降低。

3、需求建议:

(1)基本软件与工具都有,可以满足开发需求,有一些官方文档和最佳实践,可以参考。建议官方可以将一些常用软件编译测试成功后,提供下载链接,最好是rpm形式,不只是提供文档.

(2)建议官方针对不同业务场景提供性能测试对比,可以让用户合理选择x86还是arm作为业务平台。

(3)关于业务迁移,数据迁移,官方应该完善相关具体文档,将一些现有迁移服务应用到鲲鹏云,提供导航入口,相应引导。

(4)鲲鹏云有做手机应用开发的优势,尤其是底层相关的,如驱动,内核,c/c++库,可以完善相关生态。

(5)最关键的还是文档质量,软件生态,使用的便捷性,降低运维成本,这是云的核心竞争力,arm这方面亟需努力。

 

4、满意度及推荐度:

   我个人对arm服务器较为满意,推荐使用;企业从成本考虑可以迁移一些应用到鲲鹏云。