With the excitement around Cloud computing, SaaS, and all its variants, it’s easy to think that off-premises computing is the answer to every problem. In many cases, the Cloud lives up to its hype of providing targeted IT services at commodity pricing that can quickly be scaled up or down depending on demand.

However, there’s a time and a place for every tool, and the Cloud is no exception. Here are some suggestions as to when to avoid Cloud and SaaS:

When it’s a long-run financial penalty

One of the major benefits of cloud computing is cost. In many cases, cloud quickly provides functionality at per-user pricing that’s much easier to swallow than a costly implementation. However, like any make versus buy decision, there may come a time when biting the bullet on an implementation up front makes more sense than getting tied to a monthly subscription that ends up costing more in the long run.

There’s no shame in enlisting purchasing or corporate finance to help with this calculation, and don’t forget to include intangible costs as well. Cloud might give you a first mover advantage that has some financial value, just as maintaining a strategic application in-house may provide a competitive advantage with an associated financial benefit.

When you’re the test dummy

Most companies are not strangers to “experimental” software offerings, even from well-established vendors. The cloud presents an interesting twist to the equation, as risky startup companies deliver offerings designed from the ground up to work in a cloud environment, while established software companies struggle to port existing offerings to the cloud.

A startup offering from an unknown company may very well be more technically stable than an enterprise standby, and established players have been known to pull or rethink cloud offerings with little notice to customers. A critical question when considering cloud services is the level of risk you’re assuming. With cloud you’re assuming risk based on the provider’s maturity and long-term strategy, which may actually provide more danger than the quality of the code.

R&D should be a key facet of every IT shop, but avoid placing critical functions on a risky platform without a good mitigation strategy. Even the largest software vendors have been known to rethink their strategy and cancel cloud-offerings with little notice.

When it’s more complex

A great selling point of Cloud computing is that it reduces internal IT complexity. The Cloud offers the ultimate “black box,” making software, infrastructure, and data storage someone else’s problem in the best case. While this may be the case most of the time, the Cloud can often introduce more complexity into your IT environment.

I’ve seen companies become enamored with the concept of cloud, and attempt to put anything and everything in the cloud, including software and services that simply aren’t designed or ready for this type of environment. Vendors have diligently performed the gymnastics required to produce a convoluted, overpriced, and massively complex solution, all in the name of “putting it in the cloud.”

If you want to remove the costs of running infrastructure and buying software, there are scores of vendors who will happily outsource whatever you need, and remove complexity from your organization without adding unnecessarily complex layers of abstraction. Most will even finance this type of transaction, allowing for cloud-like pricing for a traditional hosted infrastructure.

Just as you’d be skeptical of a carpenter who carried only a hammer, purporting that it could solve every carpentry problem, avoid falling into the trap of trying to fit every IT problem into a Cloud or SaaS environment. While Cloud is changing the way we deploy and manage IT, it’s still not the best solution for every possible problem.