Differences between VMs and Containers. What is the best approach for my NetApp?

Good day to all,

I am starting with the development of a NetApp. While checking the documentation here, I’ve noticed some of the deployments include VMs and other Containers. Can you please explain what is the difference between these approaches and which one is suggested by 5GASP?

Many thanks

The generic differences between the VM and containers are as follows:

  • VMs usually consist of their own operating system (OS), measured in GBs. They contain multiple resource-intense functions.
  • Containers package only an application and all its required files.

With OSM you can deploy NetApps both as containers and/or VMs. The spin-up time for containers are smaller than the VMs. As of now, in OSM, the containers are managed by the underlying Kubernetes. The Helm charts are referred in the VNF descriptors(VNFD) to deploy and instantiate the containers. Whereas for VM based VNFs, the VM image is reffered directly in the VNFD.

While containers and VMs have their own benefits and limitations. It is upto the NetApp developer to decide on the best-fit approach for their use case.