Developers are breaking the large, applications into smaller pieces of functionality that run in their own containers separately. These containers are similar to virtual machines but have only a subset of OS.