Cloud computing platforms from various vendors can enable enhanced software scalability, agility and cost efficiency.
As a result, many organizations are evaluating migrating their on-premise applications to cloud hosting applications, such as Microsoft’s Azure Cloud Services. This blog highlights the technical options and capabilities if you are considering migrating to an Azure architecture.
Azure Hosting Options
Microsoft Azure Cloud provides highly flexible hosting options, including enabling businesses to implement the infrastructure on their own or letting Azure cloud services do it for them. Two options for this managed option, called IaaS (Infrastructure as a Service) and PaaS (Platform as a Service), offer great options for organizations to manage their storage, disaster recovery, security and more.
IaaS provides runtime infrastructure that installs and manages an OS and services in the cloud. Through IaaS, businesses can extend their data center infrastructure for any needed platform. Through the IaaS route, they also can deploy an Azure Virtual Machine with a pre-installed SQL Server or MySQL.
PaaS offers the Azure SQL Database, which is a hosted SQL Server that can be used the same way as an on-premise SQL Server. With the help of PaaS, the available web apps can also be easily configured.
The diagram below depicts the comparison of resource management for both the approaches: *
Azure Storage Options
Almost all business applications need to have a data store. Microsoft Azure Cloud Services provide options to store both linear and non-linear data.
Azure’s PaaS storage options include:
- SQL database – A highly accessible and scalable cloud database technology that stores relational data. It is used with on-premise applications as well as those hosted in Azure. The prime function is to scale performance and efficiency depending on business requirements.
- Tables – A storage service for non-relational structured data. This NoSQL data store primarily focuses on large volumes of data with options for easy access and updates.
- Blobs – A storage service for unstructured data. It has a series of containers for storing text or binary data. It also has block blob storage containers that fit best for streaming data and page blob containers that are ideal for unplanned read/write operations.
Azure’s IaaS storage options, which are available through a VM server, include:
- Relational database – Azure cloud provides relational database options, which are structured to maintain relations between the stored items.
- Key-value database – A storage option that allows storing data using associative arrays.
- Document database – This type of database is useful in storing, retrieving and managing document-oriented information.
- Column family – This type contains columns of related data in the form of tuples.
- Graph databases – This type of database uses graph theory to store, map and query relationships.
Examples of options that can be hosted are SQL Server, MySQL, Postgress, RavenDB, etc.
Azure Redis also can help improve database performance when organizations migrate an application with a high data volume. It does so by enabling data to scale independently to increase the responsiveness of the application.
Application settings and connection strings also can be moved to the cloud by changing setting values within the Azure portal. This saves organizations from having to completely redeploy a system. Application configuration can be continued through regular updates without any major changes.
Azure also provides built-in diagnostics to assist in tracing application errors while migrating. Proper diagnosis helps track the origin of errors and any application issues.
- Azure Cloud Services offers a diagnostic manager called Application Insights, which continuously monitors, detects and diagnoses the application for performance and usability. With appropriate configuration, it can provide valuable information to help improve application responsiveness.
- Developers often use Azure “diagnosticstotrace” statements to check application flow. “Diagnosticmonitortracelistener” can be installed to monitor application flow even if the system is deployed on the cloud.
Recovery and Security
Azure’s DRaaS (Disaster Recovery as a Service) helps safeguard against outages and provides support in various system environments. Azure cloud services offers customizable plans for configuring backup for applications and databases as well as orchestrating recovery.
To ensure that security is built-in in every product and cloud service, Microsoft follows the Security Development Lifecycle and embeds security in every phase of development. Azure also provides a wide spectrum of security configurations to make applications available over a secure network. These include authentication, authorization, TLS/SSL, restricted access to a client’s IP address, etc., all of which can be easily configured from the Azure portal.
The decision of migrating on-premise applications to Azure cloud will depend on individual business goals and needs. Based on our experience, Azure is both a very compatible and powerful cloud delivery platform. It is a great option for organizations looking to take advantage of the benefits that cloud can offer. If you would like to learn more about how cloud development and implementation can drive application innovation for you, contact us.