In the past few years as I have been blogging about VMware vCloud we have always focused on the architecture “Of the Cloud”. Recently I have started talking more about how to “consume” the clouds we have finally built either public or private. The next evolution of this is understanding how we determine if our applications are actually cloud-ready. There is a number of ways to look at this, but here is some of my perspectives on a few questions you can ask yourself. The application really need to be the center of the decision-making process.
#1 Do you know the application inter-dependencies?
More often than not this is the biggest problem to understand. How many times have you upgraded an application, changed an IP address, or anything else for that matter and the help desk phone started ringing? That’s generally because we simply do not know what things have become dependent on that application over time. Not only external applications that have started using the one in question, but also the application interdependencies itself. Things to consider in this area might be:
- Is this a Multi-tier Application and do we know all the components?
- Does if have Active Directory Requirements?
- What external applications have started leveraging this application?
#2 What are the network dependencies?
In many cases you will need to change IP addresses of your application when you move it to the cloud. This will become easier over time as Network Virtualization becomes more mainstream, we won’t have this problem as much. However, today how is your application connected to the network? You must not only know the application interdependencies but the network ones as well. A few things to consider here might be:
- Does the application have firewall rules?
- How are users accessing the application?
- Does this application need to connect to other systems?
#3 How is the application administered?
Interestingly enough, this is a forgotten step when thinking about how to move the application to the cloud. Today if the application is on your standard infrastructure you may be using one of three methods to administer the application in question.
- Admin Web Interface
- Secure Shell Access (Linux)
- Terminal Server (Windows)
The thing to understand here is once that application is moved to the cloud, will these same means be directly accessible or will you need to “jump” to them. The answer will depend on how you decide to connect to your cloud, but certainly in some cases these interfaces may not be made “Publically” accessible so you need to think about how you are going to get to the system itself.
#4 Does the application require specific resources?
This is a very valid question to ask when looking at the current application Recently, more people are starting to leverage the true power of VMware vSphere by using the resource options better and with more intelligence. This may mean that you now have an application with per virtual machine settings to provide specific resources to it. You need to determine if you can provide this same level of service in the cloud you have chosen. Of course with some vCloud Director allocation models you can certainly do so. Before you move the application check not only for existing settings on the following in your local datacenter, and determine if you can provide the same.
- CPU Reservations or Limits
- Memory Reservations or Limits
You may need to figure out a way to translate some of these settings into the cloud either by getting multiple Virtual Datacenters with different capabilities, or deciding if these settings are truly a requirement.
#5 What kind of storage is the application using?
Sometimes this may be a factor for performance, or capacity. When you think about moving the application to the cloud, you need to absolutely consider the current storage requirements of the application. There are a few factors to consider, specific to this that you may want to think about including:
- Current Storage Capacity and Utilization of the application?
- Storage performance requirements of the application?
- Are there multiple virtual disks?
You could have the option of creating storage tiers in your cloud to support each of these requirements, but before you move the application it’s good to identify these areas to avoid potential problems.
Is Your Application Cloud-Ready?
You need to ultimately decide the answer to this question, but it’s not something you can do without at least asking the five questions above. Make sure you do some investigation with tools or on your own to get the answers to these questions. Then and only then can you decide if your application is cloud ready. Once you do that, go ahead and start planning your move to your new Virtual Datacenter and begin leveraging the power of the Cloud.
Please comment if you have other things to add in this area, I’m sure there are more than five, but I wanted to hit what I thought might be the most important ones.