IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Microsoft Azure Discussion :

Question sur Azure et release management


Sujet :

Microsoft Azure

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de sam_XIII
    Profil pro
    Inscrit en
    Août 2003
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 221
    Par défaut Question sur Azure et release management
    Bonjour à tous,

    Je suis à la recherche de conseils concernant le release management dans Azure.
    J'ai trouvé des tutoriaux mais je me pose toujours quelque questions.

    J'ai une solution asp.net 4 comprenant pour simplifier un projet asp.net mvc, un projet db et un projet test

    J'utilise git dans visual studio online

    Pour le moment j'ai un app service et une base de données sql dans azure.
    J'ai fait un build qui récupère les NuGet, build, exécute un dacpac pour la db, exécute les tests de mon projet test (il y a des tests d'intégration qui attaquent la base de données) et enfin déploie l'application sur le app service.

    A présent je souhaite:

    Créer le build, le déployer sur un environnement "dev" dans azure, ensuite passer sur un environnement "QA", ensuite "stagging" et enfin prod

    Dans mon projet web j'ai créé les différents environnements via le configuration manager et j'ai fait des transformations de web.config pour chaque environnement.

    J'ai vu les releases dans visual studio online et je comprends bien que je dois passer par la pour déployer dans les différents environnement

    Ce dont je ne suis pas certain :

    Dans Azure :

    -> est-ce que je crée 1 app service par environnement ou bien est-ce que j'utilise les slots d'un seul app service ?
    -> est-ce que je crée 1 serveur sql par environnement ou bien j'utilise le même et je fait une base de donnée par environnement ?

    Dans visual studio online :

    - comment dois-je répartir les tâches ?
    - dans le build, quelle configuration de quel environnement dois-je renseigner ?
    - dans le build -> comment gérer le projet db ? je pense que le déploiement doit se faire via la release mais je ne vois pas comment changer la configuration
    - pour les tests -> je dois les exécuter via les release ? mais comment changer les chaines de connexion ? il n'y a pas de fichier de transformations ?
    - J'ai vu qu'il y a les test-plan aussi : est-ce que je dois les utiliser ?



    Est-ce que quelq'un peut m'aider à y voir plus clair ?

    Merci d'avance !

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par sam_XIII Voir le message
    -> est-ce que je crée 1 app service par environnement ou bien est-ce que j'utilise les slots d'un seul app service ?
    C'est plus simple d'utiliser les slots, car il y a des fonctionnalites pour "swapper" les slots entre eux (et donc la possibilite de revenir en arriere si besoin). Je pense aussi qu'au niveau facturation c'est plus avantageux (a verifier). Tu peux envisager 1 App Service par environnement si tu as des deploiements particulierement complexes, ce qui ne semble pas etre ton cas pour le moment. Donc mon avis, utilise les slots.

    On voit souvent 3 a 4 environnements differents : DEV --> STAGING --> PROD ou DEV --> STAGING --> PRE-PROD --> PROD.

    Citation Envoyé par sam_XIII Voir le message
    -> est-ce que je crée 1 serveur sql par environnement ou bien j'utilise le même et je fait une base de donnée par environnement ?
    En general on utilise 1 DB par environnement. En effet en PROD on aura tendance a avoir la version stable, en staging et en DEV on sera moins stable, et avec de nouvelles fonctionnalites pas encore livrees en PROD. Souvent, les mises a jour de la DB sont liees aux mises a jour du code, donc il peut etre problematique d'avoir une version X de la DB avec une version Y du code, sauf si tu utilises des Vues et que ces Vues te garantissent une retro compatibilite... Il faut aussi prendre en compte la taille de l'equipe, plus vous etes nombreux et plus il est complique de n'utiliser qu'une seule DB. Mon avis : 1 par environnement.

    En general le nombre de DB est equivalent au nombre d'environnements.

    Citation Envoyé par sam_XIII Voir le message
    - comment dois-je répartir les tâches ?
    Comme pour une build classique.

    Citation Envoyé par sam_XIII Voir le message
    - dans le build, quelle configuration de quel environnement dois-je renseigner ?
    Tu dois pointer vers le slot de DEV - ou le serveur de DEV si tu as choisi de monter une VM par environnement.

    Citation Envoyé par sam_XIII Voir le message
    - dans le build -> comment gérer le projet db ? je pense que le déploiement doit se faire via la release mais je ne vois pas comment changer la configuration
    Documentation : Deploy your database to Azure SQL Database using DACPACs. Voir aussi les liens dans le document.

    Citation Envoyé par sam_XIII Voir le message
    - pour les tests -> je dois les exécuter via les release ? mais comment changer les chaines de connexion ? il n'y a pas de fichier de transformations ?
    Je ne comprends pas trop ta question. Peux-tu aussi preciser s'il s'agit de tests unitaires et/ou de tests d'integration ?

    Citation Envoyé par sam_XIII Voir le message
    - J'ai vu qu'il y a les test-plan aussi : est-ce que je dois les utiliser ?
    Il n'y a pas d'obligation, ca depend de tes besoins. Les test plans permettent de guider les testeurs pas a pas, d'avoir un reporting sur l'avancee de la campagne de tests, et de pouvoir creer directement des tickets (bugs...) depuis les cas de test.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre expérimenté
    Avatar de sam_XIII
    Profil pro
    Inscrit en
    Août 2003
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 221
    Par défaut
    Merci énormément pour ton aide !

    Citation Envoyé par DotNetMatt Voir le message
    C'est plus simple d'utiliser les slots, car il y a des fonctionnalites pour "swapper" les slots entre eux (et donc la possibilite de revenir en arriere si besoin). Je pense aussi qu'au niveau facturation c'est plus avantageux (a verifier). Tu peux envisager 1 App Service par environnement si tu as des deploiements particulierement complexes, ce qui ne semble pas etre ton cas pour le moment. Donc mon avis, utilise les slots.

    On voit souvent 3 a 4 environnements differents : DEV --> STAGING --> PROD ou DEV --> STAGING --> PRE-PROD --> PROD.
    Au final je suis parti sur 2 appservice avec des slots, le premier pour dev/demo et le second pour staging/prod (pour avoir une séparation entre les deux)



    Citation Envoyé par DotNetMatt Voir le message

    Je ne comprends pas trop ta question. Peux-tu aussi preciser s'il s'agit de tests unitaires et/ou de tests d'integration ?
    En fait j'ai un peu un mix des deux dans mon projet. Mais changer la connectionstring c'est pour la partie test d'intégration.
    Et la je n'ai pas encore compris comment on spécifie dans les tasks de la release comment définir les connexionstrings pour mes tests ...

Discussions similaires

  1. [PHP 5.0] Questions sur architecture classes/managers Php objet
    Par Lystik dans le forum Langage
    Réponses: 8
    Dernier message: 19/07/2013, 15h13
  2. Questions sur enterprise manager cloud control
    Par linux_sql dans le forum Débuter
    Réponses: 1
    Dernier message: 27/06/2012, 11h22
  3. Questions sur management de sites
    Par sylvaindenisbe dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 06/06/2007, 15h31
  4. Réponses: 2
    Dernier message: 11/08/2002, 21h27
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo