#PHPDay – More on Serverless 🤖

More Serverless! After two inspiring days of attending the JSDay, I had the chance to talk about the concepts around the serverless movement and our approach to it at PHPDay. It’s been a while since my last PHPDay/JSDay and the conference is still as welcoming and nice as I had it in my memory. (Just that I completely forgot about the fabulous strong Italian coffee ) Thank you for having me!

Slides:
Resources:

#WAQ18 – Serverless in the new world of web development 🚀

I was given the huge oportunity to talk about serverless and how infrastructure evolves over time at the annual Web à Quebéc. A huge thanks already goes out to the team that organizes the conference. It’s a blast to see so many dedicated people investing their spare time into such a massive conference! Merci a tous!

Slides:

Resources:

Abt. konspirative Verschlüsselung

Soso Verschlüsselung ist ein hochgradig konspiratives Vorgehen, wenn man den deutschen Behörden zuhört:

Die Behörden scheinen Probleme zu haben, an die Informationen der bei Razzien beschlagnahmten Computer zu gelangen. Die Daten waren verschlüsselt und es wurden sichere Mailadressen verwendet. Ob die Rechner inzwischen geknackt wurden, wollte das Innenministerium auf Anfrage der taz nicht bestätigen. Doch bereits den Einsatz von Verschlüsselungstechnologien wertete das BMI als problematisch. Es zeige ein „hochgradig klandestines und konspiratives“ Vorgehen, wie aus der Verbotsverfügung des Innenministeriums hervorgeht.

Quelle – taz.de – Verbot auf dem Prüfstand

Besorgniserregend finde ich, dass jede Verwendung von Verschlüsselungstechnologie als böse und schädlich angesehen wird, sobald Vater Staat die Finger im Spiel hat.

Wer sich bezüglich dem Verbot von linksunten informieren möchte kann sich den Talk All Computers are Beschlagnahmt vom 34C3 gönnen. Da wird alles gesagt das man wissen muss.

Angelesen #50 – Kubernetes and Space!

Sonntagabend, knapp vor acht Uhr: Hier kommen die Links der Woche: Mal schauen, ob ich die wöchentliche Veröffentlichung hinkriege, ich streiche derzeit einfach die Artikel raus, welche mir nach ein paar Tagen missfallen, und versuche so um die 10-15 interessantesten Artikel der Woche drin zu behalten.

Ansonsten gibt es gute Links und Artikel zu allem, was mit Kubernetes zusammenhängt, drüben bei Cloud-Native.

Go Ahead, Millennials, Destroy Us (nytimes.com)

One of my students once asked me, when I was teaching the writing of political op-ed essays, why adults should listen to anything young people had to say about the world. My answer: because they’re afraid of you. They don’t understand you. And they know you’re going to replace them.

That op-ed hits close to home

TunSafe: Experimental WireGuard VPN Client for OSX (tunsafe.com)

This is the web page for the experimental early release of the TunSafe WireGuard Client for OSX. Warning: This is pre-release software. Use at your own risk.

Wireguard for OSX! By far the most advanced VPN Client so far.

European clocks lose six minutes after dispute saps power from electricity grid (theguardian.com)

The continental network had lost 113GWh of energy since mid-January because Kosovo had been using more electricity than it generates. Serbia, which is responsible for balancing Kosovo’s grid, had failed to do so, ENTSO-E said.

113GWh wer zum Teufel braucht so viel Strom!
Ok Witz bei seite, spannend zu sehen wie lange es dauert, bis man rausfindet wo der fehlende Strom herkommt (oder eben nicht). Bleibt nur zu hoffen, dass keine “wichtige” Infrastruktur auch zu billig Produziert wird und auf einen Quarz verzichtet.

How we discovered a database leak in one of the biggest Swiss hosting provider (security.infoteam.ch)

During the development of our new security SaaS, allowing anyone to check the security level of its own servers, we ran tests on one of our own websites. Since the website is hosted by one of the biggest hosting provider in Switzerland, we didn’t expect to find any critical vulnerabilities. It turned out we were wrong.

Very sad to see such neglects at big swiss hosters. But it also shows how important good security processes are.

World-first firing of air-breathing electric thruster (esa.int)

In a world-first, an ESA-led team has built and fired an electric thruster to ingest scarce air molecules from the top of the atmosphere for propellant, opening the way to satellites flying in very low orbits for years on end.

