Cloud containers are maturing their way from raucous whisper in the hallways to mellowing screams in the data centres. Developers are already excited about the prospect and the operation teams are mulling the idea of moving all their applications to container and managing them separately.
But, there are apprehensions that come with cloud containers.
Each container unlike the VMs has to be managed separately i.e. one application one container scenario. Consider docker containers where you cannot club more than one application; the entire system has to be considered as role based VM.
Another pressing area of concern is security, which is currently obscure, because containers work more closely with the running kernel. Add to this the migration limitations, generally VMs can be migrated while still executing which is not the case with containers.
However, containers score some brownie points with mitigating the overheads that come with the VMs, and again this hasn’t stopped the veterans of operational efficiency claiming otherwise. Largely because, the operations team would want to use something where they can show cost reduction and efficiency, working in tandem. With containers this is highly unlikely, because the licensing factor of the containers needs to be reviewed. The EULA of the vendors must be gauged against the performance efficiency. There is a haphazard scare that looms when shifting to containers in distributed environment as well.
Despite the limitations they are a hit among the developers because, containers enable RAD (Rapid Application Deployment), porting across containers with very less compatibility issues, rapid delivery. Moreover, with one container you can add many containers unlike the VMs where you need individual resources for each VM. You need Having said that, the containers drivability of IT operations is still a far-fetched idea, which is solely dependent on the scenario and calculated overheads.
Finally, choosing between VMs and Containers are like choosing between scissors and axe. It should be an outcome bound choice.