Partager via


Cet article a fait l'objet d'une traduction automatique.

Sites Web Azure

Créer un service Web Node.js et MongoDB

Tejaswi Redkar

Télécharger l'exemple de code

Le nuage est neutre pour toutes les langues. Dans le nuage, il ne devrait pas question que les apps que vous exécutez sont Node.js, ASP.NET, Java ou PHP, car le nuage offre une infrastructure prêtes à l'emploi pour leur exécution. La religion du nuage est l'agilité et l'agilité permet d'implémenter rapidement les nouvelles idées et de coucher du soleil, ceux qui ne fonctionne pas sur le marché. Ces dernières années, Node.js a gagné en popularité parmi une nouvelle classe de développeurs qui favorisent le paradigme de programmation asynchrone. Node.js est un moteur d'exécution de JavaScript pour créer des applications client et serveur. Il comprend un i/o framework asynchrone qui lui permet de gérer des milliers de connexions simultanées sur un seul thread avec CPU minimal ou surcharge de mémoire. C'est un mythe populaire que Node.js est un framework de développement Web ; en fait, c'est un moteur d'exécution monothread pour l'exécution de code JavaScript. Il a une architecture axée sur le module qui permet à quiconque de créer et publier un module pour gérer des tâches spécifiques, telles que le développement Web ou d'accéder à une base de données MongoDB. Par exemple, le moteur de template Express est une infrastructure d'application Web que vous pouvez télécharger sous forme de module en Node.js. Le moteur de base Node.js est construit en C++ au-dessus du moteur V8 JavaScript de Google, qui a été conçu pour le navigateur Chrome. Node.js est pris en charge dans des Sites Web Microsoft Azure et Microsoft fournit également des outils de développement et un SDK natif pour la programmation avec l'API d'Azur. Il y a un centre de développement dédié pour Node.js sur le portail Azure à bit.ly/1iupElQ.

Dans cet article, je vais vous montrer comment développer un service Web RESTful dans Node.js qui accède à une base de données MongoDB dans le nuage et le déployer à Azure Web Sites.

Node.js est basé sur un modèle de développement asynchrone, ce qui signifie que chaque appel de méthode que vous faire nécessite un rappel pour recevoir la réponse. Si les développeurs .NET préfèrent traditionnellement les appels de méthode synchrones (requête-réponse), les fonctionnalités asynchrones ont toujours existé dans le Microsoft .NET Framework. Avec l'inclusion de la nouvelle async-attendent le modèle de programmation du .NET Framework, les applications asynchrones sont devenus la norme dans les applications Web et mobiles. Dans la programmation asynchrone, l'appel de la fonction s'abonne à l'événement de rappel et fournit un délégué pour traiter la réponse. La fonction de rappel est appelée lorsque le traitement est terminé. C'est comme un e-mail par rapport à un appel téléphonique.

L'exemple suivant montre un simple serveur Node.js Web qui renvoie une chaîne lorsqu'elle est appelée :

var http = require("http");
http.createServer(function(request, response) {
  response.writeHead(200, {"Content-Type":
  "text/plain"});
  response.write("Hello MSDN");
  response.end();
}).listen(8080);

Notez que la fonction de réponse est appelée lorsqu'un événement de requête HTTP est déclenché. La fonction exigent est utilisée pour le chargement de modules, semblables aux espaces de noms de chargement des assemblys dans le .NET Framework.

Il y a eu beaucoup de discussions et les arguments religieux sur ASP.NET versus Node.js, mais je ne vais pas toucher à ce sujet dans cet article. Ma démarche a toujours été d'utiliser le meilleur outil pour le travail, et avec ce que vous êtes bon à faire votre meilleur.

Traitement de la demande de node.js

Comme Figure 1 montre, un seul thread pour gérer les connexions de clients simultanées au démarrage du moteur de Node.js. Que le thread unique est déjà initialisé, il n'y a aucune initialisation surcharge requise pour toute recrudescence de demandes de traitement, car le thread délègue rapidement la demande de façon asynchrone à un thread de travail pour le traitement.

