Un zeste d Erlang dans le shaker!



Documents pareils
And now for something completely different - Erlang

Panorama des solutions analytiques existantes

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

Cartographie des solutions BigData

Hébergement MMI SEMESTRE 4

Technique et architecture de l offre Suite infrastructure cloud. SFR Business Team - Présentation

Informatique en nuage Cloud Computing. G. Urvoy-Keller

Fouillez facilement dans votre système Big Data. Olivier TAVARD

<Insert Picture Here> Maintenir le cap avec Oracle WebLogic Server

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Les technologies du Big Data

Intégration de systèmes

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin Talend

MapReduce. Nicolas Dugué M2 MIAGE Systèmes d information répartis

CloudBees AnyCloud : Valeur, Architecture et Technologie cloud pour l entreprise

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

BIG DATA en Sciences et Industries de l Environnement

Groupe de Discussion Big Data Aperçu des technologies et applications. Stéphane MOUTON

Nouveautés Ignition v7.7

Tests de montée en charge & Haute disponibilité

Yann BECHET 32 ans 8 ans d expérience yann@bechet.org

Infrastructure Management

Grid 5000 : Administration d une infrastructure distribuée et développement d outils de déploiement et d isolation réseau

Construire un réseau social avec Symfony Xavier Lacot Clever Age. Symfony Live 11 et 12 juin 2009 Clever Age Xavier Lacot

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG

BIG DATA. Veille technologique. Malek Hamouda Nina Lachia Léo Valette. Commanditaire : Thomas Milon. Encadré: Philippe Vismara

Urbanisme du Système d Information et EAI

Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement

Programmation Web. Madalina Croitoru IUT Montpellier

Présentation d'un MOM open-source

Le modèle client-serveur

AVRIL Au delà de Hadoop. Panorama des solutions NoSQL

Bases de données documentaires et distribuées Cours NFE04

CNAM Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

Licence Pro ASUR Supervision Mai 2013

Big Data : utilisation d un cluster Hadoop HDFS Map/Reduce HBase

Hébergement de sites Web

PROGRAMME DETAILLE. Parcours en première année en apprentissage. Travail personnel CC + ET réseaux

M F. Consultante Moe / Support. Finance de Marché

Architectures d implémentation de Click&DECiDE NSI

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Bases de données documentaires et distribuées Cours NFE04

PERFORMANCE ET DISPONIBILITÉ DES SI

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft

Master d'informatique. Réseaux. Supervision réseaux

APP TECHNOLOGY. Tracking du ROI & Engagement sur Mobile

XMPP, Jabber et Jingle

EFIDEM easy messaging systems

Drupal : Optimisation des performances

NEXTDB Implémentation d un SGBD Open Source

Les Content Delivery Network (CDN)

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

NFP111 Systèmes et Applications Réparties

PHP. Performances. Audit et optimisation LAMP. Julien Pauli. Cyril Pierre de Geyer. Guillaume Plessis. Préface d Armel Fauveau

ARCHITECTURE ET SYSTÈMES D'EXPLOITATIONS

Hibernate vs. le Cloud Computing

Proposition d une architecture pour ebay, en mettant l accent sur les notions de scalabilité, de résilience, et de tolérance aux pannes.

NoSQL. Introduction 1/30. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

JOnAS 5. Serveur d application d

Cassandra chez Chronopost pour traiter en temps réel 1,5 milliard d événements par an

Offre formation Big Data Analytics

La Latecion protection anti-intrusion Web Web Le concept «Zero effort Security» La protection des applications Extranet

PostgreSQL. Formations. Catalogue Calendrier... 8

FORMATION CN01a CITRIX NETSCALER

Jean-Philippe Paquette

Check Point Certified Security Expert R75. Configurer et administrer des solutions avancées de la suite des produits de sécurité Check Point R71.

Étendez les capacités de vos points de vente & sécurisez vos transactions.

L ÉCHANGE DE DONNÉES TEMPS RÉEL

De la criticité de la haute dispo pour améliorer le service à l'usager : le Cg44 prend la vague de l agilité

Alexandre Buge Epitech 5 Promo Soutenance de stage du 01/03/2004 au 31/08/2004

Hébergement de site web Damien Nouvel

+ = OpenStack Presentation. Raphaël Ferreira - enovance. Credits : Thanks to the OpenStack Guys 1

Lier Erlang avec d autres langages de programmation

Configuration Matérielle et Logicielle AGORA V2

Organiser vos données - Big Data. Patrick Millart Senior Sales Consultant

Comment optimiser votre. utilisation de POM? 23 avril 2015

Le cloud computing au service des applications cartographiques à haute disponibilité

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Windows Azure. Principales fonctions

