open source! wenn dein täglich brot für jede*n einsehbar...

66
Open Source! Wenn dein täglich Brot für jede*n einsehbar ist Easterhegg 2019 #eh19, Wien Bastian Widmer - @dasrecht | @amazeeio

Upload: others

Post on 25-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Open Source! Wenn dein täglich Brot für jede*n einsehbar ist

🍳 Easterhegg 2019 #eh19, Wien

Bastian Widmer - @dasrecht | @amazeeio

Page 2: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

$> whoami bastian System Engineer at amazee.io

Containerbasiertes Hosting 👻 🤖

Zürich, Schweiz @dasrecht Zu viele Nebenprojekte!

• Digitale Gesellschaft Schweiz • Vorstand CommunityRack.org • TEDxBern • Sag mal, kannst du…

Page 3: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

$> whoami bastian ● System Engineer at amazee.io

● Located: Zurich, Switzerland

● Twitter: @dasrecht

● Too many sideprojects!

○ DevOpsDays Zurich

○ CommunityRack.org

○ Running Tor Exit nodes for fun

○ Working with Real Containers

Page 4: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

● System Engineer at amazee.io

● Located: Zurich, Switzerland

● Twitter: @dasrecht

● Too many sideprojects!

○ DevOpsDays Zurich

○ CommunityRack.org

○ Running Tor Exit nodes for fun

○ Working with Real Containers

Page 5: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Über was wir reden werden: Open Source, Container, Herausforderungen, Vorteile, Fehler, gelerntes und wieso jeder Open Source „machen“ sollte.

Page 6: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

🙋%🙋%🙋🙋%🙋%🙋

Page 7: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Wer nutzt Open Source Software täglich?

Page 8: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Hände hoch, wenn du eine der folgenden Projekte nutzt:

Page 9: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Drupal

Page 10: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Drupal, Wordpress

Page 11: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Drupal, Wordpress, Composer

Page 12: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Drupal, Wordpress, Composer, MariaDB

Page 13: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Drupal, Wordpress, Composer, MariaDB, PostgreSQL

Page 14: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Drupal, Wordpress, Composer, MariaDB, PostgreSQL, Redis

Page 15: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Drupal, Wordpress, Composer, MariaDB, PostgreSQL, Redis, Node.js

Page 16: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Drupal, Wordpress, Composer, MariaDB, PostgreSQL, Redis, Node.js, Nginx

Page 17: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Drupal, Wordpress, Composer, MariaDB, PostgreSQL, Redis, Node.js, Nginx, Apache

Page 18: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Drupal, Wordpress, Composer, MariaDB, PostgreSQL, Redis, Node.js, Nginx, Apache, PHP

Page 19: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Drupal, Wordpress, Composer, MariaDB, PostgreSQL, Redis, Node.js, Nginx, Apache, PHP, Linux

Page 20: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Drupal, Wordpress, Composer, MariaDB, PostgreSQL, Redis, Node.js, Nginx, Apache, PHP, Linux, Android

Page 21: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Sind wir uns einig? Open Source ist überall!

Page 22: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Auch am Easterhegg🥚! VOC, Engelsystem, POC, Pretalx/Schedule, C3Nav 😍

Page 23: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

amazee.io

• Open Source Hosting Platform - Lagoon • 11 Angestellte • Web-Hosting seit ca. 8 Jahren • Webseiten aller Grössen • Remote Team • ~5 verschiedene Zeitzonen • Hosting Angebot in 16 verschiedenen

Ländern • In der „Cloud“ und on-premise

Page 24: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Geständnis: Früher™ habe war viel weniger meiner Arbeit offen.

Page 25: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Wie es dazu kam…

Page 26: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Wie es dazu kam… • Webagentur - Betreibt eigenes Hosting • Alles Handgestrickt • Unzufriedenheit mit anderen

Produkten / Anbietern • Andere Agenturen fragen regelmässig

an „Bei wem Hostet ihr?“ • Lokale Entwicklungsumgebungen als

Test für Neuerungen

Page 27: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Wie es dazu kam…• Vagrant & Chef • Vagrant & Puppet • Neubau der gesamten Infrastruktur mit

Puppet • Webagentur =! Hoster • Wir machen einen Business Case!

Page 28: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Wie es dazu kam… • Flexibilität? • Vagrant frisst viel Speicher und RAM • Docker Container geniessen bei grossen

Projekten ihren Ruhm - Abseits von Netflix und Google verwenden wenige die Technologie

• Docker sieht interessant aus • Wir versuchen mal eine lokale

Entwicklungsumgebung zu bauen

Page 29: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Wie es dazu kam…

• Pygmy - weil Docker noch nicht perfekt ist: • Mehrere Projekte laufen nebeneinander • SSH Keys können sauber eingebunden

werden • Lokaler Mailempfang zum testen von

Mails • Erste Produktive Container mit

Applikationsteilen (Apache Solr oder Kerberos für Single-Sign-On).

• „Lagoon“ wird zum Projektnamen

Pygmy: https://github.com/amazeeio/pygmy

Page 30: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Unser damals grösstes Projekt so: „Wir haben viel Traffic, mehrere Node.js-Frontends und ein Drupal als Backend. Könnt Ihr das auch in Containern?“

Page 31: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

😳

Page 32: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Ja klar! 🧐

Page 33: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Wie es dazu kam… • Anpassungen an Lagoon • Mehr Flexibilität durch Container • Open Source? • Wann, wenn nicht jetzt? • Open Source! • Momentan™ einziger Hoster mit einem

