Wer findet Pi auf dem Kuchen?
Sonntag, 14. März 2021
Montag, 2. November 2020
Was ist Chaos Engineering?
Chaos Engineering ist ein Disziplin um Software zu Testen. Dabei wird das zu untersuchende Software System auf bekannte und unbekannte Fehler getestet. Das Ziel ist es, die Fehlertoleranz oder Robustheit von Software oder Software Systemen zu erhöhen und die Auswirkung von Fehlern zu begrenzen. Gesteht wir in der Regel das Produktionssystem oder äquivalente Produktions-ähnliche Systeme.
Geschichte
Mit dem Aufkommen von verteilten Software-Systemen und anderen komplexen Micro-Service-Systemen war es notwendig, die Zuverlässigkeit dieser Systeme zu erhöhen. Das war die Geburtsstunde des Chaos Testens. Bekanntester Vorreiter war Netflix 2011. Das Chaos Testen ist ein Vorläufer des Chaos Engineerings. Bekanntester Vertreter ist der Chaos Monkey von Netflix. Parallel zu diesen Entwicklungen wurde seit 2013 auch in Deutschland Chaos Engineering eingesetzt (Otto Group).
Systeme
Auswahl:
Literatur
- Casey Rosenthal, Lorin Hochstein, Aaron Blohowiak, Nora Jones, Ali Basiri: Chaos Engineering. Building Confidence in System Behavior through Experiments, O’Reilly Media, Inc, 2017
- Mikolaj Pawlikowski: Chaos Engineering. Site reliability through controlled disruption, Manning Publications, 2021 (angekündigt)
- Laine Campbell, Charity Majors: Database Reliability Engineering, O’Reilly Media, 2107
Links
- Principles of Chaos Engineering
- Validating the resiliency of networked applications
- Infrastructure : quelles méthodes pour s'adapter aux nouvelles architectures Cloud
- Netflix Chaos Monkey Upgraded
- Gremlin raises $18 million to expand 'failure-as-a-service' testing platform
- https://mikro-on-software.blogspot.com
Dienstag, 18. August 2020
Tools die auf keinem Mac von Softwareentwicklern fehlen sollten
- brew
- clamav
- gpg
- docker desktop
- vim o. ä.
- jq
- yq
Mittwoch, 12. August 2020
Welche Tools sollten auf keinem sicheren Mac fehlen.
- ClamAV
- GPG
- Privacy Badger
- TOR
Samstag, 1. August 2020
Java Streams
- Wow, cool
- Welches Problem wird durch Java Streams gelöst.#
- Parallelisierung für lau
Frage: Welches Problem löst Java Streams?
Zusammenfassung:
- Streams sind ein sinnvolles Pattern für die Softwareentwicklung
- Wer Pipes toll fand wird Streams lieben
- Streams sind verzweigungsfrei zu bauen, entsprechende Filter, ggf. Mappings und alternative Streams sind umzusetzen
Samstag, 25. Juli 2020
Video: The Future of Programming von Robert C. Martin
Default Values
- Ein guter Name, der keinen Interpretationsspielraum lässt.
- Less Surprising Value
- Schnellen Programmierern werden leicht übersehen das es sich um den Faktor und nicht die Anzahl der Replikas handelt. So könnte man annehmen das es mindesten ein Replika gibt. Diese Annahme trügt, beim Wert 1 gibt keine Topic Replikation, weil 1 * 1 = 1 ist . Besser wäre wenn das Property nicht Replica-Factor heissen würde sondern Replica-Count. Der Softwareentwickler muss nicht die Hürde der Multiplikation überwinden. Je weniger mentale Barrieren, desto besser.
- Der Wert ist 1, das klingt erstmal gut. Trotzdem würde ich erwarten, das wenn man Kafka einsetzt, das die Replikation aktiv ist und das ist hier nicht der Fall. Besser wäre also hier der Wert 2 als Default Value.