Node.js Request-Response Orchestration
Orchestration de Node.js requête-réponse figure 1

Si le HTTP demande englobe une tâche de longue durée ou d'e/S intensives, telles que l'accès de la base de données ou un appel de service Web, il est exécuté de façon asynchrone dans non-blocage des threads de travail. Une fois terminée la tâche de longue durée, les threads de travail renvoient les résultats comme un rappel au thread principal. Le thread principal puis renvoie le résultat au client. Un impor­concept tant à comprendre ici est que le seul thread récepteur est toujours disponible pour recevoir des demandes et ne reste pas occupé avec traitement parce que le traitement est délégué à des threads de travail.

Composants principaux de node.js

Node.js est constitué de deux composants principaux :

Noyau/Kernel : Le noyau de Node.js est écrit en C++ au-dessus du moteur de Google V8 JavaScript. Le noyau lui-même est monothread et est capable d'équilibrage entre les processeurs. Node.js est open source et vous pouvez obtenir le code source de github.com/joyent/node.

Modules : Modules sont semblables aux packages NuGet dans le .NET Framework. Le Node.js Gestionnaire de package (NGP) est l'outil de gestion de paquets de Node.js dans votre environnement de développement. Modules de frayent des nouveaux processus ou threads en fonction de l'intensité de la I/O de la tâche. Parmi les modules populaires sont HTTP, MongoDB, Express (un framework Web de modèle) et Socket.IO. Pour obtenir la liste des modules populaires, veuillez visiter nodejsmodules.org.

Installation et exécution de Node.js localement

Avant d'exécuter n'importe quel site Web de Node.js dans le nuage, je vous recommande de l'essayer sur place à l'aise avec la plateforme. Vous pouvez installer et exécuter Node.js sur une plate-forme Windows en seulement trois étapes :

  1. Télécharger et installer Node.js : Node.js Windows installer peut être téléchargé et installé à partir de nodejs.org/#download. Le programme d'installation installe le runtime de Node.js et NPM.
  2. Créer un serveur simple : Pour créer un serveur HTTP en Node.js, ouvrez votre éditeur de texte, copiez le code de Figure 1et enregistrez le fichier sous webserver.js. Le code indiqué précédemment crée un serveur Web minimaliste qui écoute sur le port 8080 et répond avec la même chaîne pour chaque demande.
  3. Exécutez le serveur HTTP : Enfin, pour exécuter le serveur, ouvrez l'invite de commandes, naviguez jusqu'au dossier où vous avez enregistré le fichier webserver.js et tapez la commande suivante :
    > « C:\Program Files\nodejs\node.exe » webserver.js
  4. Cette commande démarre le serveur Web, et vous pouvez le tester en faisant glisser votre navigateur à http://localhost: 8080. Ce serveur simple devrait vous donner assez de confiance pour essayer de Node.js comme une option pour le développement de sites Web.

Node.js en cours d'exécution sur des Sites Web d'Azur

Quand j'ai utilisé Node.js, j'ai décidé d'éviter autant que possible la ligne de commande. Après avoir vécu ma vie dans le Visual Studio, j'apprécie vraiment la productivité que vous pouvez obtenir à l'aide d'un IDE. Heureusement, Microsoft a investi dans WebMatrix, un outil puissant pour devel­oping Node.js applications sur Windows. L'équipe de Visual Studio a également publié les outils de Node.js pour Visual Studio (nodejstools.codeplex.com). Pour le reste de cet article, j'utiliserai WebMatrix que mon outil de développement primaire. De WebMatrix, vous pouvez installer des paquets de la NGP, publier des sites Web sur Azure et également les exécuter localement. WebMatrix installe également IISNode pour IIS Express, qui vous permet d'héberger l'application Node.js sur IIS. Vous pouvez obtenir plus de détails sur IISNode à github.com/tjanczuk/iisnode.

