It is now safe to say that the future of Software Application Space is ‘”Cloudy”, and for once, it is a very good thing! The Cloud platforms have been around for a while, but now more and more applications from Enterprise as well as Consumer space are seen to take advantage of them.
So the question is, which applications can migrate to cloud? Short answer: all applications.
For a descriptive answer, we should go into details of what the Cloud can provide us.
Cloud is basically offering Infrastructure (Platform) as a service. Once I migrate my application to the Cloud, I transfer the headache of setting up proper infrastructure to the cloud provider. This translates into various benefits for the application:
- High Availability
- Pay-Per-Use for infrastructure
- Easy ability to integrate with Social and other collaboration portals*
The scalability and pay per use architecture is vastly important for many applications. In the application lifecycle, there are times, when for a specific duration, scaled up infrastructure is required. Some examples can be – the holiday seasons for an eCommerce Retail Application, the benefits enrollment period for a Healthcare Application, tournament seasons for Sports Application etc.
This is a period where the user load can increase multifold, and the application provider needs multiple servers to handle that load, without affecting performance. However, outside this specific period, the infrastructure needs are pretty regular. As a result, hardware investment becomes a tough decision.
Cloud provisioning can be a perfect answer for such dilemmas. The cloud providers can make multiple servers available for short duration for any application. This scaling can happen transparent to the end users. The providers will charge only for the time the infrastructure is used.
In addition, the cloud providers will also take care to make the application Highly Available. To support this, Virtualization, Replication and Distribution are taken care at the provider level. As scaled up infrastructure is used, application performance is also no longer a headache.
Security has been a critical aspect of cloud deployment. However, multiple efforts by the cloud infrastructure providers as well as advance security techniques available at application level have reduced the threat level significantly.
There are multiple cloud providers like Amazon, Azure, Rackspace in the market. However, the application to be migrated need not directly interface with the cloud providers. There are multiple Cloud Application Frameworks like Heroku and AppHarbor that provide easy integration interfaces to make the cloud deployment possible at the click of the mouse. These Application Frameworks also work with multiple development platforms including .Net, Java, Ruby and PHP. In addition, they follow test driven development pattern, to make application development / migration easy.
Cloud supports SAAS whole-heartedly; however, it is not necessary for your application to follow the SAAS model in order to take advantage of cloud.
As per a survey published by Cloud Standards Customer Council (CSCC), cloud and the corresponding architecture changes also lets the application developers integrate easily with available social and other collaboration portals.
In short, any application irrespective of domain, technology and architecture can be migrated to the cloud.
In next article, we will take a look at the design considerations for an application migrated to Cloud.
* As per survey published by CSCC