Thursday, May 15, 2014

The cloud requires change, and risk

If you want to use the cloud, your systems must change. Cloud-based systems will either be new (designed for the cloud) or converted (designed for another platform and then re-designed for the cloud).

If you are expecting all of your cloud systems to work, as expected, without problems, from their first day of operation, you are in for a great disappointment. Cloud-based systems -- real cloud-based systems, not just running a web application on a virtualized server -- are built with distributed services and message queues, not just the traditional application and database.

Cloud computing is a new technology. We're still learning how to use it. The technology "stack" is evolving. Even the folks with experience are still learning about the changes. (In contrast, the technology stacks for Microsoft Windows desktop applications and Java web applications are stable and well-known.)

Since we're learning, we're going to make mistakes. Our designs will be inefficient -- or maybe fail completely. We may encounter problems early on, or late in testing, or even in production. We may find problems with our design when the application runs under heavy load.

Eventually, after enough designs are tried, we will find those that work. (Just as we found the proper designs for Windows programs and client-server systems and web applications.) Once we have the "best practices" for cloud systems, it will be easy (well, relatively easy) to build cloud-based systems.

If you are comfortable with some risk, with some degree of failure, then go ahead and build systems with cloud computing. Try various designs. Learn how the technology works. Revise your design as the technology changes. Be prepared for problems.

If you want to avoid problems, if you want to avoid risk, then wait for the best practices. That means waiting for others to experiment, pioneer, make mistakes, and show us the way.

The second strategy means waiting. It means not being a technology leader. And it means possibly letting a competitor gain the lead.

That's the price for avoiding risk.

No comments: