When rebuilding applications for a cloud environment, you’re presented with many options for architecting those apps. When building these applications, consider the entire lifecycle of these applications. Will the application always live in the cloud it was initially deployed in? Will there be a need to move it to another cloud or duplicate the deployment in another cloud?
These considerations may determine what form factor the application's final form will be built as. For example, applications depending on native public cloud services may be pinned to that cloud unless there is an equivalent service in another. For these reasons, customers often choose to stick with a VMware virtual machine form factor that is compatible with any VMware-based infrastructure or a container form factor that can be run on any Kubernetes platform.