It is quite obvious that the biggest challenge that every organization face when they consider moving their applications to the cloud, is software dependencies.
A cloud is using a SOA approach where these services are loosely coupled together, and if you are familiar with Windows Azure (the architecture) you know that is a complex setup, although using commodity hardware.
During the past years, I have been involved in several software projects where we often ended up turning to the cloud for the following reasons:
· We don’t want to own the hardware
· We don’t want to operate the infrastructure
· We are planning to have complete world domination – our basement is not big enough to host the infrastructure
· It’s not worth it, we have a life
A traditional ISV (Independent Software Vendor) will make all their profit on the solutions they deliver through software. By having a generalized software and application distributed through the public cloud, they eliminate the need of a private cloud infrastructure as long as the applications are designed solely for the public cloud.
My focus has always been at the backend (I really need to know how things are put together, how to break them, fix them – and how to improve them).
But ironically, my brother who got me into this business, he has a different focus.
He is a developer and has developed this application for your iPhone/iPad (yes, he is branded).
You can grab the app from iTunes and read more about the app here: http://www.polljabber.com/
This app let you send polls, quiz and much more to your friends, and your friends are the people you have connected on facebook. Instead of sending texts, pictures and so on, we can create a poll and send to our friends. I use it a lot to find out what we should have for dinner, and my girlfriend reluctantly agrees. And this interesting from a technical perspective.
My brother is a man with his family (two kids, I think) and he is delivering this app to hundreds or thousands of people, without having a single piece of infrastructure.
By using public API’s, SDK’s, federated services and more from Apple, Windows Azure and facebook, he can leverage the beauty of cloud computing without having any concerns about the operations of the infrastructure, at almost no cost (Pay-as-you-go).
This could not be possible without the public cloud offerings, as he would have to make a huge investment prior to any launch.
The only thing he need to focus on is:
· Create a solid code (he don’t do any bug fixing, since he is not putting bugs in the code in the first place)
· Decide how the app should manage its data