Then you get to IaaS, which is essentially just a VM in the sky. Provided that the
operating system you wish to use is supported by the IaaS supplier, your application
should be able to be moved up to the IaaS environment without modification. This is
why IaaS is a big focus for public cloud computing right now. It enables pretty much
anything to run, although some restrictions remain that may mean some services stay
on premises. These restrictions could be technical, such as scalability or the type of
functionality needed, or they could be legal, such as restrictions on certain types of
data leaving the company’s premises or leaving the country. (IaaS vendors don’t have
datacenters in every country, which means outside primary locations, a company’s
hosting may be provided in a datacenter geographically located in another country.
Microsoft Azure, however, has a large global footprint.) Restrictions could even simply
be a matter of trust. Many organizations are not comfortable with hosting some types
of workloads and data off premises because of concerns that initially may be labelled
as “security” issues. Realistically, they boil down to a matter of trust, as providers such
as Microsoft with Azure maintain levels of certification and pass audits way beyond
those as compared to other companies.
I think of IaaS as a great “on-ramp” to the public cloud. If your organization wants to
start with public cloud services, start with IaaS. Test specific workloads and then work
from there, such as using other types of services and more important workloads.