SlideShare une entreprise Scribd logo
palais des
congrès
Paris




7, 8 et 9
février 2012
JavaScript aussi sur le
  serveur et jusque dans le
  cloud ?
    7 février 2012
Benjamin Guinebertière   Stéphane Rios
www.benjguin.com         @stefounet
relation technique       CEO / CTO Founder
architectes              Fasterize (fasterize.com)
Microsoft France
Fasterize

  Startup créée mi-2011, en phase de beta privée
  Accélérateur de site Web en mode SaaS
    Optimise les pages HTML à la volée

    Réduit le temps de chargement des pages HTML

    Améliore le trafic, taux de transfo, SEO, etc …

    Ultra-simple à intégrer

  Node.js
    Utilisateurs depuis mi-2010

    Au cœur de notre architecture

  Cloud
    Rackspace / Openstack

    DevOps / Chef
Plan

  Contexte
  JavaScript côté serveur
  Comment Microsoft met cela en œuvre
   Node.JS sur Windows Azure
   Installation de serveurs open source sur Windows
     Azure
    Hadoop On Azure et Hadoop sur Windows Server
  Conclusion
15 ans de JavaScript
  Historique rapide JavaScript
    Création en 1995 par Brendan Eich

    Standardisé ensuite via ECMAScript

    Rien à voir avec Java
  JavaScript s’impose partout
    De plus en plus de code client

        HTML statique
        HTML généré côté serveur

        HTML généré côté serveur et côté client (Ajax)

        HTML généré uniquement côté client (SPA)
            HTML5 / Web Services REST

    Browser, RIA, Database, Application Server
  JSON gagne du terrain sur XML
    Stockage côté serveur (ex: bases NoSQL orientées
      documents)
    Exécuter du JavaScript côté serveur
Les moteurs JS

  Différents moteurs
    Chakra (IE)

    {Spider|Jaeger|Trace}.Monkey (Mozilla)

    V8 (Chrome)

    Rhino (JVM)

    Nitro (Apple)

    Carakan (Opera)

  Evolution des moteurs
    Course à la performance lancée par Chrome

    JIT, dernières versions de JS (1.8.5)
Le langage JavaScript
  Quelques spécificités de ce langage orienté objets
    Dynamique (runtime vs compilation)

    Pas de typage fort

       Quelques pièges dûs aux transtypage automatique

       Types primitifs restreints : Number, String, Boolean,
        undefined, null
       Types natifs : Array, Date, Objects, Regexp

    Prototypes

       Pas de classes mais possibilité d’avoir des constructeurs

    Fonctions

       Objets comme les autres

       Peuvent être passées en paramètre, assignées à des
        variables, des propriétés d’objet, modifiées, etc …
       Callback !

    Scope, this & closures
Un même langage côté client et
serveur?
  Fondamentaux du langage sont les mêmes …
    Syntaxe, portée des variables, opérateurs, non typé

    …

  … Mais
    Côté client on manipule principalement le DOM

    Côté serveur, plutôt pas (fs, net)

    D’où des frameworks différents (ou pas de framework)

  Début de réutilisation de code (socket.io, commonJS,
  underscoreJS)
  Réutilisation des compétences
JavaScript côté serveur

  Premier essai en 1996 avec Netscape (Livewire)
  De nombreuses plateformes
    Node.js, Rhino, CouchDB, Jaxer, APE

  Les moteurs JS côté serveur sont-ils adaptés ?
    V8

       roadmaps Node.JS vs Google

       Limite mémoire V8 à 1,5 Go

          Mais peu besoin de mémoire

    Rhino tourne dans la JVM => adapté

    Chakra est orienté client uniquement
Et Microsoft ?

  Microsoft accompagne ce mouvement important
    Sur Windows Azure

    Egalement sur Windows Server

  Exemples dont nous allons parler:
    Node.JS

    MongoDB

    Hadoop
Windows Azure résolument
ouvert
Node.JS

  Node.JS a été créé par Ryan Dahl chez Joyent en 2009
  C’est un « framework » permettant de développer des
  services haute performances sur un modèle asynchrone
  Modèle asynchrone plus performant et plus efficace que le
  classique modèle multithread quand on a beaucoup I/O
    Pas nouveau !

  JavaScript choisi car adapté au développement
  asynchrone grâce à ses forts aspects fonctionnels
  Intègre les protocoles réseaux en standard (ex: HTTP)
  Librairie système entièrement asynchrone
  Version 0.6.9 stable / 0.7.2 unstable
Hello Node
 var http = require('http');

 http.createServer(function (req, res) {
   res.writeHead(200, {'Content-Type': 'text/html'});
   res.end('Hello Node !');
 }).listen(8124, '127.0.0.1');
 console.log('Server running at http://127.0.0.1:8124/');
