Releases: oskardudycz/ArchitectureWeekly
15th May 2023
Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, putting pressure on your local government or companies. You can also support Ukraine by donating e.g. to Red Cross, Ukraine humanitarian organisation or donate Ambulances for Ukraine.
Architecture
- Gergely Orosz - Datadog’s $65M/year customer mystery solved
- Motley Fool Transcribing - Datadog (DDOG) Q1 2023 Earnings Call Transcript
- Netflix - Migrating Critical Traffic At Scale with No Downtime — Part 1
- Luca Mezzalira - Microfrontends Anti-Patterns: Seven Years in the Trenches
- Derek Comartin - Avoid batch jobs! Model the future!
- Yan Cui - Is serverless overpriced? What can we learn from the PrimeVideo team?
- Camille Fournier - Avoiding the Rewrite Trap
- Eberhard Wolff - Why You Might Fail with DDD
- Hany Elemary - Customer Experience APIs: The missing layer
- Amy Hupe - How to write sh*t documentation
DevOps
- Natalie Arellano, Aidan Delaney - Customizing Your Buildpacks Build – Yes You Can!
- Google - Autopilot is now GKE’s default mode of operation — here’s what that means for you
Databases
- PostgREST - A standalone web server that turns your PostgreSQL database directly into a RESTful API
- data-diff - Compare tables within or across databases
Java
.NET
- Jake Scott - Deploy a Serverless API Using .NET NativeAOT
- Norm Micro-ORM - High performance micro-ORM database mapper and modernized Dapper replacement for .NET Standard 2.1 and higher
- BlobHelper - BlobHelper is a common, consistent storage interface for Microsoft Azure, Amazon S3, Komodo, Kvpbase, and local filesystem written in C#
- ChatGPT - A ChatGPT C# client for MacOS, Windows, Linux, Android, iOS and Browser. Powered by Avalonia UI framework.
Tools
Coding Life
- Oskar Dudycz - A few notes on running open source project after Marten v6 release
- Mike Melanson - How ‘open’ should your open source be?
Management
Industry
- CNBC - Shopify offloads logistics business to Flexport
- IT Brew - Senate takes action on open-source vulnerabilities in wake of 2022 Log4j attack
- BBC - Ex-Uber security chief sentenced over covering up hack
- The Byte - IBM Replacing 7,800 Human Jobs With AI, Including Human Resources
- Fortune - Leaked email from Microsoft CEO says salaried staff will not get raises this year due to macroeconomic conditions
Security
- SonaType - State of the Software Supply Chain
- Bleeping Computer - Discord discloses data breach after support agent got hacked
Trivia
8th May 2023
Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, putting pressure on your local government or companies. You can also support Ukraine by donating e.g. to Red Cross, Ukraine humanitarian organisation or donate Ambulances for Ukraine.
Architecture
- Amazon Prime Video Tech - Scaling up the Prime Video audio/video monitoring service and reducing costs by 90%
- Adrian Cockcroft - So many bad takes — What is there to learn from the Prime Video microservices to monolith story
- Werner Vogels - Monoliths are not dinosaurs
- James Shore - Rethinking Scaling
- The Jim Rutt Show - Dave Snowden on Managing Complexity in Times of Crisis
- Michelle Ufford - Whoops, the numbers are wrong! Scaling data quality @ Netflix
- Sara Pellegrini, Milan Savić - The aggregate is dead. Long live the aggregate!
- A. Harmel-Law, D. Montalion, M. Rozinsky, G. Thiyagarajan, D. Young - A Commune in the Ivory Tower? - A New Approach to Architecture
DevOps
Databases
- Oskar Dudycz - General strategy for migrating relational data to document-based
- S. Sarkar, N. Dayan, M. Athanassoulis - The LSM Design Space and its Read Optimizations
Frontend
Linux
.NET
- Jeremy D. Miller - Twisting PostgreSQL into a Document Db and Event Store
- Edwin van Wijk - Dapr workshop
- Microsoft - ASP.NET Core Route Tooling Enhancements in .NET 8
- Oren Eini - Fight for every byte it takes series
Node.js
Tools
Coding Life
Management
Security
Industry
- Dylan Patel - Google "We Have No Moat, And Neither Does OpenAI"
- Yahoo - OpenAI Is Losing a Flabbergasting Amount of Money on ChatGPT
- MIT - OpenAI’s hunger for data is coming back to bite it
- ArsTechnica - Warning of AI’s danger, pioneer Geoffrey Hinton quits Google to speak freely
Trivia
1st May 2023
Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, putting pressure on your local government or companies. You can also support Ukraine by donating e.g. to Red Cross, Ukraine humanitarian organisation or donate Ambulances for Ukraine.
Architecture
- The NewStack - Google Cloud Services Hit by Outage in Paris
- Google - Cloud incident status
- DataCenterDynamics - OVHcloud's data center fire: One year on, what do we know?
- Slack - Real-time Messaging
- ThoughtWorks - Technology Radar #28
- WunderGraph - Is GraphQL dying? 2023 Trend Analysis of REST, GraphQL, OpenAPI, SOAP, gRPC and tRPC
- Prequel - SQL Maxis: Why We Ditched RabbitMQ And Replaced It With A Postgres Queue
- Gregor Hohpe - Programming without a stack trace: When abstractions become illusions
- Martin Fowler - FeatureToggle
- Pete Hodgson - Feature Toggles (aka Feature Flags)
- Valerii Udonov - Domain-Driven Design: building the Right thing Right
- InfoQ - EventMesh Serverless Platform Promoted to Apache Top-Level Project
- InfoQ - AWS Updates the Well-Architected Framework
Databases
- Datomic - Datomic is Free
- Turso - Turso is an edge-hosted, distributed database based on libSQL
- libSQL - a fork of SQLite that is both Open Source, and Open Contributions.
Frontend
Testing
- Oskar Dudycz - How to test event-driven projections
- Michael Feathers - Characterization Testing
- Tracetest - Generate end-to-end tests automatically from your traces. For QA, Dev, & Ops.
AI
.NET
- Microsoft - Secure your .NET cloud apps with rootless Linux Containers
- Luce Carter - Zero to Document Hero - Intro to MongoDB and .NET
- Kevin Gosse - Writing a .NET profiler in C# — Part 3
- Christian Nagel - Web API Updates with .NET 8
Tools
- Motion Canvas - Visualize Complex Ideas Programmatically
- Mega-Linter - analyzes 50 languages, 22 formats, 21 tooling formats, excessive copy-pastes, spelling mistakes and security issues in your repository sources with a GitHub Action, other CI tools or locally.
WebAssembly
Coding Life
Industry
Security
24th April 2023
Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, putting pressure on your local government or companies. You can also support Ukraine by donating e.g. to Red Cross, Ukraine humanitarian organisation or donate Ambulances for Ukraine.
Architecture
- Slack - Technology Lifecycle
- Sam Rose - Load Balancing
- Paulius Jurcys - What is the Value of Your Data?
- Dan Bergh Johnsson - The Power of Value - Power Use of Value Objects in Domain Driven Design
- James Hickey - DDD Aggregates: Consistency Boundary
- Amin Khansari - A Migration Journey
- Tobias Mende - The Inverse Conway Manoeuvre in Existing Systems – It does not work!
- JSON Schema Store - A collection of JSON schema files including full API
DevOps
- The NewStack - Survey Shows Companies Moving away from DIY Kubernetes
- Open Telemetry - Announcing the Elastic Common Schema (ECS) and OpenTelemetry Semantic Convention Convergence
Databases
- dbdev: PostgreSQL Package Manager
- SupaBase - Supabase Wrappers, a Postgres FDW framework written in Rust
Frontend
Testing
AI
- AWS - Announcing New Tools for Building with Generative AI on AWS
- Semantic Kernel - Integrate cutting-edge LLM technology quickly and easily into your apps
- Danah Boyd - Resisting Deterministic Thinking
Azure
Java
- Gunnar Morling - Getting Started With Java Development in 2023 — An Opinionated Guide
- Roni Dover - Not Your Grandfather’s Logs — A Java Library’s New Approach To Observability
JavaScript
.NET
- Oskar Dudycz - Publishing read model changes from Marten
- VaultSharp - A comprehensive cross-platform .NET Library for HashiCorp's Vault
- DistributedLock - A .NET library for distributed synchronization
- João Antunes - Contract first OpenAPI development (but still use Swagger UI with ASP.NET Core)
- AWS - AWS Microservice Extractor for .NET
Tools
Management
Industry
17th April 2023
Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, putting pressure on your local government or companies. You can also support Ukraine by donating e.g. to Red Cross, Ukraine humanitarian organisation or donate Ambulances for Ukraine.
Architecture
- Vladik Khononov - The Fractal Geometry of Software Design
- Uber - Revolutionizing Money Movements at Scale with Strong Data Consistency
- InfoQ - Software Architecture and Design InfoQ Trends Report - April 2023
- CoRecursive Podcast - JSON vs XML With Douglas Crockford
DevOps
- Last Week in AWS - LocalStack: Why Local Development for Cloud Workloads Makes Sense
- Swyx - The End of Localhost
- CNCF - Platforms White Paper
Databases
- Oskar Dudycz - Postgres Superpowers in Practice
- Alex Chi - LSM in a Week - A tutorial of building an LSM-Tree storage engine in a week!
- Lokhesh Ujhoodha - You can now run Machine Learning on EventStoreDB through MindsDB
Frontend
AI
- Zach Blumenfeld - Graph Machine Learning: An Overview
- Microsoft - JARVIS - a system to connect LLMs with ML community
- Multiplex - How You Can Install A ChatGPT-like Personal AI On Your Own Computer And Run It With No Internet.
- Auto-GPT - An experimental open-source attempt to make GPT-4 fully autonomous
AWS
- Alexander Butt-Piercey - Event Sourcing with Ruby and AWS Serverless Technologies - Part One: Design
- Yan Cui - Return large objects with AWS Lambda’s new Streaming Response
- Serverless Spy - CDK-based library for writing elegant, fast-executing integration tests on AWS serverless architecture and an additional web console to monitor events in real time
Azure
Java
- Tobi Ajila - Rapid Startup of Your Cloud-Native Java Applications without Compromise
- Inside Java - JDK 20 - Sip of Java
- Devoxx - Java Developer Roadmap
.NET
- Microsoft - Check out new C# 12 preview features!
- NetArchTest - A fluent API for .Net that can enforce architectural rules in unit tests
- Stephen Cleary - Structured concurrency support for C#
- Microsoft - Get started with OpenAI in .NET
Management
Industry
- Comprehensive - How much are tech companies paying for talent?
- The Washington Post - Twitter targets its rival Substack, forcing well-known journalists to choose
Security
- Auth0 - Zanzibar Academy - A Globally Distributed Authorization System
- OpenFGA - Relationship-based access control made fast, scalable, and easy to use
- The Washington Post - Discord member details how documents leaked from closed chat group
- Zero Day - Leaked Pentagon Document Claims Russian Hacktivists Breached Canadian Gas Pipeline Company
- Business Today - Samsung employees accidentally leaked company secrets via ChatGPT: Here’s what happened
10th April 2023
Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, putting pressure on your local government or companies. You can also support Ukraine by donating e.g. to Red Cross, Ukraine humanitarian organisation or donate Ambulances for Ukraine.
Architecture
- Oskar Dudycz - Event stores are key-value databases, and why that matters
- Justin Smith - The Three R’s of Enterprise Security: Rotate, Repave, and Repair
- Giridhar Manepalli - Clocks and Causality - Ordering Events in Distributed Systems
- George Ball - Billions of Messages Per Minute Over TCP/IP
- Raphael Moutard - GraphQL: From Excitement to Deception
- Lutz Huehnken - Events, Workflows, Sagas? Keep Your Event-driven Architecture Sane
- Weronika Łabaj - To DDD or not to DDD? Domain modelling case study
- Ivan Garcia Sainz-Aja - API-First with AsyncAPI
DevOps
- Cloudflare - How Cloudflare runs Prometheus at scale
- Slack - Tracing Notifications
- The NewStack - Platform Engineering Is Not about Building Fancy UIs
- Nigel Poulton - WebAssembly on Kubernetes: everything you need to know
- kustomize - lets you customize raw, template-free YAML files for multiple purposes, leaving the original YAML untouched and usable as is
- Alex Soto - Article Series: Developing Apache Kafka applications on Kubernetes
Databases
- Philipp Krenn - Elasticsearch Under the Hood
- Supabase - Postgres WASM by Snaplet and Supabase
- Paul Ramsey - Generate Unlimited Crypto Using Postgres!
Frontend
AWS
.NET
- Jeremy D. Miller - Compound Handlers in Wolverine
- CliWrap - Library for running command-line processes
- Shawn Shi - Optimizing Long-Running Tasks with Background Services and SignalR Notifications
- Jeremy Likness - Improvements to auth and identity in ASP.NET Core 8
Scala
TypeScript
- Matt Pocock - Typescript Generics Workshop
- tRPC - Move fast and break nothing. End-to-end typesafe APIs made easy
Coding Life
- Martin Fowler - Slack
- Randall Koutnik - Implementers, Solvers, and Finders
- Gergerly Orosz - How to write an effective developer resume: Advice from a hiring manager
Industry
Security
3rd April 2023
Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, putting pressure on your local government or companies. You can also support Ukraine by donating e.g. to Red Cross, Ukraine humanitarian organisation or donate Ambulances for Ukraine.
Architecture
- Scott Mansfield - Caching at Netflix: The Hidden Microservice
- Troy Hunt - To Infinity and Beyond, with Cloudflare Cache Reserve
- Grygoriy Gonchar - A Simple Framework for Architectural Decisions
- IcePanel - Architecture decision records (ADRs)
- Microsoft - Microsoft Teams: Advantages of the new architecture
- Zalando - Tech Radar
- Charity Majors - Architects, Anti-Patterns, and Organizational Fuckery
Databases
- Google - Run AlloyDB anywhere - in your data center, your laptop, or in any cloud
- Citus - Distributed PostgreSQL as an extension
DevOps
Testing
- Kamil Grzybek - Automated Tests: The Why
- Chelsea Troy - Testing: A Heuristic Hunting Conversation with Rebecca Wirfs-Brock
API
Frontend
- Kent C. Dodds - React Server Components with Dan Abramov, Joe Savona
- The Prime Time - React is Holding Me Hostage!!!
AI
- Oskar Dudycz - ChatGPT, revolution or not?
- ZeroHedge - Italy Bans OpenAI's ChatGPT Over Privacy Concerns
- TechCrunch - Microsoft lays off an ethical AI team as it doubles down on OpenAI
AWS
.NET
- Adam Furmanek - Implementing async with coroutines and fibers - project Loom in C#
- Conner Phillis - Sequential GUIDs in Entity Framework Core Might Not Be Sequential
- Microsoft - API to provide the current system time
- Cezary Piątek - WireMock.NET - Introduction
Coding Life
- Joel Spolsky - Things You Should Never Do, Part I
- Nick Brown - The many flaws of flow efficiency
- Alexander Zeitler - I'm printing out websites - and why you might want to do it too
Management
Security
27th March 2023
Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, putting pressure on your local government or companies. You can also support Ukraine by donating e.g. to Red Cross, Ukraine humanitarian organisation or donate Ambulances for Ukraine.
Architecture
- Kevin Grüneberg - Migrating 125.000 users from Auth0 to Supabase
- Vladik Khononov - Untangling Microservices, or Balancing Complexity in Distributed Systems
- Derek Comartin - The Challenge of Microservices: UI Composition
- George Candea, Armando Fox - Crash-Only Software
- Ryan Marsh - Event Storm to Production Supergraph: a Domain-Driven Design Approach to GraphQL
- Rocco Scaramuzzi - Event-Driven Microservice Architecture, don’t use only events but use commands too!
- Tomek Stolarczyk - Design Level Event Storming with examples!
- Artur Wojnar - Why make a decomposition of the monolith database?
- The TOGAF standard - a framework for Enterprise Architecture
DevOps
- Docker - We apologize. We did a terrible job announcing the end of Docker Free Teams.
- Alex Ellis - Docker is deleting Open Source organisations - what you need to know
- John Reilly - Lighthouse meet GitHub Actions
- GitHub - We updated our RSA SSH host key
Frontend
AI
- Stephen Wolfram - What Is ChatGPT Doing … and Why Does It Work?
- The Verge - OpenAI co-founder on company’s past approach to openly sharing research: ‘We were wrong’
- Ted Neward - AI-generated Applications
- David Boyne - Implementing an event-driven serverless story generation application with ChatGPT and DALL-E
- GitHub - GitHub Copilot X: The AI-powered developer experience
.NET
- Oskar Dudycz - Ensuring uniqueness in Marten event store
- Steve Sanderson - DotNetIsolator: an experimental package for running .NET code in an isolated sandbox
- Meysam Hadeli - Problem Details in .Net 7
- Andrew Lock - Understanding the .NET ecosystem: The evolution of .NET into .NET 7
Node.js
- LogRocket - WebSockets tutorial: How to go real-time with Node and React
- Jamie Munro - How to Make a Real-Time Sports Application Using Node.js
- Node Distributed Lock - Enables distributed locking for sequencing actions across node applications
- Colin Diesh - You may not need a bundler for your NPM library
WebAssembly
Coding Life
Management
- Jeff Paton - The New User Story Backlog is a Map
- Brent M. Jensen - The Combined Engineering Software Model
Trivia
20th March 2023
Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, putting pressure on your local government or companies. You can also support Ukraine by donating e.g. to Red Cross, Ukraine humanitarian organisation or donate Ambulances for Ukraine.
Architecture
- Levels.fyi - How Levels.fyi scaled to millions of users with Google Sheets as a backend
- Patrick McKenzie - The infrastructure behind ATMs
- Jacopo Romei - EventStorming from the trenches
- Barry O'Reilly - An Introduction to Residuality Theory
- StackOverflow Blog - After the buzz fades: What our data tells us about emerging technology sentiment
- Paolo Banfi - EventSourcing & CQRS: a light introduction
Databases
- Gunnar Morling - The Wonders of Postgres Logical Decoding Messages
- Gwen Shapira - Things DBs Don't Do - But Should
- Philip O'Toole - 9 years of open-source database development
DevOps
Testing
AI
- Google - A new era for AI and Google Workspace
- InfoQ - Google AI Updates Universal Speech Model to Scale Automatic Speech Recognition beyond 100 Languages
AWS
- Zied Ben Tahar - Building an AI powered and Serverless meal planner with OpenAI, AWS Step functions, AWS Lambda and CDK
- AWS - EKS Workshop - Practical exercises to learn about Amazon Elastic Kubernetes Service
JavaScript
.NET
- Oskar Dudycz - Projecting Marten events to Elasticsearch
- Stephen Toub - How Async/Await Really Works in C#
- João Antunes - Mapping ASP.NET Core minimal API endpoints with C# source generators
- Steve Gordon - An Introduction to Elasticsearch for .NET Developers
- Steven Giesel - How to write your own cron Job scheduler in ASP.NET Core (like Quartz, Hangfire, ...)
TypeScript
Coding Life
Management
- Aino Corry - Retrospectives Antipatterns
- Trond Hjorteland - Sociotechnical Systems Design for the “Digital Coal Mines”
- Harvard Business Review - How Chinese Companies Are Reinventing Management
Industry
13th March 2023
Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, putting pressure on your local government or companies. You can also support Ukraine by donating e.g. to Red Cross, Ukraine humanitarian organisation or donate Ambulances for Ukraine.
Architecture
- Oskar Dudycz - How to model event-sourced systems efficiently
- Natan Silnitsky - How Wix Accelerated Open Platform Dev with Standardized APIs & Schemas
- Joel Spolsky - The Law of Leaky Abstractions
- Greg Young - The Bizarre Mating Ritual Of The Whipnose Seadevil
- Richard I. Cook - How Complex Systems Fail
- Michael Feathers - Unconditional Code
- The New Stack - How Discord Migrated Trillions of Messages to ScyllaDB
- Discord - How Discord Supercharges Network Disks for Extreme Low Latency
- Discord - How Discord Stores Billions of Messages
- Manas Chaudhari, Piyush Gupta - Building Pubsub for 50M concurrent socket connections
- Fran Mendez - Designing Event-Driven Architectures Using the AsyncAPI Specification
- checkcheckzz - System design interview for IT companies
API
AI
AWS
Java
.NET
- Oskar Dudycz - How to handle multiple commands in the same transaction
- Stephen Cleary - There Is No Thread
- LEGO - The AsyncAPI.NET SDK contains a useful object model for AsyncAPI documents in .NET
- Damian Edwards, David Fowler - Why your ASP.NET Core application won't scale
Node.js
Scala
TypeScript
Coding Life
Management
Industry
- Lian Buan - Insidious, expensive: The massive, hidden cost of keeping women offline
- The Verge - Microsoft makes Outlook for Mac free to use
- XDA - HP blocks third-party ink with new firmware update