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

Post on 25-Sep-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

🍳 Easterhegg 2019 #eh19, Wien

Bastian Widmer - @dasrecht | @amazeeio

$> 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…

$> 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

● 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

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

🙋%🙋%🙋🙋%🙋%🙋

Wer nutzt Open Source Software täglich?

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

Drupal

Drupal, Wordpress

Drupal, Wordpress, Composer

Drupal, Wordpress, Composer, MariaDB

Drupal, Wordpress, Composer, MariaDB, PostgreSQL

Drupal, Wordpress, Composer, MariaDB, PostgreSQL, Redis

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

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

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

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

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

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

Sind wir uns einig? Open Source ist überall!

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

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

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

Wie es dazu kam…

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

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

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

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

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

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?“

😳

Ja klar! 🧐

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

Lagoon? Was tut das genau?

Einiges!

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

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

Erzähl, was ist danach geschehen?

Aber, AMAZON hat sich gemeldet!

Die eigentliche Arbeit beginnt erst

Open Source Mantra: Nicht das Rad neu erfinden…

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

Vorteile

●Entwicklungsstatus ist für alle ersichtlich

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

Herausforderungen

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

•SEARCH & REPLACE, done!

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)

Herausforderungen

•Mehr Sorgfalt und Aufmerksamkeit

•Macht diese Änderung Sinn?

•Ist alles sauber Dokumentiert?

•Welche Auswirkungen haben diese Anpassungen?

•Kommunizieren wir die Auswirkungen entsprechend?

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.

Zwei Jahre offene Entwicklung

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)

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

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

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!

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

Open Source Mantra: Etwas ist immer kaputt

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

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

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

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

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

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

top related