6. Architecture considerations are of equal importance to the question of where something runs
While existing workloads may be candidates for cloud migration, their current application architecture may not be suitable. It is preferable in this case to consider the possibility of future cloud migration as a design consideration in the context of application evolution and lifecycle. As future upgrades to the application are contemplated, are there changes that could be made to the application architecture that would move it away from legacy design patterns and towards those that are better aligned with the public cloud?
Even if the application never makes it to the public cloud, and continues to run on-premises for a variety of possible reasons, re-architecting an application in such a way that it looks more like a cloud application (for example, using containers, reduced coupling to specific instances of infrastructure, planning for unavailability of components, using infrastructure as code) is an objectively good thing in its own right, as technical debt and maintenance burdens can be reduced, and the IT organization can be expected, as cloud applications become more prevalent, to have increasing depth of expertise in managing applications following “cloud-like” patterns.