Hello Node++
 var http = require('http'),mysql = require('mysql'),
  client = mysql.createClient({user: 'root'}));

 client.query('use castle;');

 http.createServer(function (req, res) {
   res.writeHead(200, {'Content-Type': 'text/json'});
   client.query('select * from dragons',function (err,data){
       if (err) {
           res.end('ERROR');
       } else {
           res.end(JSON.stringify(data));
       }
   });
 }).listen(8124, '127.0.0.1');
 console.log('Server running at http://127.0.0.1:8124/');
Windows Azure Training Kit

  Plusieurs tutoriaux existent et décrivent comment écrire sa
  première application avec Node.JS et Windows Azure
    Windows Azure Training Kit (PowerShell,
     documentation)
    Cloud9

       IDE en ligne

       Suppport de Node.JS

       Support de Windows Azure

       Fonctionnalités intégrées : édition, versionning,

         debug, deploy
Node.JS dans Windows Azure

  Microsoft aide officiellement Ryan Dahl à porter Node.JS
  sur Windows depuis juin 2011
  Utilise IOCP
  Node est constitué d’un seul exécutable, node.exe, donc
  très simple à inclure dans un Worker Role
  Supporte Windows Azure et Windows Server 2003+
Node.JS sur Windows Azure
   proxy avec modifications de données
Modèle monothreadé !
  Ne jamais bloquer !!!
  Créer plusieurs process pour monter en charge
    Donc clusteriser pour avoir plusieurs instances

       Avec des proxys

           Entre Internet et Node.JS

               IIS (avec module HTTP iisnode)

           Entre Node.JS et les données (par exemple)

               connection pooling

  Complémentarité Node.JS et son frontal
    Nginx classiquement

    IIS dans le cas d’Azure

    Certains cas d’utilisation à déléguer au frontal:

       Ressources statiques

       Authentification
Ecosystème

  Communauté très active
    IRC, mailing list, wiki, github

  Npm : Node Package Manager (inclus en v0.6)
  Beaucoup de modules (~6800 sur npm)
    Express (Sinatra-like)

    Request

    Socket.io

    Dnode

    Optimist

  Version 0.8 se focalise sur cet écosystème
Les pièges à éviter

  Asynchrone
    Race conditions

    Soupe de callbacks, lisibilité du code

    Librairies « flow control » : async.js, step.js, flow.js, …

  Monothreadé => plusieurs process
    Clustering natif en 0.6

  Encodage
    ASCII/UTF-8 only

  Les API changent TRÈS vite
    Les modules aussi

    Culture Devops : déployer souvent
Node.JS sur Windows Azure
   serveur de chat
Mongo DB

  Une des bases noSql importantes du moment
  Base orientée documents
    Stocke du JSON

    Procédures stockées en JavaScript
MongoDB et Windows Azure

  http://www.mongodb.org/display/DOCS/MongoDB+on+Azur
  e
  https://github.com/mongodb/mongo-azure
  http://www.interoperabilitybridges.com/Azure/Getting_Starte
  d_Guide_Node_with_MongoDB.asp

  Comparaison avec les services fournis par Windows Azure
    Tables et Blobs Windows Azure

    SQL Azure Federations
Node.JS accédant à des tables MongoDB
sur Windows Azure
Hadoop:
implémentation de Map/Reduce




     Extrait de « Hadoop Tutorial from Yahoo!" (Yahoo! Inc.) / CC BY 3.0 »
Exemple: comptage de mots

  Map:
    Pour chaque mot trouvé

       Émettre <<le mot>>, 1

  Shuffle (magiquement géré par le Framework)
  Reduce
    Pour toutes les occurrences reçues clef, valeur (même

     clef)
       Comptage += valeur

       Émettre clef, comptage
Map/Reduce - Java
Map/Reduce – C#
Map/Reduce - JavaScript
Hadoop – vue d’ensemble
En JavaScript, c’est plus lent ?

  En l’occurrence non, car
    Le moteur Hadoop est écrit en Java

    Le JavaScript tourne dans Rhino (JVM)

    Pas de « streaming »

  Sur un jeu de test de 50 Go de texte
    En streaming (communication via stdin / stdout) :

     130% de plus que Java
    JavaScript :

     15% de plus que Java
Maintenant, analysons des logs
IIS
   Scénario

         Web Role Azure
       (grosse ferme Web)




     Accumulation de logs IIS
     (Windows Azure Blobs)




     Sélection, formattage, tri,
 aggrégats dans un cluster Hadoop
Création d’un cluster à la demande
Création d’un cluster à la demande
Connexion aux Blobs Windows
Azure
Analyse de logs IIS



HD




H




D
Hadoop On Azure en JavaScript
Conclusion

  JavaScript prend de plus en plus d’importance
    Y compris sur le serveur

  Adoption forte par Microsoft
    Node.JS sur Windows Azure

    Autres moteurs tels que MongoDB

    Hadoop sur Windows Azure et Windows
