Architecting your WebRTC application for scalability, Arin SimeAlan Quayle
This document discusses how to architect WebRTC applications for scalability. It begins by outlining some of the challenges in building scalable WebRTC apps. It then presents 4 approaches to building apps: 1) To the WebRTC standard, 2) Unbundled WebRTC, 3) Using open-source media servers, and 4) Using communications platform as a service (CPaaS). Each approach has tradeoffs around cost, difficulty, and features included. The document also discusses using selectice forwarding units or multipoint control units to scale apps and considers architectures using orchestration and containers. It concludes with recommendations around optimizations, load testing, and future technologies.
Openstack Neutron, interconnections with BGP/MPLS VPNsThomas Morin
This document discusses the Openstack Neutron networking-bgpvpn project, which provides a Neutron API and service plugin that allows tenants to interconnect their Openstack networks and routers with BGP/MPLS VPNs. The API exposes constructs like BGPVPNs, network associations, and router associations. It works with drivers for Neutron/OVS, OpenDaylight, OpenContrail, and others. The goal is to provide a common way for tenants to control interconnections in a controller-agnostic manner. The project is part of Openstack and OPNFV, and provides a model for integrating telco functionality into Openstack.
This document discusses Janus, a WebRTC server, and its deployment using Docker containers. It begins by providing background on microservices and Docker. It then describes issues that can arise with Docker's default networking modes for Janus due to network-related WebRTC failures. Specifically, Docker's NAT functionality does not always behave predictably for ICE negotiations. The document recommends using dedicated IP addresses for containers to avoid these issues. It provides examples of complex Docker-based architectures for deploying Janus at IETF meetings and for recording production using Docker Swarm.
WebRTC DataChannels Demystified" provides an overview of WebRTC data channels:
- WebRTC supports real-time communication of arbitrary data between browsers using data channels in addition to audio and video.
- Data channels use SCTP over DTLS for transport, providing reliability, security, and NAT traversal. They have a WebSocket-like API.
- Early experiments show potential use cases but also immature implementations and possible overkill for some scenarios compared to WebSockets.
Architecting your WebRTC application for scalability, Arin SimeAlan Quayle
This document discusses how to architect WebRTC applications for scalability. It begins by outlining some of the challenges in building scalable WebRTC apps. It then presents 4 approaches to building apps: 1) To the WebRTC standard, 2) Unbundled WebRTC, 3) Using open-source media servers, and 4) Using communications platform as a service (CPaaS). Each approach has tradeoffs around cost, difficulty, and features included. The document also discusses using selectice forwarding units or multipoint control units to scale apps and considers architectures using orchestration and containers. It concludes with recommendations around optimizations, load testing, and future technologies.
Openstack Neutron, interconnections with BGP/MPLS VPNsThomas Morin
This document discusses the Openstack Neutron networking-bgpvpn project, which provides a Neutron API and service plugin that allows tenants to interconnect their Openstack networks and routers with BGP/MPLS VPNs. The API exposes constructs like BGPVPNs, network associations, and router associations. It works with drivers for Neutron/OVS, OpenDaylight, OpenContrail, and others. The goal is to provide a common way for tenants to control interconnections in a controller-agnostic manner. The project is part of Openstack and OPNFV, and provides a model for integrating telco functionality into Openstack.
This document discusses Janus, a WebRTC server, and its deployment using Docker containers. It begins by providing background on microservices and Docker. It then describes issues that can arise with Docker's default networking modes for Janus due to network-related WebRTC failures. Specifically, Docker's NAT functionality does not always behave predictably for ICE negotiations. The document recommends using dedicated IP addresses for containers to avoid these issues. It provides examples of complex Docker-based architectures for deploying Janus at IETF meetings and for recording production using Docker Swarm.
WebRTC DataChannels Demystified" provides an overview of WebRTC data channels:
- WebRTC supports real-time communication of arbitrary data between browsers using data channels in addition to audio and video.
- Data channels use SCTP over DTLS for transport, providing reliability, security, and NAT traversal. They have a WebSocket-like API.
- Early experiments show potential use cases but also immature implementations and possible overkill for some scenarios compared to WebSockets.
alphorm.com - Formation Linux LPIC-1/Comptia Linux+Alphorm
La formation complète est disponible ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-linux-lpic-1-comptia-linuxplus
Le Linux Professionnal Institute (LPI) a été créé en vue d’apporter un processus reconnu, identifiant et certifiant le talent et les compétences des utilisateurs GNU/Linux partout dans le monde.
La LPIC est aujourd’hui la certification la plus demandée dans le monde de l’Open Source. Indépendante de toute distribution Linux, la certification LPI est devenue dans la pratique une certification incontournable pour qui veut évaluer ses compétences dans l’administration Linux.
L'expert de l’Open Source Noël Macé vous accompagne durant cette première formation afin d’acquérir votre LPIC-1. La LPIC-1 vous permet d'acquérir et maîtriser les bases de l’administration système sous GNU/Linux.
Cette même formation vous permettra également de valider les connaissances exigées par la certification Comptia Linux+ et ainsi la réussir.
There is a renaissance underway in the messaging space. Due to the demands of IoT networks, cloud native apps, and microservices developers are looking for simple, fast, messaging systems. This is a sharp contrast to how traditional messaging was done.
This webinar will cover:
- The basics of messaging patterns
- What makes NATS unique
- Using a demo inspired by Pokemon Go as an example
Présentation portant sur le système de virtualisation Docker.
Langue : Français.
Auteur : Colin LEVERGER, me@colinleverger.fr, merci de citer vos sources ;)
Sources : Wikipedia / Docker site officiel : https://www.docker.com/
Presentation Zabbix en Français du 6 Juin 2013Alain Ganuchaud
Vue d'ensemble des fonctionnalités Zabbix, plus particulièrement la version 2.0, présentée en Français par Alain Ganuchaud (CORE IT PROJECT) pour l'éditeur Zabbix SIA.
Ce présent document est le rapport de fin de cours de téléphonie sur IP. Comme technologies nous avons utilisées Asterisk , Gatekeeper, CME SIP et CME SCCP
An SFU/MCU integration for heterogeneous environmentsGiacomo Vacca
Janus and FreeSWITCH are two open source real-time communications projects that can be used to build conferencing systems.
Among other things, Janus implements an SFU (Selective Forwarding Unit).
FreeSWITCH includes a conference module, which works as MCU (Multipoint Control Unit).
Often we are asked to build solutions integrating existing applications and services: this presentation shows an approach and example.
In this talk Elad Raz from Mellanox Technologies talks about his effort to open source switch development and transition from proprietary SDKs to a standard, in-kernel solution.
Présentation S2LQ 2017 sur la mise en oeuvre d'un cloud privé et des pratiques DevOps pour passer de l'intégration continue au déploiement continu. Retour d'expérience sur la base des travaux réalisés sur le projet James de la fondation Apache par LINAGORA.
alphorm.com - Formation Linux LPIC-1/Comptia Linux+Alphorm
La formation complète est disponible ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-linux-lpic-1-comptia-linuxplus
Le Linux Professionnal Institute (LPI) a été créé en vue d’apporter un processus reconnu, identifiant et certifiant le talent et les compétences des utilisateurs GNU/Linux partout dans le monde.
La LPIC est aujourd’hui la certification la plus demandée dans le monde de l’Open Source. Indépendante de toute distribution Linux, la certification LPI est devenue dans la pratique une certification incontournable pour qui veut évaluer ses compétences dans l’administration Linux.
L'expert de l’Open Source Noël Macé vous accompagne durant cette première formation afin d’acquérir votre LPIC-1. La LPIC-1 vous permet d'acquérir et maîtriser les bases de l’administration système sous GNU/Linux.
Cette même formation vous permettra également de valider les connaissances exigées par la certification Comptia Linux+ et ainsi la réussir.
There is a renaissance underway in the messaging space. Due to the demands of IoT networks, cloud native apps, and microservices developers are looking for simple, fast, messaging systems. This is a sharp contrast to how traditional messaging was done.
This webinar will cover:
- The basics of messaging patterns
- What makes NATS unique
- Using a demo inspired by Pokemon Go as an example
Présentation portant sur le système de virtualisation Docker.
Langue : Français.
Auteur : Colin LEVERGER, me@colinleverger.fr, merci de citer vos sources ;)
Sources : Wikipedia / Docker site officiel : https://www.docker.com/
Presentation Zabbix en Français du 6 Juin 2013Alain Ganuchaud
Vue d'ensemble des fonctionnalités Zabbix, plus particulièrement la version 2.0, présentée en Français par Alain Ganuchaud (CORE IT PROJECT) pour l'éditeur Zabbix SIA.
Ce présent document est le rapport de fin de cours de téléphonie sur IP. Comme technologies nous avons utilisées Asterisk , Gatekeeper, CME SIP et CME SCCP
An SFU/MCU integration for heterogeneous environmentsGiacomo Vacca
Janus and FreeSWITCH are two open source real-time communications projects that can be used to build conferencing systems.
Among other things, Janus implements an SFU (Selective Forwarding Unit).
FreeSWITCH includes a conference module, which works as MCU (Multipoint Control Unit).
Often we are asked to build solutions integrating existing applications and services: this presentation shows an approach and example.
In this talk Elad Raz from Mellanox Technologies talks about his effort to open source switch development and transition from proprietary SDKs to a standard, in-kernel solution.
Présentation S2LQ 2017 sur la mise en oeuvre d'un cloud privé et des pratiques DevOps pour passer de l'intégration continue au déploiement continu. Retour d'expérience sur la base des travaux réalisés sur le projet James de la fondation Apache par LINAGORA.
Avant d'entamer un chantier de performance Web, il convient de mettre en place du monitoring.
En particulier si vous voulez gérer sur le long terme la qualité, si vous avez beaucoup de sites et de pages à gérer.
Cette présentation est tirée d'un retour d'expérience d'installation de monitoring spécialisé en performance Web, avec des logiciels gratuits, et un serveur peu cher.
Réalité virtuelle + Open source = <3Yannick Comte
Talk réalisé lors du 1er meetup XVRRAA le 09/02/2017. Pourquoi est-ce important d'avoir une alternative aux grands constructeurs de matériel VR ? Quels sont les avantages pour les entreprises et les acheteurs ? Quelles pistes pour les développeurs ?
Présentation de Sam Dutton - 30min : Media APIs for the multi-device web
Démos - 10 min chacune :
Bistri: démo d'un appel vidéo WebRTC depuis des lunettes connectées
Apidaze: démo WebRTC/PSTN widgets, boutons d'appel, call data analytics
Frédéric Néret (OBH Digital) & Orange Lab: présentation de l'implémentation WebRTC dans le projet de voiture Next2 de Renault
StreamRoot: démo API data channel & live streaming
Twinlife: "Twinme", démo d’appels vidéo WEBRTC reçus sur le même smartphone avec plusieurs identités
Web real time communication @UXRepublicUX REPUBLIC
Hugo nous présente le Web Real Time Communication (RTC) et l'ensemble de ses outils.
UX-Republic
Agence de design d'interfaces et centre de formation
www.ux-republic.com
Notre voyage vers le déploiement continu avec micro-services, la conteneurisation et l'orchestration des conteneurs utilisant Kubernetes. Sur notre chemin, nous avons dû créer divers outils pour nous aider à mieux utiliser et tester le tout avant d'aller en production. Nous avons également intégré une variété d'autres outils pour nous donner de la visibilité sur notre plate-forme. Cette conférence sera un aperçu de notre voyage jusqu'à maintenant.
Our journey towards continuous deployment with micro-services, containerization and orchestration of containers using Kubernetes. On our way there, we've had to create various tools to help us better use and test everything before going to production. We also had to integrate a variety of other tools to give us visibility on our platform.
This talk will be an overview of our journey up to now.
Du streaming Live avec les jeux olympiques en passant par des services de VOD à grande échelle, ou bien de la diffusion vidéo d’entreprise, la tendance du marché est d’utiliser de plus en plus de services Cloud pour la diffusion de contenu audiovisuel. Lors de cette session, nous ferons un point sur les solutions disponibles et effectuerons de multiples démonstrations.
Speakers : Xavier Pouyat (Microsoft Corp), Benjamin Moulès (Microsoft France), Frédéric Le Coquil (Microsoft France), Julien Fauvel (Brainsonic), Jérôme Respaut (Brainsonic)
Alphorm.com Formation Blockchain : Maîtriser les Smart ContractsAlphorm
La Blockchain dans le contexte Business pour les entreprises est précieuse pour les entités qui effectuent des transactions entre elles. Grâce à la technologie de grand livre distribué, les participants autorisés peuvent accéder aux mêmes informations en même temps pour améliorer l'efficacité, renforcer la confiance et éliminer les frictions. La Blockchain offre ces avantages basés sur quatre attributs uniques à la technologie :
Consensus : les registres partagés ne sont mis à jour qu'après la validation de la transaction par tous les participants concernés.
Réplication : une fois qu'un bloc - l'enregistrement d'un événement - est approuvé, il est automatiquement créé dans tous les registres pour tous les participants de ce canal. Chaque partenaire du réseau voit et partage une seule « réalité de confiance » des transactions.
Immuabilité : plus de blocs peuvent être ajoutés, mais pas supprimés, de sorte qu'il existe un enregistrement permanent de chaque transaction, ce qui augmente la confiance entre les parties prenantes.
Sécurité : seules les entités autorisées sont autorisées à créer des blocs et à y accéder. Seuls les partenaires de confiance reçoivent l'autorisation d'accès.
Blockchain est l’architecture ou le paradigme sous-jacent à Ethereum, et les contrats intelligents (Smart Contracts) sont issus de l’environnement Ethereum.
Les contrats intelligents sont simplement des programmes stockés sur une Blockchain qui s'exécutent lorsque des conditions prédéterminées sont remplies. Ils sont généralement utilisés pour automatiser l'exécution d'un accord afin que tous les participants puissent être immédiatement certains du résultat, sans intervention d'un intermédiaire ni perte de temps. Ils peuvent également automatiser un flux de travail, déclenchant l'action suivante lorsque les conditions sont remplies.
Dans cette formation, vous allez vous familiariser avec les notions fondamentales de fonctionnement des Smart Contracts, l’un des outils qui se font au sein de d’une Blockchain.
Présentation donnée lors de la présentation mensuelle de l'association LINUQ. J'y parle de mon expérience avec le media center MythTV (linux), XBMC (Linux), de Boxee Box et Smart LG.
Vous trouverez quelques références d'applications tierces à installer sur votre media center pour télécharger des Torrent, fichiers megaupload, etc..
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Laurent Speyser
(Conférence dessinée)
Vous êtes certainement à l’origine, ou impliqué, dans un changement au sein de votre organisation. Et peut être que cela ne se passe pas aussi bien qu’attendu…
Depuis plusieurs années, je fais régulièrement le constat de l’échec de l’adoption de l’Agilité, et plus globalement de grands changements, dans les organisations. Je vais tenter de vous expliquer pourquoi ils suscitent peu d'adhésion, peu d’engagement, et ils ne tiennent pas dans le temps.
Heureusement, il existe un autre chemin. Pour l'emprunter il s'agira de cultiver l'invitation, l'intelligence collective , la mécanique des jeux, les rites de passages, .... afin que l'agilité prenne racine.
Vous repartirez de cette conférence en ayant pris du recul sur le changement tel qu‘il est généralement opéré aujourd’hui, et en ayant découvert (ou redécouvert) le seul guide valable à suivre, à mon sens, pour un changement authentique, durable, et respectueux des individus! Et en bonus, 2 ou 3 trucs pratiques!
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...OCTO Technology
Par Nicolas Bordier (Consultant numérique responsable @OCTO Technology) et Alaric Rougnon-Glasson (Sustainable Tech Consultant @OCTO Technology)
Sur un exemple très concret d’audit d’éco-conception de l’outil de bilan carbone C’Bilan développé par ICDC (Caisse des dépôts et consignations) nous allons expliquer en quoi l’ACV (analyse de cycle de vie) a été déterminante pour identifier les pistes d’actions pour réduire jusqu'à 82% de l’empreinte environnementale du service.
Vidéo Youtube : https://www.youtube.com/watch?v=7R8oL2P_DkU
Compte-rendu :
L'IA connaît une croissance rapide et son intégration dans le domaine éducatif soulève de nombreuses questions. Aujourd'hui, nous explorerons comment les étudiants utilisent l'IA, les perceptions des enseignants à ce sujet, et les mesures possibles pour encadrer ces usages.
Constat Actuel
L'IA est de plus en plus présente dans notre quotidien, y compris dans l'éducation. Certaines universités, comme Science Po en janvier 2023, ont interdit l'utilisation de l'IA, tandis que d'autres, comme l'Université de Prague, la considèrent comme du plagiat. Cette diversité de positions souligne la nécessité urgente d'une réponse institutionnelle pour encadrer ces usages et prévenir les risques de triche et de plagiat.
Enquête Nationale
Pour mieux comprendre ces dynamiques, une enquête nationale intitulée "L'IA dans l'enseignement" a été réalisée. Les auteurs de cette enquête sont Le Sphynx (sondage) et Compilatio (fraude académique). Elle a été diffusée dans les universités de Lyon et d'Aix-Marseille entre le 21 juin et le 15 août 2023, touchant 1242 enseignants et 4443 étudiants. Les questionnaires, conçus pour étudier les usages de l'IA et les représentations de ces usages, abordaient des thèmes comme les craintes, les opportunités et l'acceptabilité.
Résultats de l'Enquête
Les résultats montrent que 55 % des étudiants utilisent l'IA de manière occasionnelle ou fréquente, contre 34 % des enseignants. Cependant, 88 % des enseignants pensent que leurs étudiants utilisent l'IA, ce qui pourrait indiquer une surestimation des usages. Les usages identifiés incluent la recherche d'informations et la rédaction de textes, bien que ces réponses ne puissent pas être cumulées dans les choix proposés.
Analyse Critique
Une analyse plus approfondie révèle que les enseignants peinent à percevoir les bénéfices de l'IA pour l'apprentissage, contrairement aux étudiants. La question de savoir si l'IA améliore les notes sans développer les compétences reste débattue. Est-ce un dopage académique ou une opportunité pour un apprentissage plus efficace ?
Acceptabilité et Éthique
L'enquête révèle que beaucoup d'étudiants jugent acceptable d'utiliser l'IA pour rédiger leurs devoirs, et même un quart des enseignants partagent cet avis. Cela pose des questions éthiques cruciales : copier-coller est-il tricher ? Utiliser l'IA sous supervision ou pour des traductions est-il acceptable ? La réponse n'est pas simple et nécessite un débat ouvert.
Propositions et Solutions
Pour encadrer ces usages, plusieurs solutions sont proposées. Plutôt que d'interdire l'IA, il est suggéré de fixer des règles pour une utilisation responsable. Des innovations pédagogiques peuvent également être explorées, comme la création de situations de concurrence professionnelle ou l'utilisation de détecteurs d'IA.
Conclusion
En conclusion, bien que l'étude présente des limites, elle souligne un besoin urgent de régulation. Une charte institutionnelle pourrait fournir un cadre pour une utilisation éthique.
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...Horgix
This is the slide deck of a talk by Alexis "Horgix" Chotard and Laurentiu Capatina presented at the MongoDB Paris User Group in June 2024 about the feedback on how PayFit move away from a monolithic hell of a self-hosted MongoDB cluster to managed alternatives. Pitch below.
March 15, 2023, 6:59 AM: a MongoDB cluster collapses. Tough luck, this cluster contains 95% of user data and is absolutely vital for even minimal operation of our application. To worsen matters, this cluster is 7 years behind on versions, is not scalable, and barely observable. Furthermore, even the data model would quickly raise eyebrows: applications communicating with each other by reading/writing in the same MongoDB documents, documents reaching the maximum limit of 16MiB with hundreds of levels of nesting, and so forth. The incident will last several days and result in the loss of many users. We've seen better scenarios.
Let's explore how PayFit found itself in this hellish situation and, more importantly, how we managed to overcome it!
On the agenda: technical stabilization, untangling data models, breaking apart a Single Point of Failure (SPOF) into several elements with a more restricted blast radius, transitioning to managed services, improving internal accesses, regaining control over risky operations, and ultimately, approaching a technical migration when it impacts all development teams.
2. Sommaire
● WebRTC c’est quoi ?
● En tant qu’utilisateur, comment je l’utilise ?
● En tant que développeur, comment je m’en sers ?
● En tant que technicien, comment je debug ?
3. WEBRTC c’est quoi ?
● Technologie permettant d’avoir des communications temps réel dans un navigateur
web (Javascript API)
○ https://fr.wikipedia.org/wiki/WebRTC
● Créer par Google en 2011
● Normalisé 1.0 https://www.w3.org/TR/webrtc/
● Supporté par différents navigateur web comme
○ Chromium, Chrome
○ Firefox
○ Edge
○ Opéra
● Pas de protocol établi, chacun est libre de son implémentation
● Permet au navigateur d’avoir accès au micro, haut parleur de l’ordinateur
● Permet de monter une session SRTP dans le navigateur web pour le flux média temps
réel
● Permet d’avoir des statistiques sur le média
● API web : https://developer.mozilla.org/fr/docs/Web/API/WebRTC_API
4. WEBRTC
● Composants principaux
○ getUserMedia : caméra,
micro
○ RTCPeerConnection :
négociation, encodage,
décodage
○ RTCDataChannel :
échange de données
entre navigateurs
● Autres APIs
○ getStats
○ getDisplayMedia
○ MediaRecorder
● SRTP
○ Chiffrement des flux média
● STUN, TURN, SDP, ICE, DTLS
5. ICE, dur comme de la glace ;)
● ICE : Permet de trouver comment deux
ordinateurs peuvent parler ensemble.
● STUN : Permet de découvrir votre
adresse IP publique
● TURN : Inclus la traversé du média
● NAT : Traduction d’une adresse publique
vers une ip privé
● Ice candidate : Information de l’adresse
IP et du port pour passer le média
Plus d’infos : Très bonne définition ici
6. SDP - Session Description Protocol
● Permet de décrire une session média dans un appel VOIP
● L’anatomie est très bien décrite ici : https://webrtchacks.com/sdp-anatomy/
8. SFU, MCU, P2P ??? Comment on s’y retrouve ?
● SFU : Selective Forwardings Units
● MCU : Multiple Control Unit
● P2P : Peer to peer
9. Et la sécurité ?
E2E : Webrtc insertable streams
Permet de chiffrer de bout en bout
le média.
Très récent dans le webrtc,
fonctionne à partir d’échange de
clefs.
10. En tant qu’utilisateur, on parle de quoi ?
Pour l’utilisateur ça sert à quoi ?
Grâce au webrtc on a des services comme :
● google meet
● jitsi
● bigblue buttons
● Microsoft teams
● Wazo ;)
● etc …
On embarque de la communication temps réel dans la navigateur web, voix,
vidéo ou texte sans plugin sans télécharger des addons et cela améliore très
largement l’expérience utilisateur.
11. En tant que Développeur, comment ça marche ?
Développer des applications de
communications temps réel dans
un navigateur web :
● Télécommunications
● Jeux vidéo
● …
Principalement en Javascript.
12. En tant que technicien, comment je debug ?
On ouvre la console debug webrtc :
Chrome => chrome://webrtc-internals