From 6722f2b9045e164c4c531e94e6a0963272edd82a Mon Sep 17 00:00:00 2001 From: Christian Date: Fri, 15 Mar 2024 12:05:13 +0100 Subject: [PATCH] Add missing notes --- notes/2023-11-22-HackyHour-15.md | 126 ++++++++++++++++++++++++++++++- notes/2024-01-24-HackyHour-16.md | 31 ++++++++ notes/2024-02-28-HackyHour-17.md | 27 +++++++ 3 files changed, 183 insertions(+), 1 deletion(-) create mode 100644 notes/2024-01-24-HackyHour-16.md create mode 100644 notes/2024-02-28-HackyHour-17.md diff --git a/notes/2023-11-22-HackyHour-15.md b/notes/2023-11-22-HackyHour-15.md index 0b7a143..41cb3f1 100644 --- a/notes/2023-11-22-HackyHour-15.md +++ b/notes/2023-11-22-HackyHour-15.md @@ -1 +1,125 @@ -The notes will appear here soon after the event. +# Kubernetes a gentle introduction + +Vortrag von: Burkhard Linke +Bioinformatik Core Facility +DNBI Cloud Architekt +Vertritt sein persönliche Meinung. + +Notizen von: Christian Krippes + +## Was ist Kubernetes +- Ein sehr komplexes System +- Vielfältig; jede Installation kann und wird sich unterscheiden +- Open-Source-Kern +- Anbieter-Plugins für verschiedene Aspekte +- Vier wichtige Entwicklungen hin zu Kubernetes + +## Geschichtsstunde + +Einen Service aufbauen im Jahr 2000: +- Rackplatz im Serverzentrum mieten und Maschine einbauen + - oder Maschine mieten + - IPv4 Adresse erhalten + - Maschine konfigurieren +- Service installieren und konfigurieren +- Updates, Bug-Fixes und Ausfälle handhaben +- Sehr schwer skalierbar +- Ziemlich schwer einen globalen Dienst bereitzustellen + +## Entwicklung 1 - Virtualisierung + +- Günstige Multicore-Prozessoren haben es wirtschaftlich interessant gemacht +- Viele Dienste auf einer physischen Maschine möglich +- Dienste sind voneinander isoliert +- Frühe Performanceverluste heute nahezu gänzlich verschwunden (Paravirtualisierung) +- Gängige Virtualisierungssoftware vmWare,Xen,qemu,bhyve ... + +**Cloud** +- Virtualsierung war grundlage für Cloud - Infrastruktur als Service +- VM mieten -> Nur die Nutzungszeit zahlen +- Hyperscalers (AWS,MS Azure etc.) ermöglichen globale Infrastruktur +--> Es ist jetzt möglich, (virtuelle) Server überall und jederzeit in beliebiger Anzahl und Konfiguration zu erhalten! + +## Entwicklung 2 - Container + +- Nicht wirklich neues Konzept (OpenVZ 2005, lxc 2008) +- Vorläufer chroot, jails, zones ... +- Isolierte Anwendungen +- Verbesserte Sicherheit und Resourcenkontrolle + +**Docker** +- Hat Container handhabbar gemacht und damit populär +- Öffentliches Repo mit vorgefertigten "docker images" + - Eine Anwendung mit all ihren Abhängigkeiten + - Lauffähig unabhängig vom Betriebsystem +- Software in Containern wurde ein beliebtes Produkt +- Standards für Container-Format und Container Build haben zur Verbreitung beigetragen +---> Klassische Software Installation wurde durch Container weitestgehend abgelöst: +Container: Schneller, weniger Fehleranfällig, weniger Abhängigkeitskonflikte + +## Entwicklung 3 - Infrastruktur als Code IaC / DevOps + +- Entwicklungen 1 und 2 ermöglichen mehr und größere Dienste was aber auch mehr Komplexität +mit sich bringt +- Anzahl der virtuellen und baremetal Systeme wächst und macht es schwieriger für den Menschen handhabbar +- Automatisierung notwendig, Server werden vom handgepflegten "Pet" zur einheitlich automatisiert behandelten Massenware +"Cattle". +- Ziel: Reproduzierbare und parametrisierbare Deployments, also Installation & Konfiguration sämtlicher Server und der notwendigen Software die ich für meinen Dienst brauche. +- Unterschiedliche Umgebungen (staging vs. testing) +- IaC ermöglicht automatisierte Tests von Deployments (Unit Test, Integration Test, etc.) +- Änderungsmanagement über Werkzeuge wie bspw. git. +--> Weniger Personen können heute wesentlich größere und komplexere Systeme handhaben + +Infrastruktur als Code meint das die Konfiguration eines Servers als abstrakte Beschreibung (Code) vorliegt +die auf einen oder beliebig viele Server(Cattle) verteilt werden kann. +Siehe auch [HackyHour #10()]/notes/2023-05-24-HackyHour-10.md) in der wir bereits über Ansible gesprochen haben. + +Devops= Developer become Operators (and vice versa). + +## Entwicklung 4 - Nutzer/ "Cloud" / Smartphones +- Wachsende Zahl von Nutzern +- Unterschiedliche Wahrnehmung von Computern +- Dienste "laufen" in der Cloud +- Immer weniger Funktionalität läuft auf dem Gerät des Nutzers +- "Always on" - Hochverfügbarkeit als Anforderung +- Anwendungen werden global vertrieben -> Einfluss auf Lastspitzen +- Neue Dienste (Content-Delivery-Networks, Streaming) + +Herrausforderung: Wie handhaben? + +## Kubernetes + +Kubernetes (häufig abgekürzt mit K8s) ist ein Open-Source-Container +Orchestrierungssystem zur Automatisierung von Softwarebereitstellung, Skalierung und +Verwaltung. (Wikipedia) + +## Kubernetes Design + +- Datenbank von Resourcen Definitionen + - verschachtelte Key->Value Entitäten + - verschiedene Typen für unterschiedliche Entitäten + - Namensräume zur Abgrenzung +- JSON Format zum Import/Export der Definitionen +- API zur Interaktion mit K8s Cluster + +## Helm +- Templating System für K8s Resourcen +- Ermöglicht komplexe Deployments +- _helm chart_ definiert die Komponenten der Anwendung/Service bspw. Chatdienst +- Werden von Entwicklern der Anwendung bereitgestellt +- de-facto Standard für Deployments + +## Schöne neue Welt? + +- Steile Lernkurve! +- Wahnsinnig komplex in großen Deployments +- Konstant Änderungen unterworfen +- Erfordert gute Instandhaltungsstrategie +- Debugging bereitet häufiger starke körperliche Schmerzen +- Daten Backup wird häufig übersehen + +## Zusammenfassung + +- K8s ist ein mächtiges modernes System um Dienste im Sinne von Entwicklung 4 zu handhaben +- Es ist anpassbar und erweiterbar und komplett automatisierbar +- Aber eine Herrausforderung für seinen Administrator \ No newline at end of file diff --git a/notes/2024-01-24-HackyHour-16.md b/notes/2024-01-24-HackyHour-16.md new file mode 100644 index 0000000..14dbc00 --- /dev/null +++ b/notes/2024-01-24-HackyHour-16.md @@ -0,0 +1,31 @@ +## VR Praxis + +- Mareike Büst und Eva Dabrowski vom ["Lab for Innovative Teaching"][lfit]{:target="_blank" rel="noopener"} +- Das Lab ist Teil des "Network for Impactful Digital International Teaching Skills" (NIDIT) +- Das [NIDIT][nidit]{:target="_blank" rel="noopener"} ist ein Verbundprojekt von JLU, Philipps-Universität Marburg und THM +- Ziel Förderung/Aufbau von Kompetenz der Lehrenden im digitalen und internationalen Raum + +**Das Angebot des Labs** +- Inovation in der Lehre unterstützen +- Ausleihe von VR Brillen, Support bei Lehrkonzepten +- Makerspace/Lab arbeiten an Workstations für 3D Arbeiten. +- Training im Umgang mit VR Headset und Technologien +- VR-Use-Case Katalog, Sammlung von Projekten zu VR in der Hochschule.(DACH weit) + +[lfit]: https://www.uni-giessen.de/de/studium/lehre/projekte/nidit/goals/lab +[nidit]: https://www.uni-giessen.de/de/studium/lehre/projekte/nidit + +### Einführung in die VR + +- Vier verschiedene Headsets Pico Neo 4 Enterprise, Meta Quest Pro, Meta Quest 2 + und Meta Qest 3 +- Alle Headsets sind Standalone, arbeiten also ohne externen Rechner. +- Kabelgebundene Headsets dagegen nutzen die Hardware eines Desktopsystems. + + +**Erfahrungen der Teilnehmenden** +- Anatomie Anwendung war sehr spannend. Man kann einzelne Köpersysteme ein/ausblenden und viele +Teile des Körpers "anfassen" und bewegen sowie sich zusätzliche Informationen anzeigen lassen. +- Die Anwendung zur Raumeinrichtung war sehr spannend, weil man die Räume aus der Sicht eines Kindes oder eines Rollstuhlfahrers betrachten und erleben kann. +- Generell ein wichtiger Punkt bei VR, es ermöglicht, ganz neue Perspektiven einzunehmen, die Real nur sehr schwierig zu erreichen sind. +- Allgemein positives Fazit, auch wenn der persönliche Nutzen nicht unbedingt direkt klar ist. \ No newline at end of file diff --git a/notes/2024-02-28-HackyHour-17.md b/notes/2024-02-28-HackyHour-17.md new file mode 100644 index 0000000..df59ed1 --- /dev/null +++ b/notes/2024-02-28-HackyHour-17.md @@ -0,0 +1,27 @@ +## Roboter Arm InMove +- Die Studierenden haben in einem Projekt von Johannes +den Arm des[ InMoov Roboters](https://inmoov.fr/){:target="_blank" rel="noopener"} gedruckt und zusammengebaut. +- Dabei zeigte sich unter anderem, dass die Dokumentation des Projektes leider mäßig bis lückenhaft war. +- Gedruckt wurde in der [UB](https://www.uni-giessen.de/ub/de/lern/ort/spezarb/3ddruck){:target="_blank" rel="noopener"} +- Es gab einige offene Fragen, die in Zusammenarbeit mit dem Makerspace gelöst werden konnten. +Vor allem die Verkabelung der Servomotoren wurde dabei verbessert. + +- Der Arm wird angetrieben durch je einen Servomotor pro Finger. +- Jeder Finger kann sich durch die Servos krümmen. Die Streckung erfolgt über eine Feder im Finger. +- Antrieb des Arms: 6 Servos, je Finger einer und einer für die Rotation der Hand. +- In den Fingern sind je Finger ein Hall-Sensor verbaut. +- Die Fingerkuppen wurden mit Badezimmersilikon nachempfunden, was eher mäßig funktioniert hat. + +- Die Idee ist nun, dass die Studierenden im Rahmen des Projektes die Fähigkeiten des Arms vermessen. + +## KI (mal wieder) +- [Google Media Pipe](https://developers.google.com/mediapipe){:target="_blank" rel="noopener"} Solutions -> Low-Code Machine-Learning für Apps u.ä.; Framework-> Für alle die ihre Anwendung selber schreiben wollen(C++) +- [Mistral](https://mistral.ai/news/announcing-mistral-7b/){:target="_blank" rel="noopener"}, kann lokal auf Gaming-Grafikkarten betrieben werden und erzeugt sehr gute Ergebnisse und ist vorallem ziemlich schnell im Output. +- [Groq Onlinedienst](https://wow.groq.com/){:target="_blank" rel="noopener"} für KI-Modelle aller Art. Gut zum Ausprobieren verschiedener Modelle. Man muss sich aber anmelden. +- [LangChain Framework](https://python.langchain.com/docs/get_started/introduction){:target="_blank" rel="noopener"} ähnlich wie Media Pipe aber für Python. +- ChatGPT bietet jetzt einen Weg spezialisierte Ableger zu basteln, die für +beschränkte Aufgaben taugen. + +## 22 Mai. +Ab 19:30 Uhr Mach-Nacht. +