What are the challenges for migrating applications into Microsoft's Windows Azure cloud?
There are a number of potential challenges when you migrate an application from an on-premises infrastructure to Microsoft Azure cloud. Which of these problems -- if any -- you encounter depends on the complexity of your application.
Let's start with a simple example: an application that runs on a single server. Assume the app is not dependent upon a database back end or another tiered service. At the very least, you will have to upload your application to Azure cloud and select an appropriately sized server. Depending on the use case for the app, it may be necessary to update domain name system, or DNS, entries or change connection configurations in client applications. If the app requires authentication, ensure that Active Directory or another authentication mechanism is set up to serve the app running in Azure.
A more complicated example is a three-tiered application using a database, application server and Web server. SQL Server users can run an instance of the database in Azure. This imposes the least amount of change on the database during the Azure migration. However, users must continue to administer the database.
Database as a service, or DBaaS, SQL Database is an option, but watch out for limitations. For example, Visual Studio 2010 or later is needed to use Server Explorer to connect to SQL Database. In addition, some Transact SQL commands are not supported in SQL Database, including certain ALTER DATABASE operations. It is important to understand how SQL Database's row versioning-based isolation levels work and the impact on the app.
Consider ways to implement the equivalent of on-premises procedures, such as backups, security checks and patches. These procedures are especially important for those subject to government or industry regulations.
Watch out for services that need to be adjusted following your migration from on-premises. For example, if you have a server dedicated to log analysis, change the way you ship logs to that server or at least update the configuration.
Finally, consider using a virtual private network (VPN) with Azure instances. In simple cases, using secure protocols at the application level is possible, but implement a VPN if all traffic needs to be encrypted.
About the author:
Dan Sullivan holds a master of science degree and is an author, systems architect and consultant with more than 20 years of IT experience. He has had engagements in advanced analytics, systems architecture, database design, enterprise security and business intelligence. He has worked in a broad range of industries, including financial services, manufacturing, pharmaceuticals, software development, government, retail and education. Dan has written extensively about topics that range from data warehousing, cloud computing and advanced analytics to security management, collaboration and text mining.
Azure outage cause for concern?
Five keys to moving critical apps to the cloud
Breaking down application migration case by case
New Azure tools ease components of cloud migration