Scheduling in Kubernetes (alexandrutopliceanu.ro)

This process informs about the trade-offs engineers made in the implementations. Knowing a tool’s strengths and weaknesses helps better design systems on top of it; it exposes potential failure modes and helps debug critical errors when they occur. It also reveals brilliant ideas, tricks, patterns and conventions used in production systems.

Interesting walk trough on the k8s scheduling implementation

Volk beerdigt No Billag (tageswoche.ch)

Über Ganz schlechte Verlierer und Noch schlechtere Verlierer

kube-ops-view: Kubernetes Operational View – read-only system dashboard for multiple K8s clusters (github.com)

Goal: provide a common operational picture for multiple Kubernetes clusters.

Render nodes and indicate their overall status (“Ready”)
Show node capacity and resource usage (CPU, memory)

The one tool I’m fanboying now for more than a week. Simply gives me a high-level overview when things hit the fan and the K8s cluster gets out of hand. The only thing that bugs me at the moment is that it’s not really built for nodes that feature a lot of containers 😉

This Glorious Madman Stuffed A Tesla Drivetrain Into A 1981 Honda Accord (jalopnik.com)

While the Teslonda’s main parts came from the Model S, other parts were often bought based on what fit in a given space and still work with the car. They didn’t plan this build so much as put things together and see what fits. Belosic’s final build sheet has a hilarious variety of donor vehicles as a result.

Tesla Drivetrain in a Honda Accord… well why not?

February 28th DDoS Incident Report (githubengineering.com)

Between 17:21 and 17:30 UTC on February 28th we identified and mitigated a significant volumetric DDoS attack. The attack originated from over a thousand different autonomous systems (ASNs) across tens of thousands of unique endpoints. It was an amplification attack using the memcached-based approach described above that peaked at 1.35Tbps via 126.9 million packets per second.

Great Post-Mortem on the 1.35Tbps DDoS which hit Github

Taking a sabbatical changed my life. Here’s why you should do it too (weforum.org)

The problem is that most people do not realize that taking a break is an option and most people do not ask for such things since they assume that the company will not support it. Moreover, in our competitive work environment, we fear we would be ‘left behind’ in the invisible race we are all running in the name of ambition.

An interesting take on sabbaticals

How-to: “Machen wir mal eine Kampagne”

Nein zu No-Billag-Kundgebung in Bern

“Wir brauchen nur eine kleine Webseite, nichts Grossartiges”, hat Lukas Ende November zwischen einem Telefonat und einem Kaffee zu mir gesagt. Die Idee, aktiv etwas gegen die No-Billag-Kampagne zu tun, war geboren. Letztes Wochenende wurde die Initiative mit schallenden 71.6 % „gebodigt“.

Hier soll es aber mal nicht um die Politik selbst gehen, sondern um das, was dahinter steckt. Von verschiedenen Seiten kam mir zu Ohren wie “üh-krass-gross“ das IT-Team der Kampagne sein muss und dass so etwas in Klein gar nicht geht. Daher dachte ich, ich mache einen kurzen Blogpost zu diesem Thema.

Darf ich vorstellen: Ich – das “IT-Team” in Personalunion.


Und ja, es geht in Klein. Wie?

Webseite – Quick and stable

Screenshot - https://meinelieblingssendung.ch/

Ich wollte mich nicht um allzu viel Technologie kümmern (und wenn, um die wichtigen Komponenten der Kampagne). Jekyll sagt mir für einfache Seiten sehr zu und somit habe ich mich dem Cause Theme bedient (und es inzwischen fast komplett ausgehöhlt, auf die neueste Jekyll-Version kompatibel gemacht und einige Teile fast neu geschrieben – that escalated quickly). Rückblickend wäre ich teilweise schneller gewesen, das Ding neu zu schreiben anstatt es zu zer-frankensteinen. Egal.

Eine statische Seite mittels Jekyll zu generieren hat einen Vorteil; wenn viel Traffic kommt, läuft sie immer noch zuverlässig.

Da ich wirklich ungern manuell Markdown-Dokumente pflege, habe ich alles mittels NetlifyCMS und Github aufgebaut. Ebenso damit ich ein halbwegs schönes Editoren-Interface erhalte.

