Programming
Page content
System Design, Architecture
Links covering concepts and approaches around Distributed Systems, DevOps, Observability etc.
Architectural Case studies
- Temenos Serverless banking at Scale @ AWS using CQRS leveraging RDS and DynamoDB
- Temenos @ AWS Architecture Diagrams
- Architecture for Generations
- Ubers Domain-Oriented Microservice Architecture
Books on Architecture,Design
- Software Architecture Patterns by Mark Richards
- A comprehensive list of books on Software Architecture.
- Introduction to architecting systems for scale.
Strategies/Approaches
- Serving a billion web requests with boring code
- Professional programming resources
- Rob Pikes 5 Rules of Programming
- Modules, monoliths, and microservices
- The macro problem with Microservices
- Break Monolith into Microservices
- Steps to migrate from Monolith to Microservices
- Distributed architecture concepts I learned while building a large payments system
- Video: Developing Asynchronous Microservices • Chris Richardson
- Collection of Software development Videos
- Slides Managing Data Consistency in Microservices Architecture
- Reliable Microservices Data Exchange With the Outbox Pattern
- Scaling to 100k Users
- Monolith - Modular Approach
- You dont need Microservices
- Event Modelling - Approach
- Ready for changes with Hexagonal Architecture
- How to fix Overloaded Web server
- How gov.uk reliably sends SMS messages using multiple providers
- Rule of thumbs for Architecture Scalability
- About Structure of Design document
- Important Aspects about Circuit breaker from Shopify
- CRDTs for Synchronization
- Asynchronous transaction processing @ Facebook
- Evolutionary Database Design
- Scaling with Common Sense by Zerodha
- Guidelines for Command line interface
- Azure Well-Architected Framework
- Change Data Capture, Strangler fig and Saga Patterns
- Gateway pattern to encapsulate integration with external systems
- Why refactoring?
- OpenFeature - Standardizing Feature Flagging for Everyone
API Development, Security, Cryptography
- Mockoon - Run Mock APIs locally
- Bruno - Opensource IDE For Exploring and Testing Apis
- REST API Guidelines from Microsoft
- Open Source Vulnerability Management
- Equinors API Strategy and Guidelines
- Checklist of Web APIs
- Guidelines for designing better APIs
- API Security Checklist
- Googles API Design Guidelines
- API Design for Serverless Apps
- OWASP - Top Ten Vulnerabilities
- API Security Checklist
- libsodium - Easy to use cryptography
- Schannel in Windows for Strong Ciphers/Cryptography
Training
- Teach yourself Computer Science
- Collection of Video Courses on Computer Science
- Learn by doing - You dont need another MOOC
Distributed Systems
- Build your own (insert technology here)
- Kubernetes for Everyone
- The Service Mesh: What Every Software Engineer Needs to Know about the Worlds Most Over-Hyped Technology
- Very Brief intro to Container Orchestrators
- E-book kubernetes Up & Running
- Class materials for a distributed systems lecture series
- Containers - Training resources
- Distributed Systems Cheat Sheet
- Microservices — architecture nihilism in minimalisms clothes
- Microservices, pl. dont
- Disasters from Microservices world
Automation
- Microsoft Power Automate Desktop - Free Windows 10 Desktop Automation
- Automate the Boring Stuff with Python
- Four bad ways to use RPA
- Data Science at the Command line
- RobotFramework - Open source Test Automation and RPA
- WASP - Windows Automation Snapin for PowerShell
- Web API rate limiting
Tools, Libraries
(
- Collection of TILs (Today I learned)
- Miller - awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON
- Digital services offerings from within European union
- Six things I wish we had known about scaling
- Awesome Design tools
- Regex Repository
- SpiderFoot, the most complete OSINT collection and reconnaissance tool
- Analyze TCP Connections by proxy
- TCP/IP -Why your websites should be 14KB in size
- Cloud Architecture Diagrams
- Free Online Cloud Architecture Diagram Tool
- Online Flowcharts, UML diagrams
- Embeddable charts using DataWrapper
- Figma - Design and prototype builder
- Open source Voice chat
- Zulip - Open source alternative to Slack
- Open source Video Conferencing
- Open network for secure, decentralized communication
- Alternatives for Local Kubernetes development
- Jami - tool for Encrypted Audio/Video calls
- Keycloak - Open source Identity and Access Management
- Ory - Next Gen Identity Management
- Diagram as Code (Python)
- Virtual whiteboard for sketching hand-drawn like diagrams with Collaboration***
- Syncthing - Free, OSS, File synchronization across devices
- Library for Code Scanning Across GO, C#, Java etc.
- Open source Project Management Software
- Blueboat - Serverless infrastructure for On-premise deployment
- Text to Timeline (Gantt) chart
Open source Pipelining, workflows
- Pipelines/workflow frameworks
- Workflow Engines
- List of ETL frameworks
- Streaming frameworks
- Extendable Workflow Automation tool in NodeJS
- Nodered - Low code event driven pipelines
Security
- Definitive guide to key management7
- A deep dive in CyberSecurity
- OWASP ZAP- Free Security Testing for Web Application
- Web Application Security Testing
- Understanding OAuth and OpenID Connect
- OWASP Cheat Sheet Series
- Microsoft App Inspector
- Open Policy Agent - General purpose Policy Engine
- Teler - Tool for Real time HTTP Intrusion detection
- Joern - platform for analyzing source code, bytecode, and binary executables
- Syft - Software Bill of Materials (SBOM) generator for vulnerability scanning
Devops/Monitoring
- Open source Alerts Management
- Trivy - Scanner for vulnerabilities in container images, file systems, and Git repositories, as well as for configuration issues and hard-coded secrets
- Impact of Architecture on DevOps
- Run CI/CD pipeline locally with Dagger
- List of how organizations do SRE (Publicly available)
- Open source API Designer with CI/CD Workflow
- Microsoft Azure - DevOps Checklist
- Hashicorp Waypoint - easy way to build, deploy and release applications
- Zabbix, Time Series Data and TimescaleDB – Zabbix Blog
- PromScale - Observability backend powered by Timescaledb & PostgreSQL
- How to Create and Manage CRON Jobs
- lazydocker - Docker mgmt tool for linux
- What’s in a CI pipeline
- Repository of DevOps Questions n Answers
- Google Incident Response Framework
- Dockerfile Best Practices
- Github Workflow - Test them locally using Act
- Code coverage best practices from Google
- A terminal UI for tshark, inspired by Wireshark
- Developer playbook approach by Hackney council
- Nice content on Ansible
- Performance profiling using Open source Pyroscope Server
- Act - Run Github Actions locally
- Approach to Uptime Guarantees
Observability
- OpenObserve - Elasticsearch/Splunk/Datadog alternative for logs, metrics, traces
- Ntfy - OSS Server + Android App to send & receive notification on Desktop/Android App
- Tips for Analyzing logs
- Decision guide on Tooling
- Prometheus and Cardinality of Metric
- All about Log Aggregation
- Observability in 2022
- Observability @ Cloudflare
- What to Monitor and Metrics to collect for Web App with Background Jobs
- What was observability again?
- Dashboard design best practices
- Infrastructure Monitoring with Postgres
- Tracing, Fast and Slow – roguelynn
- OpenTelemetry in 2023
- Course on using Opentelemetry
- Opentelemetry Overview
- Techniques for Monitoring Web services
- OpenTelemetry, Distributed Tracing, W3c Trace Context
- Tracing at Slack using Kafka
- Distributed tracing covering Client (Mobile App) tracing at slack
- Metrics, tracing, and logging
- Open source infrastructure and application Monitoring
- Opstrace - OSS alternative to Datadog,SignalFX
- Monitoring your own infrastructure using Grafana, InfluxDB, and CollectD
- Tool to extract whitebox monitoring data from application logs for collection in a timeseries database
- Percona Monitoring & Mgmt - Open Source Software for MySQL/MongoDB/PostgreSQL Monitoring
- Monitoring and Observability With USE and RED
- Horizontally scalable storage for Prometheus
- Thanos - Highly available Prometheus setup with long term storage capabilities.
- Monitoring with VictoriaMetrics
- Healthchecks.io -Simple and Effective Cron Job Monitoring
- Decks on Prometheus deep dive, OpenMetrics
- Improving Observability with AWS App Mesh
- Metrics to track for your API
- Details about Cortex vs Thanos, Grafana Loki and Tempo
- Get started with Prometheus, Grafana and loki
- How to build a scalable prometheus architecture
- Introduction to FluentBit - Logs n Metrics Processor
- Distributed tracing vs. Logging
- Identifying disk i/o bottlenecks in Linux
- Signoz - Open Source Opentelemetry based Observability platform
- Centralized logging with Signoz
- What is eBPF & its application in Observability
- Database Reliability Engineering(ebook)
- Distributed tracing using Tempo, OpenTelemetry and Grafana Cloud
- Skywalking - Open source Application Performance Monitoring tool
- HTTP Toolkit - Freemium HTTP Interceptor toolkit
- Comparing Open source log collectors Fluentd, Logstash, Fluentbit
- Observing Network Traffic with Open source tools
Distributed messaging, Streams
- Iggy-persistent message streaming platform written in Rust, supporting QUIC, TCP and HTTP transport protocols, capable of processing millions of messages per second.
- SmoothMQ - Drop-in replacement for SQS With SQlite backend
- Comparison - BlazingMQ, RabbitMQ and Kafka
- Redpanda - Alternative to Kafka, Streaming Platform
- VerneMQ - A distributed MQTT message broker based on Erlang/OTP
- Kafka - Capacity Planning
- Why Kafka Is so Fast
- RabbitMQ vs Kafka - architec tural perspsective
- RabbitMQ vs Kafka
- A comparison between RabbitMQ and Apache Kafka
- Comparing RabbitMQ and Kafka
- Strategies for Working with Message Queues
- All about Queues
- Benefits of Message Queues
- Reasons to use Message Queues
- NSQ - a realtime distributed messaging platform designed to operate at scale
- Kafka Without Zookeeper - A Sneak peak
- Oracle Advanced Queues
- Instrumenting distributed systems for operational visibility
- Microservices Antipattern - Queue Explosion
- Trying out durable, replicated quorum queues in RabbitMQ
- ZeroMQ - Universal Messaging Library
- Comparing Techniques for Communicating Between HTTP Services
Rust
PHP
Email Server
Networking
Nerdy Videos
Real world Architectures
Interview Questions
API
- REST API Best practices
- Comparing API Architectural Styles
- Eventcatalog - Open source tool to document event driven Architectures