Récupération d'urgence dans Microsoft Dynamics 365 (en ligne)
Date de publication : janvier 2017
S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
La récupération d’urgence est une fonctionnalité de Microsoft Dynamics 365 (Online) pour récupérer d’une interruption de service planifiée ou non planifiée. L’exemple d’une interruption planifiée de service est la maintenance système de centre de données régulière et périodique. Un exemple d’une interruption de service non planifiée est la défaillance d’un système informatique ou d’un composant réseau principal dans un centre de données. Dans les deux cas, vous perdez temporairement l’accès aux données de votre organisation et aux services Microsoft Dynamics 365 (Online).
Les interruptions de service planifiées sont précédées d’un avertissement public dans l’application Web ou Dynamics 365 pour Outlook identifiant la date et l’heure de la maintenance de service afin que les organisations puissent planifier l’interruption de l’accès aux données de l’organisation. Les interruptions de service non planifiées se traduisent par un avis que l’organisation est actuellement en cours de maintenance non planifiée.
Lorsqu’une défaillance ou un incident se produit, des processus bien définis sont appliquées par les administrateurs du centre de données Microsoft Dynamics 365 (Online) pour récupérer d’une interruption de service. Les processus et les logiciels à récupérer de ces interruptions de service sont appelés basculement d’urgence. Votre centre de données Microsoft Dynamics 365 (Online) conserve un duplicata et une autre copie synchronisée des données de votre organisation sur un autre serveur. Si un incident se produit au centre de données et que vous n’avez plus accès aux données, les administrateurs surveillant le centre de données pourront basculer l’accès de votre organisation principale vers cette organisation de remplacement, et ainsi réduire l’interruption de service. Lorsque la défaillance a été corrigée, l’accès de service à votre organisation principale peut être restauré.
Cette récupération se produit dans le centre de données et est gérée de manière transparente pour vous et vos applications managées .NET. Toutefois, il subsiste un problème que les développeurs d’applications doivent traiter : la perte de données. Lorsque les services Microsoft Dynamics 365 (Online) rencontrent une défaillance, les opérations de modification de données réalisées par votre application à l’aide des appels de service peuvent ne pas être effectuées correctement. Cela peut entraîner la perte de données. Les sections suivantes de cette rubrique décrivent comment vous pouvez écrire vos applications pour traiter les problèmes de perte de données.
Contenu de la rubrique
Développer une application de code managé .NET pour la récupération avec basculement
Développer une application non .NET pour la récupération avec basculement
Conseils
Développer une application de code managé .NET pour la récupération avec basculement
Les développeurs peuvent créer leurs applications pour tenir compte des défaillances et de la récupération du centre de données en utilisant un code pour vérifier et gérer un événement de basculement en toute simplicité. Une application peut s’abonner aux événements de notification EndpointSwitched et EndpointSwitchRequired. Ces événements sont également disponibles dans les classes dérivées comme OrganizationServiceProxy. Pour plus d’informations sur ces événements, voir la documentation ServiceProxy<TService>.
Votre application peut vérifier la propriété EndpointAutoSwitchEnabled pour déterminer si le comportement de basculement automatique est activé pour une organisation. Cette propriété est définie sur true pour les organisations où un autre point de terminaison de basculement est disponible. Aucun autre code spécial n’est requis dans votre application si ce n’est éventuellement l’abonnement aux événements de notification lorsque EndpointAutoSwitchEnabled a la valeur true.
Flux logique d’application standard pour un événement et un basculement d’incident
Un événement d’incident se produit dans le centre de données Microsoft Dynamics 365 (Online).
L’application effectue un appel de service via un objet de classe proxy du service : OrganizationServiceProxy, DiscoveryServiceProxy.
L’objet de classe proxy du service reçoit une exception après avoir tenté l’appel de service.
Si l’organisation cible de l’appel n’est pas activée pour le basculement, passez à l’étape 9.
L’événement EndpointSwitchRequired est levé.
L’événement EndpointSwitched est levé.
L’objet de classe proxy du service renouvelle automatiquement l’appel.
Si le deuxième appel est réussie, l’application est normalement.
Si l’appel n’a pas abouti, une exception est retournée à l’application : EndpointNotFoundException, TimeoutException, FaultException<OrganizationServiceFault> où fault.Detail.ErrorCode == -2147176347.
Vous voudrez peut-être implémenter le code qui vérifie une éventuelle perte de données après la réception des événements de basculement du point de terminaison afin de les gérer en conséquence.
Après avoir corrigé l’incident affectant le point de terminaison de l’organisation principale dans le centre de données, une restauration à partir de l’autre URL du point de terminaison vers l’URL du point de terminaison principal pour l’organisation se produit dans le cadre de la maintenance de l’organisation planifiée.
Développer une application non .NET pour la récupération avec basculement
Les applications qui ne se lient pas aux assemblys SDK de Microsoft Dynamics 365, par exemple les applications Java qui accèdent aux services Web en utilisant SOAP ou ODATA, peuvent tenter d’accéder à l’URL de basculement de l’organisation cible. L’URL pour une organisation de basculement de remplacement est identique à l’URL d’une organisation principale avec « --s » ajouté au nom de l’organisation. Par exemple, une organisation nommée Contoso afficherait les URL principale et de remplacement dans le tableau suivant.
URL d’organisation principale |
URL d’organisation de remplacement |
---|---|
https://contoso.api.crm.dynamics.com |
https://contoso--s.api.crm.dynamics.com |
Pour les applications connectées non .NET, il n’y a aucun événement de notification auquel votre application peut s’abonner pour recevoir un avertissement d’interruption de service et de basculement de service. Votre application commence à recevoir une variété d’exceptions d’erreurs, comme indiqué précédemment, pendant l’interruption de service. À ce stade, l’application peut tenter de se connecter à l’URL de remplacement de basculement de l’organisation cible. Une fois que l’incident a été corrigé, une restauration vers l’URL principale de l’organisation se produit dans le cadre de la maintenance de l’organisation planifiée.
Conseils
La liste suivante décrit les meilleures pratiques que vous pouvez suivre dans vos applications pour les rendre plus fiables lorsqu’elles gèrent des interruptions de service et une récupération après incident.
Écrivez le code d’application pour vérifier la valeur de propriété EndpointAutoSwitchEnabled et déterminer si elle est définie sur true. Si true, envisagez un abonnement aux événements de notification EndpointSwitched et EndpointSwitchRequired.
Si votre application exploite des données importantes où toute perte de données est désastreuse, écrivez le code gestionnaire d’événements ou utilisez les exceptions indiquées pour traiter l’événement et le basculement d’incident en fonction des besoins de l’organisation.
Voir aussi
Administrer le déploiement à l’aide du service Web de déploiement
Microsoft Dynamics 365
© 2017 Microsoft. Tous droits réservés. Copyright