Avant de construire un service Web RESTful complet, je vais vous montrer comment publier un site Web simple sur Azure de WebMatrix.

Créez un Site Web d'Azur vous pouvez créer un nouveau site Web dans Azure à partir du portail Azure, comme le montre Figure 2.

Create a New Azure Web Site
Figure 2 créer un nouveau Site Web d'Azur

Le portail va créer un nouveau site avec un nom unique dans la région que vous spécifiez. La région est importante pour la co-implantation dans le même centre de données de votre site Web, de bases de données et d'autres services. Données qui laisse un datacenter sont facturées.

Créer un Site Web Express Express est une infrastructure d'application Web pour Node.js. Il suit le modèle modèle-vue-contrôleur (MVC) et, par conséquent, permet d'établir des itinéraires pour la construction de sites Web MVC Node.js, mais aussi des services Web RESTful. Vous pouvez télécharger Express de expressjs.com.

Si vous aimez le développement .NET en Visual Studio, je recommande mastering WebMatrix pour développer des applications de Node.js. WebMatrix 3 inclut un modèle de Express utile, préconstruits. Ouvrez-le et cliquez sur nouveau | Galerie de modèles. Puis, dans la catégorie de Node.js, sélectionnez le modèle de Site Express, comme le montre Figure 3.

Spécifiez un nom de site, puis cliquez sur suivant pour installer le IISNode et le modèle de Site Express.

Express Site Template
Figure 3 modèle de Site Express

Le serveur de Node.js que plus tôt, j'ai construit ne fonctionne que sur les Sites Web d'Azur parce que l'infrastructure de Sites Web d'Azur repose sur IIS pour la gestion de sites Web. Par conséquent, pour exécuter un site Web de Node.js, j'ai besoin de l'intégration entre IIS et Node.js qui fournit IISNode.

Figure 4 illustre la structure de fichier créée par le modèle Express et le code source de server.js.

Express File Structure
Structure des fichiers Express figure 4

Notez que l'express et itinéraires modules importés automatiquement. Je vais utiliser ces modules pour construire les services REST.

Exécute le Site Web localement suite à ma recommandation antérieure, cliquez sur le bouton exécuter dans WebMatrix pour tester le site Web sur votre ordinateur local. Si l'installation a réussi, vous devriez voir la page d'accueil de l'Express.

Modèle Express installe également le moteur de template Jade. Jade est un moteur de template HTML et est utilisé pour construire les vues générées par le cadre de l'Express. Jade est d'exprimer ce que Razor est de ASP.NET MVC. Par conséquent, le contenu de index.html est rendu de /views/index.jade et /routes/index.js. Ces itinéraires sont mis en place sur les lignes 16, 17 et 30 de server.js, comme le montre Figure 4. Pour plus d'informations sur le moteur de template Jade, visitez jade-lang.

Publié le site Web d'Azur maintenant que vous avez construit un site Web de Node.js en Express localement, nous allons publier sur Azure. Cliquez sur le bouton publier dans WebMatrix pour démarrer le processus. Importer le profil de la publication de votre site Web et suivez l'Assistant Publication, comme le montre Figure 5.

Publish to Microsoft Azure
Figure 5 publier sur Microsoft Azure

Si tout se passe bien, WebMatrix chargera votre site Web dans Internet Explorer.

L'URL dans le navigateur doit être le Site Web d'Azur à laquelle vous avez publié le site Web. Il s'agit d'une bonne démonstration de comment il est facile pour développer et déployer des sites Web de Node.js et services Web sur Azure. Maintenant, je vais prendre un moment pour regarder MongoDB. Je vais revenir à Node.js plus tard à créer des services Web.

Vue d'ensemble de MongoDB

