background
In recent years container resource allocation based on technology more and more popular, kubernetes the field of container vessels as a de facto arrangement technology also began landing in the enterprise. Means container / micro service / the DevOps technology, the new generation cloud native application has been immensely in popularity. However, in the application of eco-businesses, the current cloud native system accounts for only a small part, there are still a lot of legacy applications can not enjoy the benefits of container technology, the industry needs a specialized solution for legacy applications quickly on the cloud.
Bo Yun visits to research a number of corporate customers, we found that the current traditional applications (non-micro Services Architecture) migrate to the cloud platform container, mainly face the following problems:
-
There are currently a large number of legacy applications, is impossible or difficult to transform (service oriented micro, container etc.), you need to install a variety of agent.
-
Traditional applications are often deployed on a virtual machine, the virtual machine and start slow, can not meet operational flexibility, elasticity of demand.
-
Virtualization technology stack heavy, large resource depletion, customers want to leverage the power of server hardware capability.
-
After the operation and maintenance personnel are more likely to use traditional application system as a pet rather than cattle, but also hopes to identify problems do manual adjustments.
-
Performance sensitive applications, high-density deployment great impact on the environment caused by the container and context switch CPU performance.
For more than pain points, virtual machines and containers are not the optimal solution. After extensive technical research, we found that the fat container technology is a viable and reasonable solution. First of all, from the point of view of technology trends, fat container vessel technology is the development of an early pioneer in the field of container by the widespread adoption of lightweight containers can either get the advantage of a technology and can support a wide range of legacy applications . However, with the rapid popularization of the container, the container technology as an excessive fat phase has not been carried forward in the art. Second, the implementation of the fat also has a variety of containers , a number of companies and open source organizations have launched a different form of solutions, from basic technology can be classified into two: vm-based and container-based. These solutions are also basically for kubernetes is integrated, very suitable for the construction of today's container cloud platform.
Bo Yun Fat container technology BeyondVM
BeyondVM technique is fat container container-based implementation, compatible OCI standard, the flexibility to integrate with Kubernetes cluster.
01
No. 1 process
CONTAINER respected single process model, and fat container TECHNOLOGY AND CONTAINER a significant point of difference is to run an init process inside the fat of the container, while the conventional containers (e.g. docker containers, etc.) specified vessel in the mirror CMD as the container pid = process 1. BeyondVM technical support using systemd and sbin / init as the init process. init program is introduced, making the operation and maintenance work in the container fat as possible, but also for the traditional cloud applications provide a great convenience.
02
CMD container
CMD vessel represents the interior of the container business systems running. beyondVM technology will automatically hosted under Init process, operation and maintenance personnel can easily carry out the operation and maintenance of business systems work.
03
System components or the particular agent
Operation and maintenance personnel of traditional applications and application dependent number of system components, such as ssh / rsyslog / crond like. The cloud can be installed directly on this part of the legacy application and the corresponding components made of mirrors, so not only gained the upper container delivery portability, but also retain the traditional habits.
04
Resource View isolation
Traditional application system after years of maintenance, tend to have a variety of optimization measures, such as after business lines, automatic parameter adjustment according to the size of the runtime environment resources. But traditional container environment, even if the container is set cpu / mem quota system is still inside the container business will see a host of computing resources. This caused a lot of problems for traditional applications such as typical java applications. BeyondVM technology utilizes lxcfs technical resources vessel were isolated from view, so that the internal operation of the business system can automatically sense the container itself computing resources.
05
Business before starting treatment and after stopping hook
Because BeyondVM technology and Kubernetes is integrated, so you can take advantage of natural hook function kubernetes provided for the pod system to achieve business before starting work and after cessation of treatment needed.
Technical comparison with the container, the virtual machine
virtual machine |
container |
BeyondVM |
|
model | kvm + qemu, kernel-based isolation |
Based cgroup + namespace, shared kernel
|
Based cgroup + namespace, shared kernel
|
LF | weight | light | light |
Volume Mirroring | Big | small | small |
Process Model | Virtual machine can run multiple processes | 容器内单进程 | BeyondVM内部可以运行多个进程 |
状态保持 |
|
|
|
弹性伸缩 | 状态重,弹性伸缩慢 | 手动、自动快速弹性伸缩 | 手动、自动快速弹性伸缩 |
移植性 | 差 | 强 | 中 |
微服务、DevOps支持 | 差 | 强 | 强 |
Kubernetes支持 | 差 | 支持 | 支持 |
主要场景 |
|
|
|
BeyondVM核心优势
BeyondVM 提供相对完备的进程树和系统服务的容器环境,使得业务获得虚拟机的运行体验,无需改变代码即可实现向容器平台的迁移。利用BeyondVM技术,可以实现:
- 比虚拟机轻量的资源分配能力,以方便资源快速申请、弹性。
- 类似虚拟机的使用体验,可登陆,可任意安装组件。
- 有固定IP地址,胖容器从创建到删除,IP地址保持不变。
- 可以通过ssh远程登录系统。
- 登录登录后,可以通过传统的yum命令安装标准的软件包, 比如mysq,apache。
- 可以安装运维类的agent,不影响应用的正常部署流程。
- 资源隔离,如CPU、内存等。
- JVM,监控类工具看到的资源不是整个物理机的资源,而是真实分配给胖容器使用的资源。
展望
当前容器云平台建设的过程中,上线的往往是新的业务系统;企业中大量的存量业务仍然运行在物理机或虚拟机环境中。虽然目前已经有部分企业碰到了传统应用上云困难的问题,但整体上这部分需求还不强烈。我们有理由相信,随着容器技术在企业生态中的占比逐渐增加,传统应用上云的需求会逐步释放出来,胖容器技术将在其中发挥重要作用。