In dieser Woche feierten wir am Donnerstag in der Schwarz Gruppe den Launch der neuen Sparte „Schwarz Digits“, der Zusammenlegung der Digital und IT-Sparten, mit einem außergewöhnlichen Event in einem Freizeitpark (News dazu bei Golem). Ich hatte zum Glück die meisten Artikel schon vor hergeschrieben, sodass ich heute Morgen nur noch 2 weitere News und das Intro zu schreiben hatte .
Im Podcast hatte ich diese Woche in Folge 41 Matthias und Dima von Oscarstories.com zu Gast – einer AI basierten App für individuelle Gute-Nacht-Geschichten. Ihre App gibt es für iOS und Android und in Summe wurden bereits über 10.000 Geschichten mit der App erzeugt. Ich habe im Podcast gelernt, was ein Flughafenberater macht, dass AWS nicht nur die Abkürzung für „Amazon Webservices“ ist und wie man sich selber wieder Coding beibringt, um eine Idee in die Tat umzusetzen. Hör doch gerne mal rein!
37Signals: Update zum Cloud-Exit und Kamal 1.0 Launch
Bei Basecamp / 37signals gibt es auch wieder News – zuerst einmal die „Out of the Cloud“ Celebration, diesmal mit ein paar Finanz-Kennzahlen.
Ohne S3 gerechnet sind die Cloud Kosten aller Produkte bereits von $180.000 im Monat auf unter $80.000 im Monat gefallen. Den Trend kann man in dem angehängten Bild auch schön nachvollziehen. Für 37signals sind das bereits Ersparnisse in Höhe von 1 Mio. Dollar pro Jahr. DHH rechnet vor, dass bis zu 2 Mio. Dollar pro Jahr drin sind – auf 5 Jahre gerechnet (haben sie die Hardware für den Cloud-Exit nun angeschafft).
Natürlich variieren die Zahlen je nach Use-Case und sind nicht 1:1 übertragbar. 37signals hat allerdings auch diverse PaaS Dienste genutzt, wie OpenSearch und Aurora & RDS.
Falls du bei AWS (oder einem anderen Hyperscaler) hostest und eine konstante oder einfach vorhersehbare Workload hast, so hast du sicherlich auch großes Potenzial für Einsparungen an der Ecke.
37signals verwendet für den Betrieb seiner Container auf der eigenen Hardware die selbst-entwickelte Orchestrierungslösung Kamal (ehemals MRSK).
Kamal wurde nun in Release 1.0 veröffentlicht – mit dabei nun „Zero Downtime Deployments“, die Möglichkeit, Assets über verschiedene Versionen einer Applikation zu sharen und die Integration von ENV File Handling, auch mittels extern Secret Storages, wie beispielsweise 1Password.
Datenbanken können als Services eingebunden werden – für die meisten wird das als leichtgewichtige Alternative zu beispielsweise Kubernetes ausreichen.
In einem ca. 20-minütigen YouTube Video stellt DHH das aktuelle Feature-Set von Kamal 1.0 vor und deployed eine Applikation (einfaches Blog) auf mehrere Cloud-Instanzen bei Hetzner Online. Im zweiten Teil balanced er die Applikation auf weitere Infrastruktur bei Digital Ocean.
Kamal selbst ist in Ruby geschrieben, kann aber für das Deployment sämtlicher Docker Container Anwendungen verwendet werden.
Die Dokumentation ist ebenfalls für die 1.0 aufgehübscht worden und beantwortet diverse Fragen vorab.
Our cloud exit has already yielded $1m/year in savings
Komplexität bei Microservices
Der Artikel kritisiert die wachsende Komplexität in der Softwareentwicklungsbranche aufgrund der zunehmenden Verwendung von Microservices. Der Autor, Andrei Taranchenko, stellt die Frage, wie es dazu kam, dass das Hauptziel nicht mehr darin besteht, konkrete Aufgaben zu lösen, sondern stattdessen Geld für die Lösung nicht vorhandener Probleme zu verbrennen.
Taranchenko weist auf den Einfluss von JavaScript, insbesondere NodeJS, auf die Entwicklung von serverseitiger Software hin und kritisiert die dogmatische Denkweise, die sich um bestimmte Software-Ökosysteme bildet. Die Kombination von finanziellen Mitteln, Einflüssen von FAANG-Unternehmen und dem Drang nach Wachstum habe zu einer übermäßigen Nutzung von Microservices geführt.
Im Artikel argumentiert er, dass viele Unternehmen, insbesondere Start-ups, unnötigerweise auf komplexe Microservices-Architekturen umgestiegen sind, anstatt einfachere Systeme zu entwickeln, die leichter zu wachsen und zu pflegen sind. Dabei wird betont, dass nicht alle Unternehmen die massive Größe erreichen, die eine echte verteilte Systemarchitektur erfordert.
Taranchenko unterstreicht, dass viele erfolgreiche Unternehmen, darunter Dropbox, Twitter, Netflix und Instagram, mit Monolithen begonnen haben und diese oft auch heute noch nutzen. Er betont die Wichtigkeit von „Keep It Simple“ und warnt davor, Probleme zu lösen, die noch nicht existieren.
Die Nachteile von Microservices, wie der Verlust von „Don’t Repeat Yourself“ (DRY) Prinzipien, schlechter „Developer Ergonomics“ und Schwierigkeiten bei Integrationstests, werden ebenfalls diskutiert. Der Artikel schließt mit dem Hinweis darauf, dass der Hype um Microservices nachzulassen scheint, und dass Unternehmen zu vernünftigeren Entscheidungen zurückkehren, angesichts der Tatsache, dass nicht jeder ein riesiges Web-Unternehmen ist.
Hat der Hype wirklich nachgelassen? Die Anzahl kritischer Artikel hat jedenfalls zugenommen.
Death by a thousand Microservices
Sponsored
Have your head in the clouds?
Das kann mal passieren! Cloud Computing stellt die Cybersicherheit vor neue Herausforderungen; On-Premise und Cloud wachsen zunehmend zusammen und die Funktionalitäten erweitern sich rasant. Dadurch stellt sich Dir die Frage: Wie sicher ist meine Cloudumgebung eigentlich?
Beim Finden der Antwort, unterstützen wir Dich gerne: Das Cloud Security Assessment von SCHUTZWERK schafft Risikotransparenz und hilft Dir Deine Cloud bestmöglich zu schützen.
👩💼 Professionelle Betrachtung: Mit dem Cloud Security Assessment bieten wir Dir eine umfassende Prüfung, die auch die Anbindung an das Unternehmensnetzwerk und die administrativen Prozesse berücksichtigt.
☁️ Individuelle Bewertung: Wir beginnen das Assessment mit einem Workshop zur Analyse möglicher Bedrohungsszenarien, damit wir unsere Arbeit genau auf Deine Situation abstimmen können.
🔎 Sorgfältige Prüfverfahren: Wir führen sowohl automatisierte als auch manuelle Prüfungen durch, um Deine Cloudumgebung auf Herz und Nieren zu untersuchen.
📄 Umfangreicher Report: Wir liefern Dir einen detaillierten Bericht und konkrete Empfehlungen, um Deine Cloud optimal abzusichern.
Gitness – OpenSource GitHub Alternative released
Die Macher der Observability Plattform AppDynamics hat eine OpenSource GitHub Alternative namens „Gitness“ veröffentlicht.
Für AppDynamics CEO Jyoti Bansal sei der Grund, dass es seit einer Dekade keine neue Alternative zu den bekannten Playern mehr gab. Zudem seit „Git“ ja eigentlich als Open-Source Lösung entstanden, und daran solle man festhalten:
If you look at any of the git repos, whether it’s GitLab or GitHub or Bitbucket, they don’t have the true one source ethos around them anymore. We strongly believe that Git started as open source, so let’s bring the true open-source ethos back to Git repos.”
Gitness selbst ist in Go geschrieben und soll daher sehr schnell sein. Im Vergleich zu anderen Player kannst du Gitness direkt auf deinem Laptop als Docker Container starten – und somit lokal genauso entwickeln, wie du später dein Projekt baust und released. Bei „Harness“, der Firma hinter AppDynamics, hat man schon seit einigen Jahren an Gitness gearbeitet – über 350 interne Entwickler arbeiten bereits damit. Zudem soll gerade der Umstieg von GitHub zu Gitness in 5-10 Minuten möglich sein und man sich schnell zurechtfinden.
Die Landingpage von Gitness schaut auch sehr cool aus – allerdings lässt sie auch noch viele Fragen offen.
Interessanterweise wird das Git Repo von gitness noch auf GitHub gehosted – hat dort aber immerhin schon 28.800 Stars. Das aktuellste Release dort ist die v2.22.0 vom 21. August 2023 – in Summe gibt es schon über 4000 Commits. Daran wird also wirklich schon eine ganze weile gearbeitet.
Harness launches Gitness, an open-source GitHub competitor
Anguilla: 3 Millionen Dollar im Monat mit .ai Domains
Kennst du die Insel Anguilla?
Sie ist britisches Überseegebiet und liegt bei den kleinen Antillen in der Karibik. Die Inseln selbst haben nur schätzungsweise 16.000 Einwohner.
Was sie aber aufgrund des Namens haben, ist das Recht auf die Top-Level-Domain (TLD) .ai – und die kleine Inselkette macht damit aktuell schätzungsweise einen Umsatz von 3 Millionen Dollar. Nicht schlecht für eine Domainendung, oder?
Jedenfalls ist der aktuelle Boom deutlich größer als der Boom damals bei den .co oder .io Domains.
AI high: The island of Anguilla is riding the AI wave
KfW Förderprogramm Portal nicht erreichbar
Am letzten Dienstag (26.9.2023) wurde das KfW Förderprogramm Nummer 442 veröffentlicht. Es winken bis zu 10.600 €, falls man eine neue PV-Anlage, Speicher und Wallbox anschafft. Das Portal war am Dienstag kaum zu erreichen und brach unter dem Ansturm zusammen – schließlich werden die 500 Millionen im „First-Come, First-serve“ Prinzip vergeben.
Alleine das finde ich schon problematisch, man könnte die Frist ja auch auf Ende Oktober setzen und dann zufällig auswählen. Zudem werden viele das Kleingedruckte nicht gelesen haben – mit einem elektrischen Dienstwagen, Leasing Fahrzeug im Nebenerwerb oder ganz ohne vorhandenes Elektroauto ist man beispielsweise ausgeschlossen.
Über den Sinn und Unsinn des Programms kann man sich streiten, über die Nichterreichbarkeit haben sich vermutlich viele aufgeregt.
Jedenfalls hat es mal wieder den Stand der öffentlichen Infrastruktur aufgezeigt. Die Website der KfW war erreichbar (Hosting bei 1&1/Ionos), aber das KfW Portal „meine-kfw.de“ war nicht erreichbar. Zum Zeitpunkt meiner Analyse war dies in Azure gehosted – das zeigt mal wieder, dass man auch Applikationen auch in der Cloud „falschrum halten“ – nicht richtig betreiben kann. Meiner Erfahrung nach passiert das in letzter Zeit sogar häufiger, da die Leute häufig einfach nicht wissen, was die Cloud nun genau ist, was sie automatisch macht und was eben nicht. „OnPremise“ hat man wenigstens noch Leute gehabt, die das verstanden haben.
Ein ähnliches Problem hatte der „Freundschaftspass“ Verkauf, über dessen eklatante Sicherheitslücken ich in Ausgabe 107 berichtet hatte.
Laut einem Artikel bei Spiegel Online wollten über 100.000 Besucher das KfW-Portal in den ersten 3 Stunden besuchen. Bis 18 Uhr seien dann in Summe 190.000 Besuche verzeichnet worden. Bei der ganzen Aktion haben sich 66.000 Benutzer registriert, 23.000 Zusagen habe es bereits gegeben.
In Summe gar nicht mal so viel Besucher – vielleicht nur ein Problem mit der Registrierung selbst?
Vielleicht hätte auch eine einfache Warteschlangen-Lösung geholfen?
Förderprogramm für Photovoltaik: KfW-Portal nicht erreichbar
Cloudflare Waiting Room – Digitale Warteschlange
Als hätte Cloudflare das KfW Debakel geahnt gehabt – einige Tage vor dem Release des neuen KfW Förderprogramm veröffentlichte Cloudflare im hauseigenen Blog einen Artikel zur Erklärung des „Waiting Rooms“ veröffentlicht. Der „Waiting Room“ ist ein Warteschlangensystem, welches in der Regel bei extremen Peaks hilft, Traffic von Webseiten „digital“ zu Queuen.
In der Regel werden solche Seiten bei extremen Peaks verwendet, wenn unter anderem Tickets einer populäreren Band in einem kurzen Zeitfenster verkauft werden, es einen Run auf die ersten „Online-Corona Tests“ gibt oder halt beim Ansturm im Falle des oben genannten KfW Portals.
Solche Systeme können schnell aktiviert werden und verhindern eine eventuell deutlich kostspieligere Optimierung an komplizierten Backend Systemen – gerade bei Ticketsystemen mit Sitzplatzbuchung kann man sich dadurch ein Haufen Stress sparen.
Cloudflare beschreibt nun im Artikel, wie das System genau funktioniert. Kunden können Limits konfigurieren, bei deren Überschreitung das System aktiviert – beispielsweise „new users per Minute oder „total active Users“. Da bei Cloudflare die Worker am Edge für die Funktionalität verwendet werden, benötigt das System zusätzliche interne Dienste, um den aktuellen Status der Edge Nodes mit dem System zu koordinieren („Data Center Counter)“.
How Waiting Room makes queueing decisions on Cloudflare’s highly distributed network
GitLab 16.4 released
Und pünktlich zum 22.9.2023 gab es mal wieder ein neues GitLab Release: Version 16.4!
Vorab aber wichtig: Aktualisiere unbedingt deine älteren Versionen – mit Gitlab 16.3.4 und GitLab 16.2.7 gab es Mitte September noch „Critical Security“ Releases, welche dringend eingespielt werden sollten. Ein Glück, wenn das einfach automatisch passiert
So, und nun die Highlights von Release 16.4:
- In Zukunft kannst du deine Kubernetes Cluster von localhost aus mit deiner Gitlab Identity administrieren
- Webhooks auf Basis von Emoji reactions – haha, das muss dieses Chat/GitOps sein
- Slack Workspace Nachrichten können nun an Gruppen gerichtet werden – cool!
- Im Service Desk kann man nun eine „Custom Email address“ anlegen
- neue E-Mail Accounts, bevor Zugriffe auf Gruppen und Access-Tokens ablaufen
- Für GitLab Ultimate Kunden gibt es viele neuen Features
Wie immer gibt es für 16.5 schon eine Release Page mit Video.
Mit Release 16.6 werden die Releases übrigens auf „den dritten Donnerstag“ im Monat verschoben.
GitLab 16.4 released with customizable roles and group-level dependency list
Schmunzelecke
Wusstest du schon, was „The most copied StackOverflow snippet of all time“ ist und auch, dass die initiale Version einen bug hat?
💡 Link Tipps aus der Open Source Welt
Open Source Vermögensverwaltung
Ghostfolio ist eine moderne und privacy-first Vermögensverwaltung zum selber hosten. Finanziert wird die Entwicklung über das kostenpflichtige Cloud-Angebot, welches mit 24$ im Jahr zu Buche schlägt. Ghostfolio ist mit Angular, NestJS, Prisma & Typescript mit einem modernen Stack entwickelt worden.
Du kannst Ghostfolio mit docker und docker-compose auch selber betreiben – die nötigen Daten werden über das ORM Prisma in PostgreSQL gespeichert.
Zudem gibt es diverse Open-Source Plugins, beispielsweise Importer für diverse Trading Plattformen (Degiro, IBKR, etc.).
Einen Account kannst du online hier direkt erstellen – die Landingpage von Ghostfolio ist ansonsten auch recht schick und einen Blick wert.
https://github.com/ghostfolio/ghostfolio
LotusDB – Open Source Key Value Storage
LotusDB
ist ein in Go geschriebener Key-Value Store analog Redis. Das Projekt ist vor allem in Asien populär und verspricht eine „extremely fast read & write performance“.
Seit einigen Wochen gibt es einen Release 2.0 – Version 1.0 erschien im März 2022 – das Projekt selbst ist also noch relativ jung.