Webinar. Découvrez Rubedo, la première solution CMS open-source tirant profit des atouts de Zend Framework et du NoSQL. avec la participation de

Territoires géographiques/numériques

Machines virtuelles Cours 1 : Introduction

PostgreSQL, le cœur d un système critique

Devenez un véritable développeur web en 3 mois!

Breizhcamp - Cloud - Ruby

SQL Server, MySQL, Toad (client MySQL), PowerAMC (modélisation) Proxy SLIS

IBM Tivoli Monitoring, version 6.1

Le Cloud Computing et le SI : Offre et différentiateurs Microsoft

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

Architectures haute disponibilité avec MySQL. Olivier Olivier DASINI DASINI - -

Technologie data distribution Cas d usage.

OpenStack Le cloud libre. Thierry Carrez Release Manager, OpenStack

1 LE L S S ERV R EURS Si 5

Transcription:

cocktail d expérience informatiques Genève 3 & 4 octobre 2011 Seconde édition Auteur Track Session D. WILLIAMS & F. NOURISSON Incubateur Un zeste d Erlang dans le shaker!

1/32 Un zeste d Erlang dans le shaker! Soft-Shake 2011 Dominic Williams Fabrice Nourisson 4 octobre 2011 c Extreme Forge. All rights reserved.

2/32 Sommaire Faisons connaissance Introduction à Erlang Le langage plus en détail Démo L écosystème Erlang Erlang comme ingrédient du cocktail

3/32 Sommaire Faisons connaissance Introduction à Erlang Le langage plus en détail Démo L écosystème Erlang Erlang comme ingrédient du cocktail

Les présentateurs Erlang, extreme Programming, trains, USSD, Internet Fabrice Nourisson @duckmole Python, jquery 118000.fr Ornithorynque, ski, rugby Dominic Williams @domiwilliams C, Lisp Océanographie, corporama.com Zen, jazz, voile 4/32

5/32 Extreme Forge http ://extremeforge.com @extremeforge

Le public? 6/32

7/32 Sommaire Faisons connaissance Introduction à Erlang Le langage plus en détail Démo L écosystème Erlang Erlang comme ingrédient du cocktail

8/32 Les avantages d Erlang Du code concis (peu de lignes de code) Un langage haut niveau Des systèmes plus robustes Des systèmes faciles à distribuer Des architectures scalables

9/32 Histoire Alonzo Church, λ-calcul, 1930 Erlang naît dans les labos d Ericsson en 1986 Dérivé de Prolog (logique) Inspiré de ML (fonctionnel) Plusieurs tentatives de VM Distribué en open source depuis 1998 Perce dans le monde Internet en 2007

10/32 Utilisé pour l informatique critique Ericsson, Goldman Sachs, Mobile Interactive Group, Myriad Group, British Telecom, Klarna, Teba Bank, Ansaldo Signal, Twitter, Facebook, GitHub, Amazon,...

11/32 Sommaire Faisons connaissance Introduction à Erlang Le langage plus en détail Démo L écosystème Erlang Erlang comme ingrédient du cocktail

12/32 Simplicité et robustesse Gestion de mémoire automatique (ramasse-miettes) Typage implicite Types haut niveau : listes, tuples, symboles Un modèle de concurrence simple et puissant langage fonctionnel Affectation unique (équivalence) Style déclaratif : pattern matching (filtrage) f a c ( 0 ) > 1 ; f a c (N) > N f a c (N 1).

13/32 A quoi sert la concurrence? Systèmes réactifs, multi-tâches Parallélisation de certains algorithmes Tirer parti des processeurs modernes multi-coeurs Modélisation du domaine

14/32 La concurrence Erlang Basée sur une algèbre (CSP, Tony Hoare, 1978) Processus légers isolés (sans mémoire partagée) Communicants par messages asynchrones Parfaitement déterministe Simple et compréhensible Automatiquement multi-coeur

15/32 Un langage distribué et communiquant La distribution Erlang : les noeuds (VM) Erlang se connectent automatiquement (cluster) il y a un système de nommage distribué les process s échangent des messages localement ou via réseau de façon transparente la supervision de noeuds et de process est aussi distribuée Encodages binaires : syntaxe puissante (pattern matching, construction) protocoles réseau (paquets standard ou propriétaires) fichiers binaires

16/32 Supervision de process Le langage permet de surveiller l existence d autres process spawn_link (... ) spawn_monitor (... ) La notification est automatique et se fait aussi par messages Séparation en process métier et process de supervision (worker, supervisor)

17/32 Très hautes disponibilités Génération d environnements cible Versionnement Système d upgrade/downgrade Upgrade de code à chaud (sans arrêt logiciel)

