兼容传统应用,蓄力边缘云——博云胖容器解决方案 (2)

传统的应用系统经过多年的维护,往往具有多种的优化措施,例如业务上线后,自动根据环境资源大小调整运行时参数。但传统容器环境下,即使为容器设置了cpu/mem配额,容器内部的业务系统仍然会看到主机的计算资源。这对传统的应用如典型的java应用造成了很多问题。BeyondVM技术利用lxcfs技术对容器的资源进行了视图隔离,从而让内部运行的业务系统能自动感知容器自身的计算资源。

05

业务启动前和停止后的钩子处理

因为BeyondVM技术与Kubernetes进行了集成,因此可以天然利用kubernetes为pod提供的钩子函数实现业务系统启动前和停止后需要的处理工作。
 

与容器、虚拟机的技术对比

 

   

虚拟机

 

容器

 

BeyondVM

 
模型  

基于kvm+qemu,内核隔离

 

基于cgroup+namespace,共享内核

基于runv实现内核隔离

 

基于cgroup+namespace,共享内核

基于runv时限内核隔离

 
资源消耗        
镜像体积        
进程模型   虚拟机内可以运行多个进程   容器内单进程   BeyondVM内部可以运行多个进程  
状态保持  

支持固定IP

保存虚拟机内部的变更动作

 

不推荐固定IP且功能实现依赖网络插件

重新发布后不保存任何变更

 

支持固定IP

保存变更动作*

 
弹性伸缩   状态重,弹性伸缩慢   手动、自动快速弹性伸缩   手动、自动快速弹性伸缩  
移植性        
微服务、DevOps支持        
Kubernetes支持     支持   支持  
主要场景  

传统的资源申请流程

老旧系统资源池

 

无状态,快速伸缩

微服务、快速伸缩

 

老旧系统快速上云并实现弹性伸缩

依赖资源视图隔离的业务系统

CPU敏感型的业务系统

 



BeyondVM核心优势

 BeyondVM 提供相对完备的进程树和系统服务的容器环境,使得业务获得虚拟机的运行体验,无需改变代码即可实现向容器平台的迁移。利用BeyondVM技术,可以实现:

比虚拟机轻量的资源分配能力,以方便资源快速申请、弹性。

 

类似虚拟机的使用体验,可登陆,可任意安装组件。

 

有固定IP地址,胖容器从创建到删除,IP地址保持不变。

 

可以通过ssh远程登录系统。

 

登录登录后,可以通过传统的yum命令安装标准的软件包, 比如mysq,apache。

 

可以安装运维类的agent,不影响应用的正常部署流程。

 

资源隔离,如CPU、内存等。

 

JVM,监控类工具看到的资源不是整个物理机的资源,而是真实分配给胖容器使用的资源。

 

展望

当前容器云平台建设的过程中,上线的往往是新的业务系统;企业中大量的存量业务仍然运行在物理机或虚拟机环境中。虽然目前已经有部分企业碰到了传统应用上云困难的问题,但整体上这部分需求还不强烈。我们有理由相信,随着容器技术在企业生态中的占比逐渐增加,传统应用上云的需求会逐步释放出来,胖容器技术将在其中发挥重要作用。 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsxggy.html