While we were working on the hybrid project, we have identified the following 6 challenges that are common across the hybrid scenarios. Visit MSDN article for more information.
1.Deploying app and data to the cloud
How can we decide which component should be moved to the cloud, and which should remain on-premises? There’re a number of factors to consider but one of the most important ones is to manage the dependency across components so they don’t have to communicate over the internet which is a weak link in the entire system .
2.Choosing communication technology
Even though we deploy dependent components together to the cloud or on-premises, there's still need to communicate across the boundaries. We should put the right technology at the right place. For instance, Azure Connect is the easiest option for the migration scenario but it’s less reliable than other options. Service Bus Queue/Topic is the most reliable option but you need to modify the existing code a lot. It’s important to choose the most reliable one for critical use cases.
3.Optimizing business process
How can we make the business processes flexible and reliable? Service Bus Queue/Topics is a reliable messaging platform. Even when the connection or the listener goes down, the sender can still keep posting the messages. Later when the connection or the listener comes back online, it will resume the process by getting the messages out of the Queue/Topics. However the process fails for many reasons and you have to gracefully deal with it. One way to deal with the failure is to implement recovery logic. This guide introduces Scheduler - Supervisor pattern with a simplified sample code.
4.Increasing scalability, performance, and availability
Once you deploy your application to the cloud, you want to get the most out of the cloud by increasing those abilities. How can we achieve that? There’re relevant technologies such as Caching, Traffic Manager and WASABi. The guide explains further details of each technology under the hybrid use cases.
There’re 3 kinds of users, customers, employees and partners each has different requirements but has one thing in common. they don’t want to deal with tons of credentials. Instead, customers want to use their existing social IDs, employees and partners want to single sign on to the cloud apps using the corporate credential. Windows Azure Active Directory can manage this process.
6. Managing entire system
Managing the complex system itself is a complex task. You have to diagnose and deploy the applications. You also want to automate the management tasks. There’re related technologies that allow you to achieve these goals.