Gehostet wurde das Projekt für lau auf Netlify. Alternativen wären z. B. Surge, Now oder das gute alte S3. Dass ich bei einer Firma arbeite, die das ganze Hosting eigentlich aus dem Stand beherrscht, habe ich bewusst ausser Acht gelassen. Ich wollte schauen, wie die Erfahrung und die Benutzung anderer Dienste sind. Was bei Netlify möglich ist, kriege ich auch direkt mit Lagoon hin. So zumindest mein Resümee nach diesem Experiment.

Übrigens: Im Falle, dass wir doch mehr Traffic erhalten würden als erwartet, hatte ich schon zusätzliche CDN-Lösungen und ein anderes Hosting in der Hinterhand. Dank der statischen Natur von Jekyll-Seiten ist das Umziehen kein Problem.

Bei Netlify gäbe es sogar noch ein Beta-Feature, um Lambda-Funktionen laufen zu lassen. Ich konnte nur gerade keinen Usecase dafür finden. 😉

10 Fahnen, 50 Fahnen, 100 Fahnen, 400 Produkte

Während unseren ersten Diskussionen und der Ausarbeitung der Kampagne sind wir ziemlich zackig bei 50 Fahnen gelandet. Ursprünglich angedacht waren 10. Das hat meine initiale Idee von “Machen wir ein Webformular” ziemlich über den Haufen geworfen. Die Wunderfrage “Was passiert, wenn wir 1000 Bestellungen reinkriegen?” liess doch ein eher unbehagliches Gefühl aufkommen. Relativ schnell war klar, dass der Hauptteil der Kampagne ein Shopsystem mit bezahlung über Kreditkarte und Auftragsverwaltung sein muss. Erneut stand der Grundgedanke im Fokus, die Lösung mit dem geringsten Aufwand zu suchen. Ich landete bei Shopify, das für wenig Geld ziemlich viel Funktionalität bietet. Was uns auch in der Produktion in die Hände spielte da Flagprint, die für uns die Fahnen gedruckt haben, komplett eigenständig den Bestellablauf abhandeln konnten.

Am meisten Zeit wurde allerdings beim Zusammenstellen einer sauberen Spreadsheet-Tabelle aus dem Hause Google versenkt, die jedes Produkt für den ersten grossen Import (etwa 300 Einzelprodukte) in den Shop abbildet. Soviel sei verraten: Hierbei wurde relativ viel Code geschrieben, um alles zu automatisieren.

Spenden / Kreditkartenzahlungen

Das Cause Theme hat schon eine Verbindung zu Donorbox. Und da ich von ihrem Support sehr begeistert bin (sie haben ein Feature über das Wochenende geflickt – einfach so), setze ich gerne auf diese Lösung. Am liebsten hätte ich das Ganze über einen Schweizer Anbieter laufen lassen. Wenn die Zeit aber drängt und man in der Schweiz zunächst einen Vertrag zum Unterschreiben kriegt, erhält eine Lösung, die nach knapp 5 Minuten läuft, den Zuschlag. Einfaches Onboarding gewinnt im Produktgeschäft.

Das Kreditkartenhandling wurde über Stripe direkt abgehandelt und landete beim Kassier auf dem Konto. So geht das!

Aber Herr und Frau Schweizer möchten gerne via Banküberweisung zahlen?! Keine Sorge, auch das wurde von uns angeboten – jedoch nur auf Nachfrage, um den Aufwand tief zu halten.

Und nun?

Die Aktion war spannend und zeigte, mit wie wenig finanziellem Aufwand eine mehr oder weniger grosse Kampagnenseite auf die Beine gestellt werden kann. Das Projekt ist in knapp 2 Wochen entstanden. Vollkommen klar, dass immer und überall noch Luft nach oben bestünde. Ich wurde jedenfalls in meinen Stammcafés bereits mit einem Grinsen begrüsst bevor ich mich jeweils an die Arbeit machte.

Der Grundgedanke, so viel wie möglich zu vereinfachen, hat es mir ohne gross ins Schwitzen zu kommen ermöglicht, mich um die wirklichen Probleme zu kümmern und nicht mit Serverskalierungen beschäftigt zu sein. Zum Beispiel als Ende Dezember noch nicht klar war, wie der Bestellablauf funktionieren wird. Aber um solche Probleme kümmert man sich, wenn sie auftreten. Erst recht als Ein-Mensch-IT-Team.