Migrating business applications from a premise-based environment to a Cloud platform is like any other big move in that it requires a lot of planning and some heavy lifting.
Without proper planning, enterprises may see limited benefit from their Cloud migration or experience performance problems that result from unanticipated bottlenecks and security conflicts. In particular, enterprises need to understand how their new Cloud platform will impact application management, interoperability, performance and security.
When working with migrations to the Microsoft Azure Cloud platform, our Microsoft consulting practice is quick to remind customers that any apps, even Microsoft-based apps, can behave differently in the Cloud. We recommend that enterprises anticipate and address these differences early in the process, before any migration work is done. Some of the issues that enterprises need to consider as part of the planning and project design phase include security, performance, capacity planning, billing and service level agreements.
When evaluating a move to the Cloud, IT departments generally have three main concerns: How do we manage the application remotely, how do we make sure it’s secure enough, and how will the application perform? Most Cloud environments will provide tools to help you manage and monitor your application, enabling enterprises to increase/decrease capacity and manage performance to meet service level agreements.
Security can be more complex, depending on the regulatory requirements that an enterprise is facing. HIPAA and PCI DSS compliance need to be enforced in a Cloud environment, which may require additional planning and modifications for a Cloud deployment. Some of the security-related questions that IT teams should be asking themselves are:
- How will we authenticate users once the app is in the Cloud? (Remember, if you’re using SQL Azure, it will only support SQL authentication and not Windows authentication.)
- How long do we want to store the user ID before session timeout?
- Can we audit access and modifications to our Cloud-based data to satisfy regulatory requirements?
Performance should also be a major consideration, since while Cloud environments can provide scalability benefits, the performance aspects of any application will by definition change as a result of Cloud migration.
Enterprises should recognize that an application’s performance won’t improve simply because it’s in a Cloud environment. Enterprises need to identify potential bottleneck issues before they migrate their application in order to effectively widen those bottlenecks using the Cloud’s native scalability.
As I mentioned earlier, even Microsoft-based apps can face some compatibility issues in an Azure environment. For example, Microsoft SQL Server and SQL Azure have some slight differences in terms of data storage. SQL Azure has a database size capacity of 50GB, so if you’re migrating a database larger than that into the Cloud, you’ll either need to divide it or put some of that data into Azure’s Binary Large Object (BLOB) storage.
Also, if you’re working with a database in an earlier version than SQL Server 2008, it may not be compatible with Azure. Additionally, SQL Azure is multi-tenant, meaning many applications share the SQL Database Server, which can definitely impact SQL API call operation, as well as performance and response time.
One very positive aspect of Cloud environments is that Cloud vendors are always adding and improving Cloud functionality, giving customers more options and flexibility to choose the optimal Cloud features for their application.
The best Cloud migration advice we can give is to plan carefully and partner intelligently. Choose a partner that has experience moving applications into the Cloud platform you’ve selected and has the ability to transfer the knowledge you need to manage applications on your own, or one that can monitor and manage applications remotely for you. ▪