Assuming you have a good knowledge of what cloud computing is all about, the next question is, “Which cloud service should I use?” The answer depends on many factors, including the size of your enterprise, what cloud characteristics are most important for you (security vs. reliability vs. cost, for instance), and whether you have developer resources available to you. I won’t make specific service provider recommendations in this post, but I’ll describe some things you’ll want to think about as you do your evaluations and selections.
If you’re a small business…
… You’re probably trying to run as lean as you can and you don’t have a lot of capital or headcount to be allocated toward developing custom applications. Thus, PaaS and IaaS won’t do much for you. You’re going to want to focus your efforts on public SaaS offerings. A small business can easily deliver all core systems, including email, file sharing, data backup, accounting, and customer relationship management, as SaaS applications.
When you’re using SaaS, think about your future needs. SaaS tends to have the greatest amount of lock-in among the the various service models — you might be able to get your data out of a given provider, but it will be difficult to convert it to work with another SaaS application. While it’s possible that the new provider might have a data import service, you should assume that you’ll be sticking with your first choice for a long time, possibly forever.
This implies that absolute lowest cost should not be your first selection criterion. You’ll want to look at overall capabilities and integration with other applications so that you’ll be able to stretch and grow as your business evolves.
Since these applications will form the core of your business, you’ll want to ensure that your providers have very high uptime statistics and you’ll want to ensure that you have a reliable connection to them through your ISP. An important consideration is whether the supplier offers phone support, possibly with a dedicated account rep, or whether support is limited to email only. The last thing you want is for your business to grind to a halt and have to tell your customers, “I’m sorry, my computer system is down.”
If you’re a mid-sized enterprise…
… Then you’ll probably end up with a mix of systems, some SaaS, and a few custom systems based on IaaS or PaaS, depending on your business. All the same recommendations apply here for SaaS as they did for a small business.
For IaaS and PaaS, while you can go with the private deployment model, you’ll more than likely be looking at a public deployment, possibly with a small private adjunct running as a hybrid cloud. Don’t fall into the trap of trying to build your own private environment if you don’t have to, but on the other hand don’t assume that public clouds can meet all your needs.
When it comes to custom development, you might want to spend your budget on integrating multiple SaaS applications together, rather than trying to rebuild functionality from scratch using IaaS or PaaS.
If you’re a large enterprise…
… Then the sky is the limit. More than likely, you’ll have some budget and resource to apply to building custom applications and integrations between applications. To help improve productivity, look carefully at PaaS solutions, falling back to IaaS when PaaS isn’t suitable, or to accomodate legacy application migration.
Utilize SaaS where possible, spending your application development budget on customization and integration with in-house or other SaaS solutions. But don’t be afraid to avoid SaaS if you don’t feel the solutions can offer you what you’re looking for. Many SaaS systems cater to small or mid-sized enterprises and may not have the enterprise features you need. The SaaS vendor may have those features on the roadmap, but you’ll either need firm delivery commitments or you’ll need to make other arrangements. Sometimes, performing unnatural acts to work around a critical limitation can be more work than if you had simply rolled out an in-house solution yourself. The key here is to be sober and honest in your evaluation. Remember that the SaaS vendor will be improving the solution over time in any case and don’t overestimate your development skill and budget.
In the end, you’ll likely end up with a complex hybrid environment based on IaaS, PaaS, and SaaS, in both private and public deployment models. The key here is to make sure you’re being careful with each selection and not simply adopting old solution patterns based on familiarity, existing staff comfort, and habit. Be aggressive and look for leverage!