在金融行业数字化转型的驱动下,国有银行、股份制银行和各级商业银行也纷纷步入容器化的进程。

 

如果以容器云上生产为目标,那么整个容器云平台的设计、建设和优化对于银行来说是一个巨大的挑战。如何更好地利用云原生技术,帮助银行实现敏捷、轻量、快速、高效地进行开发、测试、交付和运维一体化,从而重构业务,推动金融科技的发展,是个长期课题。

 

本期金融云原生漫谈,将和大家共同探讨银行在进行云原生基础设施构建时,裸金属和虚拟机哪个更适合作为容器云底层计算资源?谁代表了未来?


虽然,金融行业推进云原生建设的各种实践案例比比皆是,然而银行在着手实际建设之初,围绕“如何构建先进的云原生基础设施”的话题,依然众说纷纭,没有特别明确的答案。

以部署容器的底层计算资源为例,理论上来说容器云可以运行在任意基础设施上,既可以选择裸金属部署,也可以选择虚拟机部署。

过去,很多银行会选择虚拟机作为容器云的底层计算资源,然而,虚拟化的过程在为用户带来高灵活性的同时,其性能损耗也给用户带来了焦虑。

现在,随着容器技术的成熟,在裸金属上部署容器所带来的高性能等特点越发明显,让用户又开始面临着裸金属部署还是虚拟机部署的选择题。

在虚拟机上部署容器云平台有什么优劣势?

在裸金属上部署容器云平台有什么优劣势?

本篇文章将带你一探究竟。

在虚拟机上部署容器云平台有什么优劣势?

首先,选择虚拟机,可以最大化利用现有的基于虚拟化的云计算资源,为用户带来高灵活性的运维体验。从硬件管理层面来看,虚拟机对于底层硬件资源的管理和监控能力也更强。

但相对于裸金属,在虚拟机上部署容器云平台的性能损耗会更高一些。基于容器的云原生的价值之一就是直接和硬件层打交道,减少软件层的损耗以提升性能。然而我们在金融行业的落地实践中发现,使用虚拟机+容器方案,相比物理机直接跑容器中间多了一层Hypervisor,可能会导致很多硬件创新无法及时、高效地提供给应用使用,性能也会损耗大概10%~20%。

 

在裸金属上部署容器云平台有什么优劣势?

 

目前我们在客户实践案例中,渐渐可以看到一个趋势,越来越多的用户会选择裸金属部署容器。那么裸金属服务器有哪些优势呢?

首先在性能层面,由于少了虚拟机这一层的性能损耗,裸金属服务器构建出来的容器平台性能损失更小。应用程序可以直接访问CPU、内存及其他硬件资源,从而大大缩短延迟,并最大限度地提高资源利用率,有助于大幅提升性能。从具体的场景角度来看,例如人工智能的推理场景,借助 CPU 的 AI 优化指令集,AI 推理的性能可能带来几十倍甚至上百倍的性能提升。

在成本层面,由于少了虚拟机部分的建设投入,裸金属服务器构建出来的容器平台成本投入更低。在相同成本的前提下,裸金属配置往往能够提供比虚拟机配置更强大的功能,更适合需要高端硬件和快速扩展的较复杂项目。

在管理层面,由于少了虚拟机这一层的运维管理,裸金属服务器构建出来的容器平台运维管理更为简单。裸金属服务器的好处贯穿于整个开发过程。缺少虚拟化层降低了系统的复杂性,使故障排除起来更容易。由于配置更精简,管理服务自动化和软件部署也更容易。

在安全层面,裸金属服务器是单租户环境,比虚拟机的多租户环境更安全。裸金属服务器管理员全面控制系统配置,在降低网络攻击风险、敏感信息处理方面更具优势。对于关键类应用或性能要求较高的业务(如大数据集群、企业中间件系统),并且要求安全可靠的运行环境,更推荐使用裸金属服务器部署容器。

