Artwork

Contenu fourni par CCC media team. Tout le contenu du podcast, y compris les épisodes, les graphiques et les descriptions de podcast, est téléchargé et fourni directement par CCC media team ou son partenaire de plateforme de podcast. Si vous pensez que quelqu'un utilise votre œuvre protégée sans votre autorisation, vous pouvez suivre le processus décrit ici https://fr.player.fm/legal.
Player FM - Application Podcast
Mettez-vous hors ligne avec l'application Player FM !

Integrationstests mit Szenarien für Container-Kompositionen (glt24)

40:22
 
Partager
 

Manage episode 410988465 series 2475293
Contenu fourni par CCC media team. Tout le contenu du podcast, y compris les épisodes, les graphiques et les descriptions de podcast, est téléchargé et fourni directement par CCC media team ou son partenaire de plateforme de podcast. Si vous pensez que quelqu'un utilise votre œuvre protégée sans votre autorisation, vous pouvez suivre le processus décrit ici https://fr.player.fm/legal.
Hinter Web-Diensten steht häufig eine Zusammenstellung verschiedener Komponenten wie Webserver, Datenbanken oder selbst entwickelter Software. Der Vortrag zeigt wie das Backend der Videokonferenzsoftware OpenTalk in Integrationstests verschiedene Szenarien mit unterschliedlichen Container-Kompositionen implementiert. Um ein Videokonferenzsystem auf Basis der Open-Source-Software [OpenTalk](https://opentalk.eu/) zur Verfügung zu stellen, werden verschiedene Komponenten verwendet, die häufig in Containern laufen: - Die "Kernkomponente" [*OpenTalk Controller*](https://gitlab.opencode.de/opentalk/controller) (eine oder mehrere Instanzen davon) - Das [*OpenTalk Web-Frontend*](https://gitlab.opencode.de/opentalk/web-frontend) - [Janus](https://janus.conf.meetecho.com/) als WebRTC-Service - [PostgreSQL](https://www.postgresql.org/)-Datenbankservice - [RabbitMQ](https://www.rabbitmq.com/) zum Austausch von Nachrichten zwischen den Komponenten - [Redis](https://redis.io/) zur Speicherung der laufenden Videokonferenzen - OIDC-Provider, meist [Keycloak](https://www.keycloak.org/) - [*OpenTalk SMTP-Mailer*](https://gitlab.opencode.de/opentalk/smtp-mailer) zum Versand von Einladungs-Mails - [*OpenTalk Obelisk*](https://gitlab.opencode.de/opentalk/obelisk) als Dial-In-Service - [*OpenTalk Recorder*](https://gitlab.opencode.de/opentalk/recorder) zum Aufnehmen oder Streamen von Videokonferenzen Für die eigenen Komponenten waren bereits in weiten Teilen Unit-Tests vorhanden, die von der CI ausgeführt werden. Integrationstests, welche das Backend auf die korrekte Abarbeitung von Web-Requests und Websocket-Verbindungen in verschiedenen Szenarien prüfen, fehlten jedoch weitgehend. Beispiele für solche Szenarien sind: - Simples Setup mit einem *OpenTalk Controller* und den Beispiel-Accounts *Alice*, *Bob*, *Charlie*, *Dave* und *Erin* - Komplexeres Setup mit mehreren *OpenTalk Controllern* - Ausfallsszenarien (z.B. nachstellen dass *RabbitMQ* während des Betriebs ausfällt und wieder verfügbar wird) Der Vortrag skizziert, wie solch ein Integrationstest aussieht. Es wird gezeigt wie Szenarien aufgebaut sind und welche Methoden wir verwenden um den Code les- und wartbar zu halten. Ansätze die wir wieder verworfen oder ersetzt haben, werden kurz angeschnitten, und was wir daraus gelernt haben. Über Technische und organisatorische Hürden, die wir überwinden mussten oder noch überwinden müssen, wird klarerweise auch berichtet. Die gezeigten Code-Beispiele sind zum Großteil in [Rust](https://www.rust-lang.org/), da der Backend-Teil von OpenTalk in Rust geschrieben ist. Wenngleich Kenntnis dieser Sprache von Vorteil ist, sind die Beispiele in einer Form gehalten, die auch ohne spezifisches Vorwissen gut genug verständlich sein sollte. about this event: https://pretalx.linuxtage.at/glt24/talk/YQKPAS/
  continue reading

1886 episodes

Artwork
iconPartager
 
Manage episode 410988465 series 2475293
Contenu fourni par CCC media team. Tout le contenu du podcast, y compris les épisodes, les graphiques et les descriptions de podcast, est téléchargé et fourni directement par CCC media team ou son partenaire de plateforme de podcast. Si vous pensez que quelqu'un utilise votre œuvre protégée sans votre autorisation, vous pouvez suivre le processus décrit ici https://fr.player.fm/legal.
Hinter Web-Diensten steht häufig eine Zusammenstellung verschiedener Komponenten wie Webserver, Datenbanken oder selbst entwickelter Software. Der Vortrag zeigt wie das Backend der Videokonferenzsoftware OpenTalk in Integrationstests verschiedene Szenarien mit unterschliedlichen Container-Kompositionen implementiert. Um ein Videokonferenzsystem auf Basis der Open-Source-Software [OpenTalk](https://opentalk.eu/) zur Verfügung zu stellen, werden verschiedene Komponenten verwendet, die häufig in Containern laufen: - Die "Kernkomponente" [*OpenTalk Controller*](https://gitlab.opencode.de/opentalk/controller) (eine oder mehrere Instanzen davon) - Das [*OpenTalk Web-Frontend*](https://gitlab.opencode.de/opentalk/web-frontend) - [Janus](https://janus.conf.meetecho.com/) als WebRTC-Service - [PostgreSQL](https://www.postgresql.org/)-Datenbankservice - [RabbitMQ](https://www.rabbitmq.com/) zum Austausch von Nachrichten zwischen den Komponenten - [Redis](https://redis.io/) zur Speicherung der laufenden Videokonferenzen - OIDC-Provider, meist [Keycloak](https://www.keycloak.org/) - [*OpenTalk SMTP-Mailer*](https://gitlab.opencode.de/opentalk/smtp-mailer) zum Versand von Einladungs-Mails - [*OpenTalk Obelisk*](https://gitlab.opencode.de/opentalk/obelisk) als Dial-In-Service - [*OpenTalk Recorder*](https://gitlab.opencode.de/opentalk/recorder) zum Aufnehmen oder Streamen von Videokonferenzen Für die eigenen Komponenten waren bereits in weiten Teilen Unit-Tests vorhanden, die von der CI ausgeführt werden. Integrationstests, welche das Backend auf die korrekte Abarbeitung von Web-Requests und Websocket-Verbindungen in verschiedenen Szenarien prüfen, fehlten jedoch weitgehend. Beispiele für solche Szenarien sind: - Simples Setup mit einem *OpenTalk Controller* und den Beispiel-Accounts *Alice*, *Bob*, *Charlie*, *Dave* und *Erin* - Komplexeres Setup mit mehreren *OpenTalk Controllern* - Ausfallsszenarien (z.B. nachstellen dass *RabbitMQ* während des Betriebs ausfällt und wieder verfügbar wird) Der Vortrag skizziert, wie solch ein Integrationstest aussieht. Es wird gezeigt wie Szenarien aufgebaut sind und welche Methoden wir verwenden um den Code les- und wartbar zu halten. Ansätze die wir wieder verworfen oder ersetzt haben, werden kurz angeschnitten, und was wir daraus gelernt haben. Über Technische und organisatorische Hürden, die wir überwinden mussten oder noch überwinden müssen, wird klarerweise auch berichtet. Die gezeigten Code-Beispiele sind zum Großteil in [Rust](https://www.rust-lang.org/), da der Backend-Teil von OpenTalk in Rust geschrieben ist. Wenngleich Kenntnis dieser Sprache von Vorteil ist, sind die Beispiele in einer Form gehalten, die auch ohne spezifisches Vorwissen gut genug verständlich sein sollte. about this event: https://pretalx.linuxtage.at/glt24/talk/YQKPAS/
  continue reading

1886 episodes

Tous les épisodes

×
 
Loading …

Bienvenue sur Lecteur FM!

Lecteur FM recherche sur Internet des podcasts de haute qualité que vous pourrez apprécier dès maintenant. C'est la meilleure application de podcast et fonctionne sur Android, iPhone et le Web. Inscrivez-vous pour synchroniser les abonnements sur tous les appareils.

 

Guide de référence rapide