Approaches for designing and implementing applications in Microsoft Azure Hybrid Scenarios - 2
In part 1 of this blog, we dealt with the various parameters one must consider in designing and implementing applications in Microsoft Azure. In this second and final part, we will discuss different hybrid cloud scenarios and approaches for designing and implementing hybrid cloud solutions.
In many cases, organizations need to meet external certifications and validations from international or industry standards/bodies. There could also be internal validations that are required to help build trust and acceptance of the application that is enabling the business.
Microsoft has, what they call, the ‘Azure Trust Center’, where we can find all the information about security, privacy, transparency, and compliance on Azure. In each section, Microsoft provides detailed information on physical security controls, ownership of data, third-party validation, and compliance for various industry standards. It is highly recommended to consider aspects detailed in the Azure Trust Center when we put together the overall design and business case.
So when does a hybrid cloud scenario arise?
While considering many of the aspects listed above, some of them may not make sense, or may not be possible to be deployed on public cloud – this may not be necessarily due to technical reasons. This could be due to legal constraints or existing investments or a piece of application that is not fit for cloud. But at the same time, we know that deployment to public cloud is highly beneficial. In such situations, a hybrid cloud approach is the best bet by extending the existing datacenters and network to the public cloud.
Approaches for designing and implementing hybrid cloud solutions:
There are many ways one can integrate the assets on public and private cloud and make hybrid cloud solutions. Typically, infrastructure elements like Site-to-Site VPNs, Express Routes and the likes are one way of thinking. While that is an obvious way of thinking, when you think from a broader application perspective, there are many other aspects for designing and implementing hybrid clouds. These need to be based on certain approaches:
- Service-oriented – Loosely coupled services like web services or web APIs shared across premises for communication
- Message-oriented – Async queuing mechanisms for communication between premises
- Data-driven – Keep the master data on-premises and partially or completely make it available to public cloud for some specific purpose and synchronize the databases across premises
- Infrastructure-based – Building a tunnel through VPN and managing or sharing the assets for the applications between on-premises infra and cloud
- Technology-specific – For example, in an HPC scenario, the head node can run on-premises and the worker nodes on cloud; or nodes are run across premises and head node in place
This brings us to the end of part 2 of approaches to designing and implementing applications in Microsoft Azure. I will be covering practical scenarios for the above mentioned approaches in separate blogs. Watch this space!
Let me know what you think.