web-dev-qa-db-fra.com

Service Windows à Azure?

J'ai écrit un service Windows en C # qui effectue toute une série de tâches administratives en arrière-plan sur la base de données. À présent, mon client souhaite migrer l’ensemble du Shebang vers Azure. Je ne connais pratiquement rien d'Azure et mon client dit que vous ne pouvez pas exécuter un service Windows sur Azure. J'ai cherché sur ce sujet dans Google et publié quelques études de cas très spécifiques sur ce que quelqu'un a fait pour déplacer son service Windows vers Azure, en supposant que le fonctionnement d'Azure est assez bien maîtrisé, mais aucun article général sur la question de savoir si Windows ne convient pas. Les services peuvent être exécutés sous Azure, ou que faire pour les adapter. 

J'aimerais vraiment avoir une réponse claire et une explication à la première question (pouvez-vous exécuter un service Windows sous Azure?), Et si la réponse est non, j'aimerais beaucoup trouver un guide pas à pas pour convertir un fichier. Service Windows vers quelque chose de compatible avec Azure.

Merci!

38
Shaul Behr
24
Yahia

Vous pouvez exécuter ce que vous voulez, y compris un service Windows.

Je pense que vous seriez plus heureux de passer à WorkerRole , ce qui devrait être très simple.

6
smarx

Pour les tâches plus petites, vous pouvez utiliser la fonctionnalité WebJob d'Azure, qui s'exécute dans une application Web (utile si vous effectuez des tâches en arrière-plan sur les mêmes données que celles gérées par un site frontal).

Il y a une ventilation Nice ici: https://Azure.Microsoft.com/en-us/documentation/articles/web-sites-create-web-jobs/

WebJobs est assez facile à utiliser, mais n'a pas le pouvoir de Worker Roles. Voir ci-dessous une comparaison: Worker vs Web Web

2
Savage

J'utiliserais des travaux Web pour cela. Sa fonctionnalité de planification et son déploiement/configuration simplifié en font une tâche triviale. Zip votre fichier .exe et le télécharger, puis définissez un calendrier et vous avez terminé. 

0
Phil

Voici les étapes à suivre pour installer un service Windows sur Windows Azure sous VM avec Windows Server 2012 R2:

  • démarrez votre VM dans la console Windows Azure et connectez-vous avec le connecteur de bureau à distance
  • mappez votre stockage en tant que nouveau disque dans votre VM:

    Net Use z:\mystorage.file.core.windows.net\endoint/u: nom_utilisateur verylongkeythatendswith ==

La clé de stockage se trouve dans votre console Azure Management -> Stockages -> Gérer les clés d'accès.

  • copier tous les fichiers d'installation nécessaires sur le stockage mappé (copier/coller)
  • copier nssm sur un lecteur local (pas z: car il utilise le système de fichiers MAFS et est inaccessible avec les commandes API Windows de bas niveau)
  • Créez un fichier .bat avec les entrées suivantes

set username = xxx définir mot de passe = yyy appelez d:\nssm install "My service" "% programfiles%\PathToService\myservice.exe" "-p 8677" d:\nssm set "Mon service" ObjectName "% username%" "% password%" sc failure Actions "Mon service" = redémarrage/60000/redémarrage/60000/redémarrage/60000 réinitialisation = 240 d:\nssm start "Mon service"

Le nom d'utilisateur et le mot de passe doivent être ceux que vous avez utilisés pour créer la machine virtuelle.

  • lancez le script. Le service devrait être visible dans votre liste de services.

Prendre plaisir!

PS: J'ai utilisé NSSM pour simplifier le déploiement du service. 

0
luksmir

Oui, pas de problème, voici un autre exemple agréable et facile à suivre Mise en route avec Azure Cloud Services . Il montre également comment mettre en œuvre le rôle de travailleur. Vous pouvez utiliser le rôle Web pour gérer votre service.

0
Gerard