Je travaille dans une entreprise avec un important investissement SAP, et nous avons également des dizaines de grands systèmes .Net (principalement en interne pour les systèmes d'ingénierie) et des plateformes Java (principalement pour les applications Web externes). En tant que tel, nous avons de grands magasins de développement sur ABAP, C# et Java EE.Traitement local ou centralisé
Nous avons plus de 20 grandes installations réparties sur de très grandes distances, 2 centres de données, et quelque 600 petites installations dans les zones urbaines, rurales et éloignées (pensez près du pôle Nord)
Nous avons des normes décentes pour quelle plate-forme utiliser dans chaque domaine fonctionnel, mais nous n'avons pas beaucoup de clarté sur le moment du traitement local et quand utiliser le traitement distribué (central). (c'est-à-dire, Client épais vs. Client léger)
J'aimerais construire un arbre de décision basé sur les meilleures pratiques pour vous aider avec cette question. Certains des critères que je l'ai vu dans le passé comprennent:
- est un réseau fiable disponible partout l'application sera installée? (Si non, le traitement local peut être une meilleure option)
- L'application nécessite-t-elle des données en temps réel? (Si oui, le traitement centralisé peut être une meilleure option)
- L'application nécessite-t-elle un effort processeur intense ou des E/S disque élevées? (Si oui, le traitement centralisé ou un traitement local épais peut être des options)
- L'application a-t-elle besoin de capacités hors ligne ? (Si oui, le traitement local peut être une meilleure option)
- Y a-t-il des problèmes de sécurité pour ayant les données consolidées dans environnements distants? (Si oui, traitement centralisé avec clients légers distribués peut être une meilleure option )
- Y at-il du matériel existant aux sites qui peuvent être mis à profit pour exécuter l'application? (Si oui, le traitement centralisé peut être une bonne option: Un client mince coûtera moins cher à déployer et à entretenir, ils sont plus sûrs, et moins précieux pour les voleurs)
- Y at-il des applications existantes qui le même utilisateur groupe travaille avec, et comment ces applications sont-elles déployées? (Il peut y avoir des économies d'échelle en consolidant les applications en un seul modèle de conception)