Hey Bill, I suggest you read up on the different flavors of cloud offerings, such as SaaS, PaaS, and IaaS, so that you get more acquainted with what it is that you want to go for exactly, with regards to each application in your environment; this is assuming that you ultimately do decide to migrate (fully or partially) to the cloud.
For example, if you’re going to move your servers to the cloud, and you still want to be fully responsible for maintaining, patching, upgrading OS, etc. than you’re looking for something along the lines of an IaaS offering (you manage the Infrastructure). An example of this is Amazon EC2 platform (as well as Amazon VPC) where you manage the VM’s directly, connecting to them directly via SSH or RDP.
On the other end of the spectrum you can just use the online apps of the vendors of interest (where applicable of course) without even thinking twice about anything remotely to do with the underlying infrastructure; Gmail and Google Docs is an example of this. With apps such as Gmail/Google Docs you have no interaction whatsoever with the development backend or the systems that these apps are running on. This is what you would call a SaaS offering (you manage/operate the Software). For more of a relevant real-world example for you, if you’re running AD in the cloud on Azure, it is a SaaS offering, since you interact with it as though it were an application. You don’t really fuss about the underlying hardware infrastructure (redundancy, failover, internetworking, etc.); M$ takes care of that for you; Office 365 is the same, you only interact with the apps.
And the in-between is where you have the grey area, which is the PaaS offering, where you manage the Platforms that your services/apps run on. A general example would be a model where you only deploy code in the cloud, and all the OS maintenance, and patching is carried out by the cloud service provider. An example of this is AWS Elastic Beanstalk, which gives you the option of running a PHP, Python, Node.js, .NET, or a plethora of other application platforms. After which AWS will roll out a platform infrastructure based on a best practice approach to a standard-based server design implementation. This is straight out of their documentation:
“AWS Elastic Beanstalk reduces management complexity without restricting choice or control. You simply upload your application, and AWS Elastic Beanstalk automatically handles the details of capacity provisioning, load balancing, scaling, and application health monitoring.”
So long story short, I think a good approach would be to make a listing of all the applications that run on your network, whether they are infrastructure applications, or end-user applications. After you make this list, you classify each according to the approach that you want to take with it (SaaS, PaaS, or IaaS). Once this has been done you can start assessing the different cloud providers, and do the research (with everyone round here to help of course) to see which service providers would work best for each application/strategy.