Des ressources Windows Azure
gratuites

  Testez Windows Azure   Abonnés MSDN, vous
  gratuitement pendant   bénéficiez de
  90 jours               Windows Azure
     http://aka.ms/        http://aka.ms/
      tester-azure-90j       activer-azure-msdn
Pour aller plus loin

                                               Prochaines sessions des Dev Camps
  Chaque semaine, les                            10
                                                          Live     Open Data - Développer des applications riches avec le
  DevCamps                                     février
                                                2012
                                                         Meeting   protocole Open Data

  ALM, Azure, Windows Phone, HTML5, OpenData     16
                                                          Live     Azure series - Développer des applications sociales sur
                                               février
  http://msdn.microsoft.com/fr-fr/devcamp       2012
                                                         Meeting   la plateforme Windows Azure

                                                 17
                                                          Live     Comprendre le canvas avec Galactic et la librairie
                                               février
  Téléchargement, ressources                    2012
                                                         Meeting   three.js

                                                 21
  et toolkits : RdV sur MSDN                   février
                                                2012
                                                          Live
                                                         Meeting
                                                                   La production automatisée de code avec CodeFluent
                                                                   Entities
  http://msdn.microsoft.com/fr-fr/
                                               2 mars     Live     Comprendre et mettre en oeuvre le toolkit Azure pour
                                                2012     Meeting   Windows Phone 7, iOS et Android


  Les offres à connaître                       6 mars
                                                2012
                                                          Live
                                                         Meeting
                                                                   Nuget et ALM


         90 jours d’essai gratuit de Windows   9 mars
                                                2012
                                                          Live
                                                         Meeting
                                                                   Kinect - Bien gérer la vie de son capteur

         Azure                                 13 mars    Live
                                                                   Sharepoint series - Automatisation des tests
          www.windowsazure.fr                   2012     Meeting

                                               14 mars    Live     TFS Health Check - vérifier la bonne santé de votre
                                                2012     Meeting   plateforme de développement
         Jusqu’à 35% de réduction sur Visual
         Studio Pro, avec l’abonnement MSDN
                                               15 mars    Live     Azure series - Développer pour les téléphones, les
                                                2012     Meeting   tablettes et le cloud avec Visual Studio 2010
          www.visualstudio.fr                  16 mars    Live     Applications METRO design - Désossage en règle d'un
                                                2012     Meeting   template METRO javascript

                                               20 mars    Live     Retour d'expérience LightSwitch, Optimisation de
                                                2012     Meeting   l'accès aux données, Intégration Silverlight

                                               23 mars    Live     OAuth - la clé de l'utilisation des réseaux sociaux dans
                                                2012     Meeting   votre application

Contenu connexe

Tendances

Support formation vidéo : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec DockerSupport formation vidéo : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec Docker
SmartnSkilled
 
GWT : under the hood
GWT : under the hoodGWT : under the hood
GWT : under the hoodsvuillet
 
REX Devops Docker
REX Devops DockerREX Devops Docker
REX Devops Docker
Romain Chalumeau
 
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et MobileNouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Ippon
 
Tadx - Présentation Conteneurisation
Tadx -  Présentation ConteneurisationTadx -  Présentation Conteneurisation
Tadx - Présentation Conteneurisation
TADx
 
Conférence AFUP 20minutes.Fr
Conférence AFUP 20minutes.FrConférence AFUP 20minutes.Fr
Conférence AFUP 20minutes.Fr
Oxalide
 
Introduction to Rust in Production - Servo Mozilla project (Slides)
Introduction to Rust in Production - Servo Mozilla project (Slides)Introduction to Rust in Production - Servo Mozilla project (Slides)
Introduction to Rust in Production - Servo Mozilla project (Slides)
Quentin Frémeaux
 
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
Docker nice meetup #1   construire, déployer et exécuter vos applications, ...Docker nice meetup #1   construire, déployer et exécuter vos applications, ...
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
adri1s
 
[Tuto] Web burst : Débordement Web vers Windows Azure
[Tuto] Web burst : Débordement Web vers Windows Azure[Tuto] Web burst : Débordement Web vers Windows Azure
[Tuto] Web burst : Débordement Web vers Windows Azure
Microsoft Technet France
 
Spring 3 en production
Spring 3 en productionSpring 3 en production
Spring 3 en production
Julien Dubois
 
Présentation Docker
Présentation DockerPrésentation Docker
Présentation Docker
Colin LEVERGER
 
Introduction to Rust in Production - Servo Mozilla project (Talk)
Introduction to Rust in Production - Servo Mozilla project (Talk)Introduction to Rust in Production - Servo Mozilla project (Talk)
Introduction to Rust in Production - Servo Mozilla project (Talk)
Quentin Frémeaux
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Microsoft
 
Livre blanc a la decouverte de windows azure
Livre blanc a la decouverte de windows azureLivre blanc a la decouverte de windows azure
Livre blanc a la decouverte de windows azureMicrosoft Technet France
 