MongoDB est un open source, évolutive, performante, orientée document base de données qui inclut la plupart des capacités infrastructures de bases de données relationnelles, telles que la réplication, sharding, indexation et basculement. MongoDB également offre auto-sharding et a intégré de carte-réduire des capacités, qui ne sont pas offerts aujourd'hui par la plupart de bases de données relationnelles de traitement. Bases de données relationnelles ont été conçus à une époque où les systèmes de stockage coûtaient chers. Stockage des données dans un format relationnel a permis aux développeurs d'optimiser l'espace de stockage sans compromettre la récupération rapide de données. Dans le monde d'aujourd'hui, le stockage est bon marché par rapport pour calculer les coûts. Dans le nuage, le prix de stockage continuent à baisser. En conséquence, sauvegarde et récupération de données au format relationnel sont cher comparativement à stocker dans le nuage. La demande de livraison de données continu est à la hausse, avec plus d'applications attend des données en temps réel de votre espace de stockage de données. MongoDB permet d'enregistrer des objets et des documents sans les briser en composantes relationnelles. Cela réduit la charge de traitement sur l'application, ainsi que la base de données.

MongoDB n'est pas recommandé pour les applications nécessitant des relations objet profond parce qu'il n'est pas conçu pour maintenir et récupérer l'objet et les données relation liant, comme les bases de données relationnelles sont. Si votre application nécessite des relations profondes et SQL pour la récupération, puis utilisez une base de données relationnelle. Si votre application requiert la récupération et le stockage d'objet rapide, utiliser MongoDB. Comme j'ai mentionné précédemment, utiliser le meilleur outil pour le travail.

Provisionnement MongoDB dans Azure

MongoDB est disponible comme un Add-on dans le magasin d'Azur et vous pouvez installer une version de bac à sable gratuitement. Connectez-vous à votre portail Azure et installer MongoDB (MongoLab) du nouveau | Magasin | Menu Add-on, comme le montre Figure 6.

MongoDB Add-on from MongoLab
Figure 6 MongoDB le module de MongoLab

Dans la page Personnaliser le module, sélectionnez la version de Sandbox et veillez à installer l'instance de MongoDB dans la même région que votre site Web, comme le montre Figure 7.

Configuring MongoDB
Figure 7 configuration MongoDB

Une fois l'installation terminée, accédez à la page Add-on et enregistrer la chaîne de connexion pour la base de données installé, comme indiqué dans Figure 8. Vous utiliserez la chaîne de connexion pour se connecter à partir de votre service Web de Node.js.

Connection String for the Installed Database
Figure 8 chaîne de connexion pour la base de données installée

MongoDB est maintenant en cours d'exécution dans Azure. MongoLab (par ObjectLabs Corp.) a son propre portail de gestion dédié, vous pouvez afficher en cliquant sur le lien gérer votre Add-on.

Vous avez maintenant une base de données MongoDB en cours d'exécution dans le nuage, et vous avez créé un modèle de Node.js vide. Pour compléter la demande, vous devez remplir la base de données MongoDB et créer des services Web qui extraient des données de cette base de données. Il s'agit de développement de logiciel standard dans le nuage.

Installer Node.js composants requis pour la connectivité de MongoDB

JSON est un citoyen de première classe en MongoDB et, par conséquent, complète Node.js. Parce que le service Web se connecte à MongoDB, j'ai besoin d'installer le dernier pilote de Node.js pour MongoDB de la Galerie du Musée (voir Figure 9).

Node.js Driver for MongoDB
Figure 9 Node.js pilote pour MongoDB

Les informations de connexion de MongoDB sont stockées dans un fichier de configuration. Le module de nconf permet de lire les informations de configuration de fichiers (voir Figure 10).

The nconf Module
Figure 10 le nconf Module

Une fois que les modules mongodb et nconf sont installés, vous avez terminé toutes les conditions préalables pour la mise en place d'un environnement de développement de Node.js et MongoDB.

Créer des Signatures de Service Web REST

Pour créer un service Web REST, vous définissez d'abord les dépendances et itinéraires dans server.js :

