Cloudy or Not? The Best and Worst of Cloud Applications
It’s “App”oclaypse now. In the cloud.
Each single day, an increasing number of enterprises are shifting their applications to the cloud. There are many reasons for doing so. The cloud saves time, cuts down the cost, takes the hassle out of infrastructure maintenance and does much more. However, is your application ready for its journey to the cloud? How would you know? Here is a quick look at two factors that play a key role in an app’s migration to the cloud.
The architectural considerations.
All your apps are not necessarily made for the cloud. The problem in most cases lie at the core, they were simply not designed for the cloud. So how can you go about changing the design core of an app?
When thinking about migrating an app to the cloud, the first thing that you should do is to take a look at is its deployment topology. Proper rearrangement of the app’s deployment topology matters the most when you are considering a move to the cloud. The key components for this rearrangement includes latency, data transfer, privacy, and security considerations.
To use a surgical analogy, this approach would essentially mean dissecting an app and then distributing its various components across different segments of a table. This dissection tends to become a bit of a complicated process if the app in contention is multi-layered and multi-component. In such a case, you will need to rethink about how you can distribute it to various types of clouds instead of one cloud for simpler cases.
Cloud and compliance: Be aware.
From a non-architectural point of view, the major issue enterprises face while migrating to the cloud are the various types of compliances. PCI, HIPAA, GAAP, SOX, and IFRS are among the major compliances that you need to be acquainted with prior to moving your app to the cloud. If these sound like hieroglyphics to you, then it is time to take a dive into the compliance world.
The best candidates.
Apps that benefit from scaling, standalone apps, and apps that have minimal external interaction are by far the best candidates the cloud. Some examples include apps for DR, backup and recovery, test, development and UAT environments. Smaller apps, especially the kind that you download for mobile, are also great candidates for the cloud. Further, time sensitive apps i.e. the ones which are likely to be used only at specific times (think payroll apps) are perfect candidates for cloud migration.
The worst candidates.
Apps with high database transfer rates are difficult candidates for cloud migration. Similarly, apps with deep system integration and business suit applications are also equally difficult. This is because they use database links and remote procedure calls (RPC) to store procedures to remote databases. Database links tend to give major performances issues and calling RPCs to remote databases, on the other hand, is not a great idea.
Think different. Think cloud.
Finally, you can approach the whole issue of cloud migration in an altogether different way. Even if your app’s architecture is not cloud friendly, you can make it cloud-friendly by adding new and relevant features or by modifying the existing ones. There are a few changes to be made in the code to embrace features relative to cloud and if you have a little more appetite, you can remodel the application for cloud optimization. These changes will make your application scalable and flexible, thereby improving overall agility. If you are building any web application from the scratch – look no further by all means, embrace and optimize for cloud from the beginning. This probably heralds a significant change in the approach to application development, but the future is already here and it is pretty cloudy!