DrupalCamp Lyon 2012 - Optimiser les performances Drupal depuis les tranchées
DrupalCamp Lyon 2012 -  Optimiser les performances Drupal depuis les tranchéesDrupalCamp Lyon 2012 -  Optimiser les performances Drupal depuis les tranchées
DrupalCamp Lyon 2012 - Optimiser les performances Drupal depuis les tranchées
Aurelien Navarre
 
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et DerueGab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
AZUG FR
 
Support Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutantSupport Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutant
SmartnSkilled
 
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...
Aurelien Navarre
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.io
Nicolas Hennion
 

Tendances (19)

Support formation vidéo : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec DockerSupport formation vidéo : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec Docker
 
GWT : under the hood
GWT : under the hoodGWT : under the hood
GWT : under the hood
 
REX Devops Docker
REX Devops DockerREX Devops Docker
REX Devops Docker
 
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et MobileNouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
 
Tadx - Présentation Conteneurisation
Tadx -  Présentation ConteneurisationTadx -  Présentation Conteneurisation
Tadx - Présentation Conteneurisation
 
Conférence AFUP 20minutes.Fr
Conférence AFUP 20minutes.FrConférence AFUP 20minutes.Fr
Conférence AFUP 20minutes.Fr
 
Introduction to Rust in Production - Servo Mozilla project (Slides)
Introduction to Rust in Production - Servo Mozilla project (Slides)Introduction to Rust in Production - Servo Mozilla project (Slides)
Introduction to Rust in Production - Servo Mozilla project (Slides)
 
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
Docker nice meetup #1   construire, déployer et exécuter vos applications, ...Docker nice meetup #1   construire, déployer et exécuter vos applications, ...
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
 
[Tuto] Web burst : Débordement Web vers Windows Azure
[Tuto] Web burst : Débordement Web vers Windows Azure[Tuto] Web burst : Débordement Web vers Windows Azure
[Tuto] Web burst : Débordement Web vers Windows Azure
 
Spring 3 en production
Spring 3 en productionSpring 3 en production
Spring 3 en production
 
Présentation Docker
Présentation DockerPrésentation Docker
Présentation Docker
 
Introduction to Rust in Production - Servo Mozilla project (Talk)
Introduction to Rust in Production - Servo Mozilla project (Talk)Introduction to Rust in Production - Servo Mozilla project (Talk)
Introduction to Rust in Production - Servo Mozilla project (Talk)
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
 
Livre blanc a la decouverte de windows azure
Livre blanc a la decouverte de windows azureLivre blanc a la decouverte de windows azure
Livre blanc a la decouverte de windows azure
 
DrupalCamp Lyon 2012 - Optimiser les performances Drupal depuis les tranchées
DrupalCamp Lyon 2012 -  Optimiser les performances Drupal depuis les tranchéesDrupalCamp Lyon 2012 -  Optimiser les performances Drupal depuis les tranchées
DrupalCamp Lyon 2012 - Optimiser les performances Drupal depuis les tranchées
 
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et DerueGab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
 
Support Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutantSupport Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutant
 
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.io
 

En vedette

Sister City Program
Sister City ProgramSister City Program
Sister City Program
Honolulu Civil Beat
 
020711 wgsl daily progress report aoc
020711 wgsl daily progress report aoc020711 wgsl daily progress report aoc
020711 wgsl daily progress report aoc
Honolulu Civil Beat
 
2010 12-11 thru2011-01-11
2010 12-11 thru2011-01-112010 12-11 thru2011-01-11
2010 12-11 thru2011-01-11
Honolulu Civil Beat
 
Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieu
Microsoft
 
Comment Microsoft gère la sécurité de ses offres de Cloud public
Comment Microsoft gère la sécurité de ses offres de Cloud publicComment Microsoft gère la sécurité de ses offres de Cloud public
Comment Microsoft gère la sécurité de ses offres de Cloud public
Microsoft
 
Techniques d&rsquo;accélération des pages Web
Techniques d&rsquo;accélération des pages WebTechniques d&rsquo;accélération des pages Web
Techniques d&rsquo;accélération des pages Web
Microsoft
 

En vedette (9)

Sister City Program
Sister City ProgramSister City Program
Sister City Program
 
Matayoshi contract 062111
Matayoshi contract 062111Matayoshi contract 062111
Matayoshi contract 062111
 
020711 wgsl daily progress report aoc
020711 wgsl daily progress report aoc020711 wgsl daily progress report aoc
020711 wgsl daily progress report aoc
 
2010 12-11 thru2011-01-11
2010 12-11 thru2011-01-112010 12-11 thru2011-01-11
2010 12-11 thru2011-01-11
 
2011 01-28
2011 01-282011 01-28
2011 01-28
 
Hsta complaint
Hsta complaintHsta complaint
Hsta complaint
 
Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieu
 
Comment Microsoft gère la sécurité de ses offres de Cloud public
Comment Microsoft gère la sécurité de ses offres de Cloud publicComment Microsoft gère la sécurité de ses offres de Cloud public
Comment Microsoft gère la sécurité de ses offres de Cloud public
 