var express = require('express')
  , routes = require('./routes')
  , user = require('./routes/user')
  , http = require('http')
  , path = require('path'),
  pkgs=require('./routes/pkgs');

Ensuite, vous définissez les fonctions reste dans le fichier /routes/pkgs.js parce que, dans le code précédent, vous déléguez la fonction gestion du module de pkgs. Dans le dossier routes, créez un fichier nommé pkgs.js qui définit les opérations de service Web, comme le montre Figure 11.

Figure 11 Signatures d'opération reste

exports.findAll = function(req, res) {
  res.send([{name:'app1'}, {name:'app2'}, {name:'app3'}]);
};
exports.findById = function(req, res) {
  res.send({id:req.params.id, 
  name: "DisplayName", description: "description"});
};
exports.addPkg = function (req, res) {
  res.send("Success");
};
exports.updatePkg = function (req, res) {
  res.send("Success");
};

Pour tester le fonctionnement de base des opérations, il suffit de créer les squelettes fonction retournant des données statiques. Vous pouvez ajouter le code d'accès de base de données plus tard. Dans server.js, définir les méthodes de parcours qui correspondent aux méthodes module que vous venez de créer :

app.get('/pkgs', pkgs.findAll);
app.get('/pkgs/:id', pkgs.findById);
app.post('/pkgs', pkgs.addPkg);
app.put('/pkgs/:id', pkgs.updatePkg);

Si vous êtes familier avec l'API de Web ASP.NET , vous comprendrez rapidement ces itinéraires et leur cartographie à la classe d'implémentation appropriée. Avec la déclaration de l'itinéraire et de la cartographie, toute demande de /pkgs est acheminé vers une des fonctions dans pkgs.js. Avec les signatures d'opération de service Web et les définitions en place, vous pouvez tester si les routes sont fonctionne correctement en exécutant le site Web localement, ainsi que dans Azure. L'URL à tester sont : URL du site http://[Web] / pkgs, http://[Web site URL] Url de site/pkgs/distance et http://[Web] / pkgs/1. Si ces URLs renvoient les valeurs attendues, les routes sont fonctionne bien et vous pouvez procéder à l'intégration de MongoDB.

Mise en œuvre des opérations de Service Web REST

Maintenant vous devez implémenter les opérations de service Web pour vous connecter à MongoDB et récupérer les données. Quatre étapes permettra d'accomplir ceci :

  1. Création d'un fichier config.json et stocker la chaîne de connexion de MongoDB en elle.
  2. L'initialisation du client MongoDB.
  3. Remplissage de MongoDB avec les exemples de données. Dans cette étape, la fonction effectue un HTTP GET appel à http://storage.appsforazure.com/appsforazureobjectstest/servicepackages.json et stocke les données récupérées dans l'instance de MongoDB.
  4. Mettre en œuvre les fonctions d'accès de données pour la récupération et le stockage des données dans MongoDB.

Créer le fichier de config.json le fichier config.json, qui est semblable à un app.config .NET mais au format JSON, stocke les informations de configuration. Ajouter la paire nom / valeur suivante dans le nouveau fichier :

{
  "MONGOLAB_URI" :
    "mongodb://nodeapps:xxxxxxxx.f.migd9GGB9Ck3M17jlkVCUVI-@ds027758.
mongolab.com:27758/nodeapps"
}

La valeur est la chaîne de connexion de MongoDB que vous avez enregistré précédemment à partir du portail Azure.

Dans pkgs.js, vous devez importer le module nconf pour lire les valeurs de configuration :

var nconf = require('nconf');
nconf.env().file({ file: 'config.json' });
var connectionString = nconf.get("MONGOLAB_URI");

La variable connectionString peut ensuite être utilisée par les fonctions pour se connecter à la base de données MongoDB. Notez que connectionString est déclarée comme une variable globale en pkgs.js afin que toutes les fonctions peuvent y accéder.

L'initialisation du client MongoDB : Pour initialiser une connexion à la base de données MongoDB, vous devez importer le module mongodb et appelez la méthode connect, comme le montre Figure 12.

