LinkedIn | FaceBook | Twitter
As most of you know, I don’t like the term “cloud” verymuch. It isn’t defined, which means it can be anything. I prefer “distributedcomputing”, which is more technically accurate and describes what you’re doingin more concrete terms.
So when you think about Windows and SQL Azure, you don’thave to think about an entire product – you can use parts of the systemtogether or independently to accomplish what you need to do. You can use thecomputing functions, storage, and more and more I see folks leverage theService Bus to enable current applications to expose things to the web.
And that brings up the point of this post. Once you decidethat a distributed architecture works to solve a problem, you’re faced with adecision: should you completely re-write your architecture to take advantage ofthe current systems or should you just fold in new code that makes the data orfunction available to the web?
Of course, the answer is always “it depends” on the situation– and it does. But unless you’re fixing a problem with current code, I usuallyadvocate a migration approach. That means at the very least retaining thebusiness logic (again, unless it’s not currently working) and as much of thecode as you can. In fact, if you follow this paradigm, you’re on your way tomaking a Service Bus out of the functions you currently have. You can exposethe results of a system rather than opening the system up. Let’s take anexample.
Assume for a moment that you have an order-taking systemon-premise. That system performs many functions, one of which might creating aPurchase Order. Your system might be enclosed, meaning that it has anapplication that talks to a middle-tier, and then from there to a databasesystem. A query is generated from a screen, and passed along to eventuallycompute, store and return a Purchase Order Number, along with otherinformation. Imagine now that you wire up the code not only to return the POnumber to the client, but to make that number available on an endpoint –actually really not that hard to do.
Now you can make that PO number available to the web usingAzure. You could restrict who can make that call to the system, or open it upto a broader audience. Or instead of the PO Number, you could make a productlist available. And you can go further than that – EBay, for instance, uses theOData protocol (which is very cool in and of itself) which you can query fromthe web. You could compare your company’s product catalog to what is on EBay,and list the items you have there if there are no competitors in that space.And on and on it goes.
So the point is this – where you can, retain what works.Fold in systems like Azure where they make sense. Extend and Embrace.