Learn Everything There Is To Microsoft Azure Compatibility
The common recurring concern we hear from our customers who want to move their existing applications to cloud is whether it is compatible. As this is more than just a simple concern, let’s try to address this by drawing the focus on individual application’s execution model and using Microsoft Azure to drive the points through.
Normally, public cloud solution provider like Microsoft Azure offer 3 execution models for applications, they are:
1. Infrastructure as a Service (IaaS)
2. Platform as a Service (PaaS)
3. Software as a Service (Saas)
Azure provides a range of services within these models which can be used to your advantage. Since IaaS and PaaS are the two prominent execution models for application migrations, I will direct my focus on those in this blog post.
IaaS in a nutshell is “instant computing infrastructure, provisioned and managed over the internet”. The most exciting part of IaaS is that it can be scaled up and down and the customers need to only pay for what they use. With Microsoft Auzre, IaaS is available and known as Azure Virtual Machine (VMs).
While migrating applications to Azure VMs, to ensure there are no compatibility issues, it’s important to make sure that there are none to minimal difference between the source server and the target VM.
These factors need to be taken into consideration for application compatibility.
• Hardware – To ensure the application performs in line with expectations, compatibility with the hardware for Azure VMs have to be made sure. Applications that have some relation to Field Programmable Gate Array (FPGA) should be re-architected before or during deployment to Azure.
• Commercial Software – If the current version is not supported by the vendor on Azure VMs, an upgrade might be required in the case of commercial software. One must take extra care to not affect the functionality while upgrading it to a new version. In certain extreme cases, the commercial software may need to be replaced if the new version doesn’t support it.
• Operating System – After migration, if you find out that the current version of your software is not supported by Azure VMs, remediation is required for the application to function again.
• Interfaces – For every migration, application configuration (for eg. endpoint addresses etc.) need to be remeditated. After careful deliberation, you might even have to replace the interfaces that’s equivalent to Azure native services.
With resources made available to deliver applications, Platform as a service (PaaS), on the other hand, is a complete development and deployment environment in the cloud. Some examples of Azure PaaS are App Services, Cloud Services, Azure SQL.
As PaaS needs to be supported by the PaaS platform, compatibility issues are more likely when migrating applications or databases. These are the factors you need to take into consideration for compatibility on Azure PaaS.
• Technology – Application technologies, database and runtime require a minimum support from PaaS services. Application need to be upgraded if the current version falls short. In some cases, they may even need to be replaced if a supported flavor is not available on Azure PaaS. As part of this, components such as APIs, DLLs, and COM will need to be upgraded.
• Storage – PaaS requires the application can’t access data on traditional storage. Azure Storage, Azure SQL or Azure CDN are the data needed to migrate to other services. References to these data sources will have to be updated in the application.
• Security – Regulatory compliance (HIPAA, PCI etc.) is also a concern and it is important to ensure that a particular PaaS service carries the same level of compliance as the overall cloud service. Any security requirements of the application will have to be re-configured or remediated. These include ports and SSL certificates.
• Interfaces – Interfaces, just like in IaaS needs to remediated, which can be replaced with equivalent Azure native services.
Application compatibility depends on various factors that will depend on the application’s execution model.
At Redington, our professional advisors who have extensive knowledge in migrating applications to Azure will help you by conducting thorough assessment of your application portfolio and in the process identify the most suitable execution model and the level of remediation that’s required for public cloud compatibility.
To conclude, may it be IaaS or PaaS, your choice will be duly supported by us at every step of the way.