For several years now, people and organizations have been slowly but surely moving their data and applications to the cloud. Whether it is a local private cloud, Hybrid or a fully hosted one, they all have one thing in common: They are no longer tied to physical hardware.
That is how it’s supposed to be right? Well, during my years of working with companies to achieve “cloud”, people are still getting a little confused, or they just do not understand exactly what they want, or better yet, how to get it. There is a difference between hosted servers, colocation, and cloud resources.
My experience in migrating our customers; we focused on three types of cloud migrations: 1) Infrastructure, 2) Application, 3) Storage. Many people say that moving to a SaaS solution is a separate way also, but I am talking about maintaining control over your applications, data, and the systems that house them. Most SaaS solutions, unless you set the application up on your own systems, is a paid service. Yes, we all know about DBaaS, PaaS, and XaaS, but we are going to focus on what you have in house for now.
The first thing I have my clients look when they are interested in a cloud migration is at their security needs. Are they under a compliance model that would be harder for them to enforce with their data being managed or hosted offsite (e.g. HIPAA, Gramm Leach Bliley act, SoX, PCI…). Storage is only part of the problem. Data at rest normally has a separate requirement than data in motion (i.e. Copying data to and from the cloud provider). If they are under restrictions, we have to factor in additional security measures like firewalls and new policies and procedures.
Once we get the layout on the security front, I take them through the application discovery. Why is this important? One reason is many software licenses for applications are only good for the local company’s datacenter, not at a hosted provider. Also, many homegrown applications may have hard coded information in them (e.g. IP Addresses, Using HOST files, or using a TCP/UDP port range to communicate with instead of a dedicated TCP/UDP port that can be opened in the firewalls). One other issue that homegrown applications have is the people that write them may not be around now (e.g. hit by a bus, retired, or quit). If that is the case, high-end developer resources are brought in to reverse engineer the application so it can be used in a cloud environment. That takes time. I will discuss the this solution on my next post.