Figure 12 se connecter à la base de données MongoDB

var mongo = require('mongodb');
var MongoClient = mongo.MongoClient
MongoClient.connect(connectionString, function (err, db) {
  if (err) throw err;
  if (!err) {
    console.log("Connected to 'pkgsdb' database");
    db.collection('pkgs', { strict: true }, 
      function (err, collection) {
      if (err) {
        console.log(
          "The 'pkgsdb' collection doesn't exist.
Creating it with sample data...");
        populateDB(db);
      }
    });
  }
})

Lorsque la connexion est réussie, la variable db Figure 12 contient l'objet de connexion de base de données. La fonction db.collection essaie de se connecter à une collection nommée de paquets Si pkgs n'existe pas, un nouveau est créé en appelant la fonction populateDB. Dans une application réelle, vous n'aurais pas besoin de faire cela parce que la collection serait effectivement créée avant d'exécuter l'application. (Une collection MongoDB est un regroupement de documents connexes, analogues à une table de base de données dans un système de bases de données relationnelles.)

Remplissage MongoDB avec Sample Data pour cet article, j'ai utilisé des exemples de données disponibles comme une collection de paquets de logiciels de dynamicdeploy.com. Dans la fonction populateDB, j'ai charger cette collection au format JSON de http://storage.appsforazure.com/appsforazureobjectstest/servicepackages.json, comme le montre Figure 13.

La figure 13, remplir la base de données

var populateDB = function (db) {
  var body = "";
  var url =
    "http://storage.appsforazure.com/appsforazureobjectstest/servicepackages.json";
  http.get(url, function (res2) {
    res2.on('data', function (chunk) {
      body += chunk;
    });
    res2.on("end", function () {
    var pkgs = JSON.parse(body)
    db.collection('pkgs', function (err, collection) {
      collection.insert(pkgs, { safe: true }, 
      function (err, result) { });
    });
    });
      res2.on("error", function (error) {
        // You can log here further
    })
  });

Notez que JSON est un citoyen de première classe en Node.js, ainsi vous ne devez pas importer n'importe quel module pour analyser les objets JSON. La fonction collection.insert insère l'ensemble du document JSON (var pkgs) dans la collection MongoDB. MongoDB détermine le schéma des objets en cours d'exécution et prend des décisions intelligentes leur stockage. Dans une base de données relationnelle, vous devrez définir le schéma de la table avant le stockage des données dedans. Une collection vous donne la souplesse nécessaire pour modifier le schéma en cours d'exécution, simplement en modifiant les propriétés des objets JSON. Si les propriétés de l'objet changent, MongoDB applique automatiquement ces modifications au schéma avant de ranger l'objet. Ceci est utile pour la création d'applications, comme le social et l'Internet des objets se nourrit, qui changent dynamiquement aux changements dans les types de données.

Mettre en œuvre les fonctions d'accès de données Enfin, vous devez implémenter les fonctions d'accès de données pour HTTP GET, POST et PUT fonctions déclarées précédemment. La fonction HTTP GET est mappée aux fonctions findById et findAll dans le service Web, comme le montre Figure 14.

Figure 14 les fonctions Find

exports.findById = function (req, res) {
  var id = req.params.id;
  console.log('Retrieving pkg: ' + id);
  MongoClient.connect(connectionString, function (err, db) {
    if (err) throw err;
    if (!err) {
        db.collection('pkgs', function (err, collection) {
          collection.findOne({ '_id': new BSON.ObjectID(id) },
            function (err, item) {
            res.send(item);
            });
        });
      }
    })
  };
exports.findAll = function(req, res) {
  MongoClient.connect(connectionString, function(err, db) {
  if(err) throw err;
  if(!err) {
    db.collection('pkgs', function(err, collection) {
      collection.find().toArray(function(err, items) {
        res.send(items);
      });
    });
    }
  })
};

La fonction findById récupère un objet par son Id, alors que la fonction findAll récupère tous les objets. Fonctions collection.find­One et collection.find d'extraire les résultats de ces opérations de MongoDB, respectivement. De même, Figure 15 montre la méthode addPkg, qui est mappée à un HTTP POST et la méthode updatePkg, qui est mappée à un HTTP PUT.

Figure 15 Ajouter et mettre à jour les fonctions

exports.addPkg = function (req, res) {
  var pkg = req.body;
  console.log('Adding pkgs: ' + JSON.stringify(pkg));
  MongoClient.connect(connectionString, function (err, db) {
    if (err) throw err;
    if (!err) {
      db.collection('pkgs', function (err, collection) {
        collection.insert(pkg, { safe: true }, function (err, result) {
          if (err) {
            res.send({ 'error': 'An error has occurred' });
          } else {
            console.log('Success: ' + JSON.stringify(result[0]));
            res.send(result[0]);
          }
        });
      });
    }
  })
};
exports.updatePkg = function (req, res) {
  var id = req.params.id;
  var pkg = req.body;
  console.log('Updating pkgs: ' + id);
  console.log(JSON.stringify(pkg));
  MongoClient.connect(connectionString, function (err, db) {
    if (err) throw err;
    if (!err) {
      db.collection('pkgs', function (err, collection) {
        collection.update({ '_id': new BSON.ObjectID(id) },
          pkg, { safe: true }, function (err, result) {
          if (err) {
            console.log('Error updating pkg: ' + err);
            res.send({ 'error': 'An error has occurred' });
          } else {
            console.log('' + result + ' document(s) updated');
            res.send(pkg);
          }
        });
      });
    }
  })
};

Si vous avez suivi l'article jusqu'à présent, vous devriez être capable de mettre en œuvre une fonction de suppression sur votre propre. Je laisse ça comme un exercice pour vous. Enregistrer et exécuter le site Web localement tout d'abord et puis la publier sur les Sites Web d'Azur pour tester chaque fonction reste. Le code source complet pour le service Web REST et le site Web est disponible à github.com/dynamicdeploy/appsforazure.

Une fois que vous avez l'application to-end en cours d'exécution, vous pouvez faire évoluer votre infrastructure MongoDB (ou service) en fonction de la charge utilisateur. Comme le montre cet article, vous n'avez aucune infrastructure à déployer à grande échelle Node.js et MongoDB Web sites sur Azure. Le squelette, j'ai fourni dans le code source d'accompagnement vous aidera à commencer la création de services Web et sites Web en Node.js sur les Sites Web d'Azur.

Synthèse

Cet article visait à vous l'aise développement de Web services dans Node.js sur les Sites Web d'Azur. Node.js et MongoDB complètent mutuellement et parce que les deux sont disponibles comme Platform as a Service (PaaS), il n'y a aucune infrastructure initial des coûts pour la construction d'un site Web complet et mise à l'échelle dehors dynamiquement. En tant que développeur, vous pouvez vous concentrer sur la construction et de consommer les services Web directement depuis le nuage dans vos applications mobiles. Je pense donc, Qu'azure Web Sites est PaaS bien fait.

Tejaswi Redkar est un auteur et un développeur de logiciels. Actuellement, il travaille pour Microsoft comme directeur de la stratégie de plate-forme d'application et des collectivités. Son livre, « Windows Azure Web Sites : Création d'applications Web à un rythme rapide"(Dynamic déployer LLC, 2013), est la plus exhaustive et la plus vendue sur le sujet. Redkar est également le créateur d'appsforazure App Store Windows et dynamicdeploy.com, où il fait l'expérience moi-même apps de production en cours d'exécution dans le nuage. Vous pouvez rejoindre lui à tejaswi_redkar@hotmail.com et suivez-le sur Twitter à twitter.com/tejaswiredkar.

Je remercie les experts techniques suivants d'avoir relu cet article : Équipe de direction pour le produit Microsoft Azure