在工作负载层面,裸金属服务器可以支持灵活创建针对特定工作负载而优化的配置。虚拟机实例通常托管旨在满足一般工作负载需求的配置上。这意味着非常特定的硬件配置很少可供使用。而裸金属服务器配置可高度定制,可加以优化来支持要求苛刻的特定工作负载。

在组织层面,裸金属服务器不会被供应商工具束缚。裸金属服务器上的容器云平台可以支持管理员全面控制底层的硬件基础架构,使组织避免供应商锁定现象,降低迁移解决方案的难度。

当然,裸金属服务器作为底层计算资源相比与虚拟机也有一些缺点,主要是在容器云扩容层面,容器云的节点扩容性不如虚拟机,毕竟裸金属服务器的采购周期较长。

此外在硬件管理层面,应用裸金属部署容器的另一个问题在于如何提高底层硬件资源的管理和监控能力,相对于传统的云计算平台,K8s本身作为一个服务和负载的调配平台,目前对底层资源的管理能力相对较弱。

但是值得一提的是,目前已经出现了一些基础设施层面的优化工具,例如Intel有一些CPU调度相关组件(CPU Management,Resource Management Daemon等),ARM也有很多针对CPU性能优化方面的工具,可以帮助我们实现裸金属的高级部署方式,提升容器在裸金属上部署的硬件管理能力,更高效地利用硬件级别的创新,如计算加速设备、低延迟大带宽网络设备、高性能持久化设备等。

在实际业务中,选择裸金属还是虚拟机,作为容器云的底层计算资源,还要取决于银行的IaaS能力。如果银行的IaaS能力提供祼金属服务,特别是软硬一体化加速的祼金属服务,则优先祼金属服务,可获得高性能的同时,也得到了扩缩容的弹性支持。否则,建议采用虚拟机以提升交付效率、弹性伸缩和降低运维成本。

不过可以肯定的是,无论选择裸金属,还是虚拟机,以容器为代表的云原生技术都将为银行数字化转型增添浓墨重彩的一笔。

金融云原生漫谈(三)|银行云原生基础设施构建:裸金属VS虚拟机的更多相关文章

  1. OpenStack Newton:集虚拟化,裸金属和容器部署的统一云平台(转载)

    2016-10-08木屐大数据在线 国庆长假第六天,OpenStack第十四版本Newton(牛顿?)发布,官方介绍中强调这是一个集虚拟化.裸金属和容器技术的一体化平台,可通过一套API来管理裸金属. ...

  2. 持续优化云原生体验,阿里云在Serverless容器与多云上的探索

    近日,阿里云宣布推出Serverless Kubernetes服务此举意在降低容器技术的使用门槛.简化容器平台运维.并同时发布阿里云服务对Open Service Broker API标准支持,通过一 ...

  3. 微信小程序(七)-项目实例(原生框架 MINA转云开发)==02-云开发-配置

    云开发:1.就是用云函数的型式来使用云存储和云数据库完成各种操作!     2.只关注调什么函数,完成什么功能即可,无需关心HTTP请求哪一套!     3.此模式不代表没有服务器,只是部署在云环境中 ...

  4. [转]新型智慧城市总体架构 华为 新ICT 一云二网三平台

    本文转自:http://www.jpsycn.com/hangyexinwen/20160801142354.html “十三五”规划提出,充分运用现代信息技术和大数据,建设一批新型示范性智慧城市.日 ...

  5. 阿里云产品介绍(三):云数据库RDS

    写完云服务器ECS,本来想先写负载均衡的. 因为发现很多客户,都是直接将单台云服务器应用对外提供访问,如果云服务器宕机,应用就会停止服务.云服务器标称有99.95%的可用率,一年下来宕机四个多小时也是 ...

  6. Iass、Pass、SasS三种云服务区别?

    Iass.Pass.SasS三种云服务区别 我们可以把云计算理解成一栋大楼,而这栋楼又可以分为顶楼.中间.低层三大块.那么我们就可以把Iass(基础设施).Pass(平台).Sass(软件)理解成这栋 ...

  7. 三feng云,免费虚拟主机和免费云服务器

    三feng云,免费虚拟主机和免费云服务器 链接:https://www.sanfengyun.com 虚拟主机 虚拟服务器 BGP多线路 独立IP地址 送免备案系统,永久免费 具备高在线率.高安全性. ...

  8. Docker 学习之镜像导入导出及推送阿里云服务器(三)

    在前面两节里主要就是记录一些docker的基本的操作,包括搜索镜像,拉取镜像,根据镜像创建容器等等,在这一节主要就是记录Docker对于镜像文件的导入导出,及推送到阿里云再从阿里云获取镜像. 一.镜像 ...

  9. 小程序开发技巧(三)-- 云开发时效数据刷新和存储 (access_token等)

    小程序云开发时效数据刷新和存储 (access_token等) 1.问题描述 小程序中经常有需要进行OCR识别,或者使用外部api例如百度AI识别等接口,请求调用这些接口需要令牌,即一些具有时效性的数 ...