kompletten OpenSource Stack

Page 34: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Lagoon? Was tut das genau?

Page 35: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Einiges!

Page 36: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Okay… nun wirklich:

Local Develop with docker-compose

Lagoon

- Reads docker-compose.yml

- Build Images - Setup Project - Push Images to

Registry - Configure

Resources - Monitor Rollouts

OpenShift / Kubernetes Orchestration

Notifications

Webhooks

Git push

Page 37: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für
Page 38: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Press-Release ist gemacht, Blogpost veröffentlicht, Tweets sind raus!!!111einself

Page 39: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Erzähl, was ist danach geschehen?

Page 40: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für
Page 41: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Aber, AMAZON hat sich gemeldet!

Page 42: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für
Page 43: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Die eigentliche Arbeit beginnt erst

Page 44: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Open Source Mantra: Nicht das Rad neu erfinden…

Page 45: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Nicht das Rad neu erfinden! ●Wenn es ein Open Source Tool gibt,

welches ein Problem löst - Wird dieses Verwendet

Kombiniertes Wissen:

Auf den Schultern von Riesen stehen

Page 46: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Vorteile

●Entwicklungsstatus ist für alle ersichtlich

Page 47: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Vorteile

●Grössere Probleme werden

schneller Sichtbar und werden potentiell schneller behoben.

●Ein Workaround für ein Problem

kann auch anderen Anwendern helfen

●Öffentliche Roadmap

●Ideas Space 🎉 - Feature Requests :

“Könnt ihr Kubernetes?“

●Kollaborativer Umgang für alle

Anwender

Page 48: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Herausforderungen

•Wenn ihr ein Open Source Projekt seid, wieso steht hier überall euer Firmenname?

•SEARCH & REPLACE, done!

Page 49: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Herausforderungen

•Jeder kann zum Projekt beitragen - Nutzer können ein Issue auf Github erstellen oder direkt einen Pull Request mit der Änderung machen.

•Nicht jeder will sich so fest Involvieren (Öffentlicher Bug-Report kann schon eine

Grenze sein)

•Kunden erwarten, dass plötzlich alles Open Source ist (sogar die ganz alten Legacy

Systeme)

Page 50: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Herausforderungen

•Mehr Sorgfalt und Aufmerksamkeit

•Macht diese Änderung Sinn?

•Ist alles sauber Dokumentiert?

•Welche Auswirkungen haben diese Anpassungen?

•Kommunizieren wir die Auswirkungen entsprechend?

Page 51: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Herausforderungen

•Grosse neue Features entwickeln

•Was kostet Open Source Entwicklung?

•Nicht alle von uns betriebenen Plattformen haben die selben Release Zyklen -

Change Advisory Boards etc.

Page 52: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Zwei Jahre offene Entwicklung

Page 53: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

2 Jahre• 605 geschlossene Pull Requests

• 132 offene Issues

• 295 geschlossene Issues 🎉

• 80 ForksEs gibt Leute die einen Fork betreiben!

• Externe Mitwirkende (mehrheitlich von unseren Kunden)

Page 54: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Open Source Mantra: Kein Beitrag ist zu klein - Probleme melden - Meinung zu neuen Features einbringen - Dokumentation

Page 55: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

2 Jahre

• Interesse über unseren Erwartungen

• Kunden suchen komplette Open Source Stacks

• Es ist mehr als nur den Code sehen zu können

• Flexibilität und Möglichkeit es auch auf eigener Infrastruktur zu betreiben

Page 56: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

2 Jahre

• Vertrauen wächst

• Pull Requests kommen nicht nur von unserem Team!

• Weiterentwicklung ist offen

• Neue Mitarbeiter suchen die gerne ihre Zeit in ein Open Source Projekt investieren wollen.

• Öffentliche Hand - Public Money = Public Code

• Mehr als „nur“ Drupal!

Page 57: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Gelerntes

• Gute Dokumentation macht vieles einfacher.

• Change Logs sind wichtig - Prozesse waren nötig.

• Rolling Release versus Versionen

• Vorlagen helfen enorm:

• Pull Request Vorlage

• Issue Vorlage

Page 58: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Open Source Mantra: Etwas ist immer kaputt

Page 59: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Open Source Mantra: Etwas ist immer kaputt Es ist einfach noch nicht perfekt!

Page 60: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Open Source - Umbauen und verbessern

• Neue Technologie

• Konstante Änderung

• Dinge funktionieren, bis sie nicht mehr funktionieren oder an ihre Grenzen stossen.

• Beispiel: Datenbanken in Containern *schauder*

• Änderungen werden nicht immer von allen Nutzern akzeptiert

Page 61: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für
Page 62: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Frage an dich: Können andere von deiner Arbeit profitieren, wenn du diese frei zur Verfügung stellen würdest?

Page 63: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Vielleicht ist dein Code die „Schulter des Riesen“ auf welchem andere Lösungen verwirklichen können.

Page 64: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Danke für eure Aufmerksamkeit!🥚 Bastian Widmer - @dasrecht | @amazeeio

Page 65: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für

Inspiriert? Wir suchen noch Leute! ;-) Bastian Widmer - @dasrecht | @amazeeio

Page 66: Open Source! Wenn dein täglich Brot für jede*n einsehbar istbastianwidmer.ch/slides/2019-04-19_OpenSourceDeinTäglichBrot... · • Lokale Entwicklungsumgebungen als Test für