18/32 Sommaire Faisons connaissance Introduction à Erlang Le langage plus en détail Démo L écosystème Erlang Erlang comme ingrédient du cocktail

19/32 Démo Un nuage de mots temps-réel Un peu de code fonctionnel (en TDD) Intégration dans une appli Web avec Yaws Changement de code à chaud

20/32 Sommaire Faisons connaissance Introduction à Erlang Le langage plus en détail Démo L écosystème Erlang Erlang comme ingrédient du cocktail

21/32 L environnement de développement Debugger Wrangler Dialyzer harnais de tests QuickCheck Modules Make ou rebar Hot upgrade Jenkins...

22/32 Outils de supervision Interne : Etop os_mon Appmon traces Externe (SNMP) : Nagios HP Network Manager IBM Tivoli NetView

23/32 Bases de données Base temps-réel distribuée mnesia Drivers ODBC, MySQL, PostgreSQL, Oracle Plusieurs bases NoSQL en Erlang Bonne intégration avec autres bases NoSQL ETS Mnesia Tokyo CouchDB Riak MongoDB MySQL RAM Disque Gros volumes Latence Réplication Répartition Cluster dynamique Transactions Requêtes ad hoc

24/32 Support Ericsson : Développement actif du langage, des librairies, documentation Code sur GitHub Mailing list Communauté : Trapexit.org Blogs Livres Formation et support : Extreme Forge Erlang Solutions Outils avec support commercial : QuickCheck RabbitMQ Riak CouchDB Process-One (ejabberd)

25/32 Etude de cas : serveur intéractif USSD Cellicium/Myriad Group Selfcare téléphonie mobile (suivi conso, rechargement, call-me-back... ) Interface core network, SI opérateur et fournisseurs contenu 2 personnes, 9 mois 99,99% dispo 20 millions d utilisateurs 5000 MPS Leader marché (>30 opérateurs)

26/32 Sommaire Faisons connaissance Introduction à Erlang Le langage plus en détail Démo L écosystème Erlang Erlang comme ingrédient du cocktail

27/32 Produits Nombreux produits écrits en Erlang pour du non-erlang Open source et/ou commerciaux Nom Description Société QuickCheck Vérfication de propriétés QuviQ CouchDB Base de données Fondation Apache Riak Base de données Basho RabbitMQ Middleware AMQP (orienté messages) VMware ejabberd Chat, messaging XMPP Process One U.C.Engine Framework Web temps-réel collaboratif AF83 Zotonic CMS WhatWebWhat Disco Map Reduce Nokia Research

28/32 Intégration et communication externe Sockets TCP/IP Serveurs et clients HTTP SSH CORBA ASN.1 Megaco (H.248) SIP Ports et drivers C Jinterface (Java)

29/32 Etude de cas : Chat Facebook Appli de chat en ligne 4 personnes, 7 mois Ajax/PHP/C++/Erlang +800 millions messages/jour 7 millions de canaux actifs 100 machines

30/32 Etude de cas : routage et répartition de charge Utiliser la distribution et la supervision d Erlang Rendre robuste, parallèle et scalable votre code existant

31/32 Conclusion Langage simple, concis, sûr et puissant Fait pour le multi-coeur et la scalabilité Facile à intégrer à un existant Questions?

32/32 Références Société Domaine CA/Me Utilisation Goldman Sachs Banque 27000 Trading Amazon E-commerce 24000 Base de données cloud BT Télécoms 24000 Ericsson Télécoms 22000 Switches, gateways... T-Mobile Télécoms 21000 Motorola Télécoms 15000 Activision Jeux vidéos 3100 Middleware jeux réseau Electronic Arts Jeux vidéos 2600 Chat Facebook Réseau social 1400 Chat Ansaldo Signal Ferroviaire 1300 Contrôle-commande signalisation Nortel Télécoms 438 E-mail, accélérateur SSL Meetic Site de rencontres 186 Myriad Group Télécoms 71 Portail USSD Teba Bank Banque 2 Transactions 37signals Gestion de projet Chat Beebole Gestion de projet AppliWeb Blue Group E-commerce Paiement en-ligne Correlatus Télécoms SS7 Engine Yard Hébergement Hébergement Ruby Gemini technologies Télécoms Base de données GitHub Hébergement Heroku Hébergement Load balancing Klarna Paiement en-ligne Tout Smarkets Pari Site de paris en-ligne

33/32 Etude de cas : Switch AXD301 Switch ATM Ericsson 40 personnes, 4 ans 1500 KLOC, 2000 modules Erlang 99,9999999% dispo (31ms/an) 10 à 160 Gbit/s Leader marché (11%)