Techniques d&rsquo;accélération des pages Web
Techniques d&rsquo;accélération des pages WebTechniques d&rsquo;accélération des pages Web
Techniques d&rsquo;accélération des pages Web
 

Similaire à JavaScript aussi sur le serveur et jusque dans le cloud?

Comparaison des solutions Paas
Comparaison des solutions PaasComparaison des solutions Paas
Comparaison des solutions Paas
yacine sebihi
 
Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?
Quentin Adam
 
.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous
Microsoft
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascript
Khalid Jebbari
 
Azure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteAzure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides Keynote
Microsoft
 
Joomla Days 2011 Lyon
Joomla Days 2011 LyonJoomla Days 2011 Lyon
Joomla Days 2011 LyonLeTesteur
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8
davrous
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et Xamarin
Thierry Buisson
 
Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017
Julien Dubois
 
Eclipse day paris
Eclipse day parisEclipse day paris
Eclipse day paris
LeTesteur
 
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatialesLes apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
Gaëtan LAVENU
 
Techdays azure pour les développeurs
Techdays azure pour les développeursTechdays azure pour les développeurs
Techdays azure pour les développeurs
Aymeric Weinbach
 
Windows Azure: le cloud pour les développeurs
Windows Azure: le cloud pour les développeursWindows Azure: le cloud pour les développeurs
Windows Azure: le cloud pour les développeurs
Microsoft
 
01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière 01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière
Cellenza
 
Bbl microservices avec vert.x cdi elastic search
Bbl microservices avec vert.x cdi elastic searchBbl microservices avec vert.x cdi elastic search
Bbl microservices avec vert.x cdi elastic search
Idriss Neumann
 
Comparatif des frameworks js mv
Comparatif des frameworks js mvComparatif des frameworks js mv
Comparatif des frameworks js mv
Mael Monnier
 
Google Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative CommonGoogle Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative Common
Stéphane Liétard
 
Présentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'OfflinePrésentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'Offline
DNG Consulting
 
Native script
Native scriptNative script
Native script
Neticoa Sénégal
 

Similaire à JavaScript aussi sur le serveur et jusque dans le cloud? (20)

Livre Blanc Web temps réel - Node JS
Livre Blanc Web temps réel - Node JSLivre Blanc Web temps réel - Node JS
Livre Blanc Web temps réel - Node JS
 
Comparaison des solutions Paas
Comparaison des solutions PaasComparaison des solutions Paas
Comparaison des solutions Paas
 
Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?
 
.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascript
 
Azure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteAzure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides Keynote
 
Joomla Days 2011 Lyon
Joomla Days 2011 LyonJoomla Days 2011 Lyon
Joomla Days 2011 Lyon
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et Xamarin
 
Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017
 
Eclipse day paris
Eclipse day parisEclipse day paris
Eclipse day paris
 
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatialesLes apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
 
Techdays azure pour les développeurs
Techdays azure pour les développeursTechdays azure pour les développeurs
Techdays azure pour les développeurs
 
Windows Azure: le cloud pour les développeurs
Windows Azure: le cloud pour les développeursWindows Azure: le cloud pour les développeurs
Windows Azure: le cloud pour les développeurs
 
01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière 01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière
 
Bbl microservices avec vert.x cdi elastic search
Bbl microservices avec vert.x cdi elastic searchBbl microservices avec vert.x cdi elastic search
Bbl microservices avec vert.x cdi elastic search
 
Comparatif des frameworks js mv
Comparatif des frameworks js mvComparatif des frameworks js mv
Comparatif des frameworks js mv
 
Google Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative CommonGoogle Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative Common
 
Présentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'OfflinePrésentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'Offline
 
Native script
Native scriptNative script
Native script
 

Plus de Microsoft

La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaS
Microsoft
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobile
Microsoft
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo
Microsoft
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.
Microsoft
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Microsoft
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à Z
Microsoft
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016
Microsoft
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Microsoft
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Microsoft
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site Recovery
Microsoft
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Microsoft
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.
Microsoft
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Microsoft
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET Core
Microsoft
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?
Microsoft
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...
Microsoft
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeurs
Microsoft
 
Les nouveautés de C# 7
Les nouveautés de C# 7Les nouveautés de C# 7
Les nouveautés de C# 7
Microsoft
 
La 3D sur le web avec Babylon.js pas à pas
La 3D sur le web avec Babylon.js pas à pasLa 3D sur le web avec Babylon.js pas à pas
La 3D sur le web avec Babylon.js pas à pas
Microsoft
 

Plus de Microsoft (20)

La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaS
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobile
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à Z
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs Analytics
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site Recovery
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET Core
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeurs
 
Les nouveautés de C# 7
Les nouveautés de C# 7Les nouveautés de C# 7
Les nouveautés de C# 7
 
