2015-03-27 1 views
0

Azure VM, Cloud service or Web job?hébergement d'une application console en cours d'exécution continuosly

J'ai une application console configurable qui fonctionne continuellement. Actuellement, il fonctionne sur une machine virtuelle et consomme beaucoup de mémoire (il effectue essentiellement l'exploration de données).

L'exigence actuelle est d'avoir plusieurs instances de cette application avec différents ensembles de configuration qui peuvent être modifiés par des utilisateurs spécifiques. Où dois-je héberger cette application de telle sorte que la configuration puisse être modifiée en utilisant un frontal qui fournit des gestions d'accès (comme Sharepoint), la possibilité de l'arrêter/redémarrer (comme le service WCF) sans se connecter à la VM?

Je suis ouvert à toutes suggestions/idées. Merci

Répondre

0

Je ne pense pas qu'il y ait une réponse vendue à cette question car il y a la variable de préférence mais pour ce que ça vaut, si c'était à moi je le déploierais contre chaque VM azur pour chaque ensemble spécifique d'utilisateurs. De cette façon, si les ressources du serveur ont augmenté à cause des changements de configuration, le groupe d'utilisateurs a fait en sorte qu'il soit isolé de ce groupe, et avec azure, il évoluera automatiquement pour répondre à la demande de ressources. Ensuite, créez simplement une petite application web .net pour permettre à l'utilisateur de s'authentifier et de modifier les paramètres de configuration.

+0

Même si je déploie chaque instance sur une autre machine virtuelle comment dois-je permettre que des utilisateurs spécifiques pour changer la configuration en utilisant une sorte de fin avant? Les autres préoccupations sont comment dois-je permettre aux utilisateurs de le redémarrer à la demande, puis le journal qui est généré par l'application comment dois-je afficher cela pour les utilisateurs finaux?À aucun moment, personne ne se connectera directement à la machine virtuelle. – Sandesh

+0

Vous aurez besoin d'une application qui permettra aux utilisateurs de s'authentifier et de modifier les paramètres. Cette application aurait plusieurs rôles et niveaux d'autorisation. il serait accessible par le navigateur. – voidzero

+0

J'ai commencé à implémenter le design. L'application longue durée est convertie en un webjob. J'ai conçu l'interface utilisateur dans sharepoint 2013 qui peut prendre en charge l'authentification. J'utilise Azure Storage pour stocker la configuration et lire la table à partir de sharepoint pour la créer et la mettre à jour. Toujours en phase de développement. – Sandesh

0

Vous pouvez exposer un point final « admin » pour votre service (de toute évidence vous avez besoin d'authentification ici!) Que: 1. peut retourner la configuration actuelle 2. accepter la nouvelle configuration 3. Redémarrez le service (le cas échéant). Arrêter le service sera plus difficile, car cela laisse la question sur la façon de le recommencer.

Ensuite, vous devez écrire votre propre application (ou utiliser une application à trois parties (comme sharepoint ou un CMS) qui traitera vos utilisateurs et consommera votre point de terminaison «admin».

Éditer: La partie d'hébergement: Si je vous comprends bien, votre application est juste une application console aujourd'hui, et vous ne savez pas comment l'héberger? Eh bien, il y a beaucoup de réponses à cette question. Si vous avez un département des opérations allez leur parler, si vous êtes sur votre propre jeu autour et voyez ce qui vous convient le mieux et votre environnement!

Mon conseil: optez pour un protocole/une interface http/https - simplement parce qu'il existe de nombreux hébergeurs Web, et vous pouvez facilement trouver des outils pour ce protocole. Si vous êtes sur la plate-forme .NET, consultez Web.API ou OWASP

+0

Où dois-je l'héberger? Votre suggestion est de convertir mon application de console dans un service de WCF? – Sandesh

+0

Je ne connais pas votre application. Vous l'avez tagué avec "wcf". Je pensais que vous avez hébergé votre service dans une application de console. Hébergez-le sur un serveur. – Jocke

0

Azure a maintenant Machine learning pour traiter l'exploration de données. Vous devriez vérifier si cela vous convient.

Sinon, vous pouvez utiliser Webjob:

  • vous permettre d'avoir plusieurs instances de votre temps travail en cours (Webjon scaling out).
  • AppSettings peut être changé à partir du portail Azure ou en utilisant la Azure Management API