随机推荐

  1. jenkins实例 nodejs项目

    目录 一.案例1 二.案例2 一.案例1 使用shell方式 #清理上一次版本,拉取新代码 rm -rf /server/admin-web cd /server git clone http://g ...

  2. css预处理器和css Modules是干嘛的?

    CSS预处理器 1.css和js的区别 js是编程语言,它可以声明变量,编写逻辑.而css实际上只是个"表",表头是选择器,内容是里面的样式.它并不能写逻辑啥的.也就是说,对于cs ...

  3. Mybatis中原生DAO实现和Mapper动态代理实现

    Mybatis开发dao的方法通常用两种,一种是传统DAO的方法,另一种是基于mapper代理的方法. 一.传统DAO方式开发 1.sql语句映射文件编写 User.xml <?xml vers ...

  4. 模糊C均值算法

    Fuzzy C-Means读书笔记 一.算法简介 很显然,图中的数据集可分为两个簇.借鉴K-Means算法的思想,利用单个特殊的点(质心)表示一个簇.因此,我们用\(C_1\)和\(C_2\)分别表示 ...

  5. Table.NestedJoin合并…Join(Power Query 之 M 语言)

    数据源: "销量表"和"部门表"两个查找表,每个表中都有"姓名"列 目标: 根据"姓名列"将"部门表" ...

  6. 两阶提交、三阶提交、TCC框架

    首先介绍一下分布式事务,分布式事务是指会涉及到操作多个数据库的事务.其实就是将对同一库事务的概念扩大到了对多个库的事务.目的是为了保证分布式系统中的数据一致性.分布式事务处理的关键是必须有一种方法可以 ...

  7. PSpiceAA-高级分析例程

    一.高级分析应用例程 1.1.例程电路原理图(同向放大电路) 器件模型使用PSpice-ELEM库中的模型. 1..1.1.仿真测试波形图 1.2.灵敏度分析 1.2.1菜单选择:PSpice-> ...

  8. 使用PostMan测试WebService接口教程

    一.操作步骤 1.设置URL 2.设置请求模式:Post 3.设置Header:添加 Content-Type ,值为 text/xml;charset=utf-8 4.设置Body:勾选raw 5. ...

  9. 【LeetCode】1208. 尽可能使字符串相等 Get Equal Substrings Within Budget (Python)

    作者: 负雪明烛 id: fuxuemingzhu 公众号:每日算法题 本文关键词:LeetCode,力扣,算法,算法题,字符串,并查集,刷题群 目录 题目描述 示例 解题思路 滑动窗口 代码 刷题心 ...

  10. 【LeetCode】697. Degree of an Array 解题报告

    [LeetCode]697. Degree of an Array 解题报告 标签(空格分隔): LeetCode 题目地址:https://leetcode.com/problems/degree- ...