La 3D sur le web avec Babylon.js pas à pas
La 3D sur le web avec Babylon.js pas à pasLa 3D sur le web avec Babylon.js pas à pas
La 3D sur le web avec Babylon.js pas à pas
 

JavaScript aussi sur le serveur et jusque dans le cloud?

  • 1. palais des congrès Paris 7, 8 et 9 février 2012
  • 2. JavaScript aussi sur le serveur et jusque dans le cloud ? 7 février 2012 Benjamin Guinebertière Stéphane Rios www.benjguin.com @stefounet relation technique CEO / CTO Founder architectes Fasterize (fasterize.com) Microsoft France
  • 3. Fasterize Startup créée mi-2011, en phase de beta privée Accélérateur de site Web en mode SaaS  Optimise les pages HTML à la volée  Réduit le temps de chargement des pages HTML  Améliore le trafic, taux de transfo, SEO, etc …  Ultra-simple à intégrer Node.js  Utilisateurs depuis mi-2010  Au cœur de notre architecture Cloud  Rackspace / Openstack  DevOps / Chef
  • 4. Plan Contexte JavaScript côté serveur Comment Microsoft met cela en œuvre  Node.JS sur Windows Azure  Installation de serveurs open source sur Windows Azure  Hadoop On Azure et Hadoop sur Windows Server Conclusion
  • 5. 15 ans de JavaScript Historique rapide JavaScript  Création en 1995 par Brendan Eich  Standardisé ensuite via ECMAScript  Rien à voir avec Java JavaScript s’impose partout  De plus en plus de code client  HTML statique  HTML généré côté serveur  HTML généré côté serveur et côté client (Ajax)  HTML généré uniquement côté client (SPA)  HTML5 / Web Services REST  Browser, RIA, Database, Application Server JSON gagne du terrain sur XML  Stockage côté serveur (ex: bases NoSQL orientées documents)  Exécuter du JavaScript côté serveur
  • 6. Les moteurs JS Différents moteurs  Chakra (IE)  {Spider|Jaeger|Trace}.Monkey (Mozilla)  V8 (Chrome)  Rhino (JVM)  Nitro (Apple)  Carakan (Opera) Evolution des moteurs  Course à la performance lancée par Chrome  JIT, dernières versions de JS (1.8.5)
  • 7. Le langage JavaScript Quelques spécificités de ce langage orienté objets  Dynamique (runtime vs compilation)  Pas de typage fort  Quelques pièges dûs aux transtypage automatique  Types primitifs restreints : Number, String, Boolean, undefined, null  Types natifs : Array, Date, Objects, Regexp  Prototypes  Pas de classes mais possibilité d’avoir des constructeurs  Fonctions  Objets comme les autres  Peuvent être passées en paramètre, assignées à des variables, des propriétés d’objet, modifiées, etc …  Callback !  Scope, this & closures
  • 8. Un même langage côté client et serveur? Fondamentaux du langage sont les mêmes …  Syntaxe, portée des variables, opérateurs, non typé  … … Mais  Côté client on manipule principalement le DOM  Côté serveur, plutôt pas (fs, net)  D’où des frameworks différents (ou pas de framework) Début de réutilisation de code (socket.io, commonJS, underscoreJS) Réutilisation des compétences
  • 9. JavaScript côté serveur Premier essai en 1996 avec Netscape (Livewire) De nombreuses plateformes  Node.js, Rhino, CouchDB, Jaxer, APE Les moteurs JS côté serveur sont-ils adaptés ?  V8  roadmaps Node.JS vs Google  Limite mémoire V8 à 1,5 Go  Mais peu besoin de mémoire  Rhino tourne dans la JVM => adapté  Chakra est orienté client uniquement
  • 10. Et Microsoft ? Microsoft accompagne ce mouvement important  Sur Windows Azure  Egalement sur Windows Server Exemples dont nous allons parler:  Node.JS  MongoDB  Hadoop
  • 12. Node.JS Node.JS a été créé par Ryan Dahl chez Joyent en 2009 C’est un « framework » permettant de développer des services haute performances sur un modèle asynchrone Modèle asynchrone plus performant et plus efficace que le classique modèle multithread quand on a beaucoup I/O  Pas nouveau ! JavaScript choisi car adapté au développement asynchrone grâce à ses forts aspects fonctionnels Intègre les protocoles réseaux en standard (ex: HTTP) Librairie système entièrement asynchrone Version 0.6.9 stable / 0.7.2 unstable
  • 13. Hello Node var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/html'}); res.end('Hello Node !'); }).listen(8124, '127.0.0.1'); console.log('Server running at http://127.0.0.1:8124/');
  • 14. Hello Node++ var http = require('http'),mysql = require('mysql'), client = mysql.createClient({user: 'root'})); client.query('use castle;'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/json'}); client.query('select * from dragons',function (err,data){ if (err) { res.end('ERROR'); } else { res.end(JSON.stringify(data)); } }); }).listen(8124, '127.0.0.1'); console.log('Server running at http://127.0.0.1:8124/');
  • 15. Windows Azure Training Kit Plusieurs tutoriaux existent et décrivent comment écrire sa première application avec Node.JS et Windows Azure  Windows Azure Training Kit (PowerShell, documentation)  Cloud9  IDE en ligne  Suppport de Node.JS  Support de Windows Azure  Fonctionnalités intégrées : édition, versionning, debug, deploy
  • 16. Node.JS dans Windows Azure Microsoft aide officiellement Ryan Dahl à porter Node.JS sur Windows depuis juin 2011 Utilise IOCP Node est constitué d’un seul exécutable, node.exe, donc très simple à inclure dans un Worker Role Supporte Windows Azure et Windows Server 2003+
  • 17. Node.JS sur Windows Azure proxy avec modifications de données
  • 18. Modèle monothreadé ! Ne jamais bloquer !!! Créer plusieurs process pour monter en charge  Donc clusteriser pour avoir plusieurs instances  Avec des proxys  Entre Internet et Node.JS  IIS (avec module HTTP iisnode)  Entre Node.JS et les données (par exemple)  connection pooling Complémentarité Node.JS et son frontal  Nginx classiquement  IIS dans le cas d’Azure  Certains cas d’utilisation à déléguer au frontal:  Ressources statiques  Authentification
  • 19. Ecosystème Communauté très active  IRC, mailing list, wiki, github Npm : Node Package Manager (inclus en v0.6) Beaucoup de modules (~6800 sur npm)  Express (Sinatra-like)  Request  Socket.io  Dnode  Optimist Version 0.8 se focalise sur cet écosystème
  • 20. Les pièges à éviter Asynchrone  Race conditions  Soupe de callbacks, lisibilité du code  Librairies « flow control » : async.js, step.js, flow.js, … Monothreadé => plusieurs process  Clustering natif en 0.6 Encodage  ASCII/UTF-8 only Les API changent TRÈS vite  Les modules aussi  Culture Devops : déployer souvent
  • 21. Node.JS sur Windows Azure serveur de chat
  • 22. Mongo DB Une des bases noSql importantes du moment Base orientée documents  Stocke du JSON  Procédures stockées en JavaScript
  • 23. MongoDB et Windows Azure http://www.mongodb.org/display/DOCS/MongoDB+on+Azur e https://github.com/mongodb/mongo-azure http://www.interoperabilitybridges.com/Azure/Getting_Starte d_Guide_Node_with_MongoDB.asp Comparaison avec les services fournis par Windows Azure  Tables et Blobs Windows Azure  SQL Azure Federations
  • 24. Node.JS accédant à des tables MongoDB sur Windows Azure
  • 25. Hadoop: implémentation de Map/Reduce Extrait de « Hadoop Tutorial from Yahoo!" (Yahoo! Inc.) / CC BY 3.0 »
  • 26. Exemple: comptage de mots Map:  Pour chaque mot trouvé  Émettre <<le mot>>, 1 Shuffle (magiquement géré par le Framework) Reduce  Pour toutes les occurrences reçues clef, valeur (même clef)  Comptage += valeur  Émettre clef, comptage
  • 30. Hadoop – vue d’ensemble
  • 31. En JavaScript, c’est plus lent ? En l’occurrence non, car  Le moteur Hadoop est écrit en Java  Le JavaScript tourne dans Rhino (JVM)  Pas de « streaming » Sur un jeu de test de 50 Go de texte  En streaming (communication via stdin / stdout) : 130% de plus que Java  JavaScript : 15% de plus que Java
  • 32. Maintenant, analysons des logs IIS Scénario Web Role Azure (grosse ferme Web) Accumulation de logs IIS (Windows Azure Blobs) Sélection, formattage, tri, aggrégats dans un cluster Hadoop
  • 33. Création d’un cluster à la demande
  • 34. Création d’un cluster à la demande
  • 35. Connexion aux Blobs Windows Azure
  • 36. Analyse de logs IIS HD H D
  • 37. Hadoop On Azure en JavaScript
  • 38. Conclusion JavaScript prend de plus en plus d’importance  Y compris sur le serveur Adoption forte par Microsoft  Node.JS sur Windows Azure  Autres moteurs tels que MongoDB  Hadoop sur Windows Azure et Windows
  • 39. Des ressources Windows Azure gratuites Testez Windows Azure Abonnés MSDN, vous gratuitement pendant bénéficiez de 90 jours Windows Azure  http://aka.ms/  http://aka.ms/ tester-azure-90j activer-azure-msdn
  • 40. Pour aller plus loin Prochaines sessions des Dev Camps Chaque semaine, les 10 Live Open Data - Développer des applications riches avec le DevCamps février 2012 Meeting protocole Open Data ALM, Azure, Windows Phone, HTML5, OpenData 16 Live Azure series - Développer des applications sociales sur février http://msdn.microsoft.com/fr-fr/devcamp 2012 Meeting la plateforme Windows Azure 17 Live Comprendre le canvas avec Galactic et la librairie février Téléchargement, ressources 2012 Meeting three.js 21 et toolkits : RdV sur MSDN février 2012 Live Meeting La production automatisée de code avec CodeFluent Entities http://msdn.microsoft.com/fr-fr/ 2 mars Live Comprendre et mettre en oeuvre le toolkit Azure pour 2012 Meeting Windows Phone 7, iOS et Android Les offres à connaître 6 mars 2012 Live Meeting Nuget et ALM 90 jours d’essai gratuit de Windows 9 mars 2012 Live Meeting Kinect - Bien gérer la vie de son capteur Azure 13 mars Live Sharepoint series - Automatisation des tests www.windowsazure.fr 2012 Meeting 14 mars Live TFS Health Check - vérifier la bonne santé de votre 2012 Meeting plateforme de développement Jusqu’à 35% de réduction sur Visual Studio Pro, avec l’abonnement MSDN 15 mars Live Azure series - Développer pour les téléphones, les 2012 Meeting tablettes et le cloud avec Visual Studio 2010 www.visualstudio.fr 16 mars Live Applications METRO design - Désossage en règle d'un 2012 Meeting template METRO javascript 20 mars Live Retour d'expérience LightSwitch, Optimisation de 2012 Meeting l'accès aux données, Intégration Silverlight 23 mars Live OAuth - la clé de l'utilisation des réseaux sociaux dans 2012 Meeting votre application

Notes de l'éditeur

  1. V120127a
  2. http://www.microsoft.com/france/mstechdays/programmes/parcours.aspx#DomID=a1b85459-4eaa-471a-8927-1be7c76fdbb2&amp;SessionID=965a01d5-bd2f-4b60-847f-6d28900fe1e5JavaScript aussi sur le serveur et jusque dans le cloud ?JavaScript prend de plus en plus d&apos;importance et Microsoft rend son exécution très efficace. Nous verrons dans cette session les cas d&apos;utilisation de ce langage sur la plateforme Microsoft au niveau du serveur que ce soit par exemple avec Node.js ou Map/Reduce sur Windows Server et Windows Azure.
  3. L&apos;auteur de Node.JS a vu dans le langage une plateforme idéale pour mettre en oeuvre un serveur dédiée aux entrées-sorties hautes performances asynchrones.Quels cas d&apos;usage? Le Web bien sûr, même si l&apos;architecture de Node.JS paraisse un peu extrême par rapport au trafic typiquement servi par un serveur HTTP classique. Mais surtout tous les échanges de messages effectués dans un cadre &quot;temps réel&quot; : serveurs de discussions (&quot;tchat&apos;&quot;), jeux en réseaux, jeux sociaux, traitement de flux de données, diagnostics temps réel, tableaux de bord, etc.generallyanything about DMA, interrupts, mouse/keyboard/joystick drivers programming, gameprogramming, soundprogramming, multiprocessing.For decades, asynchronous and eventdrivenprogramming has been the domain of hardware leveldevelopers &amp; gamedevelopers.Lib entièrement asynchrone : pas comme twisted, eventmachine
  4. Node.JS est né dans le monde Linux, mais est activement en cours de portage vers Windows, avec le soutien de Microsoft. Il se trouve que Windows dispose en effet d&apos;un mécanisme d&apos;I/O asynchrone natif nommé XXXXX, bien différent des API POSIX, mais qui permettra un portage natif de qualité.L&apos;un des objectifs est bien entendu de pouvoir faire tourner Node.JS facilement sur Windows Azure, afin de bénéficier des apports de l&apos;approche Platform As A Service, étendus au monde Node.JS.
  5. hadoopdistcp asv://logs/iis demoiislogs0#ls iislogs0#dus iislogs0runJs(&quot;bin/iisLogsAnalysis.js&quot;, &quot;iislogs0&quot;, &quot;demoiislogs0HD&quot;)runJs(&quot;bin/iisLogsAnalysisToH.js&quot;, &quot;iislogs0HD&quot;, &quot;demoiislogs0H&quot;)runJs(&quot;bin/iisLogsAnalysisToD.js&quot;, &quot;iislogs0HD&quot;, &quot;demoiislogs0D&quot;)pig.from(&quot;iislogs0H&quot;, &quot;dummy, sessionID, username, startDateTime, endDateTime, nbHits:long&quot;).select(&quot;username, sessionID, nbHits&quot;).orderBy(&quot;nbHits DESC&quot;).take(10).to(&quot;iislogs0Htop10&quot;)#cat iislogs0Htop10/part-r-00000file = fs.read(&quot;iislogs0Htop10&quot;)data = parse(file.data, &quot;username, sessionID, nbHits:long&quot;)graph.pie(data)graph.bar(data, { x: &quot;username&quot;, y: &quot;nbHits&quot;, orientation: &quot;90&quot; })