Guides, Articles, Podcasts, Videos and Notes to Build Reliable Large-Scale Distributed Systems.
๐ฎ Guides:
- Scaling Web Applications with NGINX, Part 1: Load Balancing.
- Running Nginx as Web Server/Reverse Proxy for Python Apps.
- Running Nginx as Web Server/Reverse Proxy for PHP Apps.
- How To Install LEMP stack on Ubuntu 18.04.
- Manage Log Files with logrotate on Ubuntu.
- Stack Overflow: The Architecture - 2016 Edition.
- Automate and abstract: Lessons from Facebook on engineering for scale.
- How To Install Prometheus on Ubuntu 16.04.
- How To Create a Kubernetes 1.10 Cluster Using Kubeadm on Ubuntu 16.04.
- How to Install Kubernetes on Ubuntu 18.04 Bionic Beaver Linux.
- Container Tutorials.
- Microservices by Martin Fowler.
- How To Install Jenkins on Ubuntu 18.04.
- Object Storage vs. Block Storage Services.
- System Design Primer.
- Sharding Pinterest: How we scaled our MySQL fleet.
- How To Configure a Galera Cluster with MariaDB on Ubuntu 18.04 Servers.
- Modernizing Applications for Kubernetes.
- How to Set Up an NFS Mount on Ubuntu 18.04.
- Setting Up LXD 16.04.
- Setting Up LXD 16.04.
- Securing Ubuntu VPS with Linux Firewall.
- How To Create a Multi-Node MySQL Cluster on Ubuntu 18.04.
- How To Migrate a Docker Compose Workflow to Kubernetes.
- Scaling Django to 8 Billion Page Views.
- Configure Zabbix to Securely Monitor Remote Servers on Ubuntu 18.04.
- Troubleshoot Issues in MySQL.
- Install And Configure QEMU In Ubuntu.
- Introducing go-qemu and go-libvirt.
- Orchestrator at GitHub.
- Containers from Scratch.
- How To Configure BIND as a Private Network DNS Server on Ubuntu 18.04.
- How To Deploy and Manage Your DNS using DNSControl on Ubuntu 18.04.
- Take OpenTracing for a HotROD ride.
- Monitoring, Microservices, Self-Healing and the Connection to โAntiFragileโ Systems.
- How to break a Monolith into Microservices.
- Refactoring Module Dependencies.
- Fast and flexible observability with canonical log lines.
- Container Ready Applications with Twelve-Factor App and Microservices Architecture.
- How To Setup a etcd Cluster.
- Unicode and Character Sets.
- Customizing Go Binaries with Build Tags.
- Uber Go Guide.
- How Sharding Works.
- The Vert.x Worker Model.
- An Overview of Go's Tooling.
- Logging Levels.
- Hacker Laws.
- The actor model in 10 minutes.
- RabbitMQ Exchanges, routing keys and bindings.
- Consistent Hashing - An Efficient & Scalable Data Distribution Algorithm.
- K8S CSI Developer Documentation.
- Kafka Cluster Connect
- An Introduction to Networking Terminology, Interfaces, and Protocols.
- Understanding IP Addresses, Subnets, and CIDR Notation for Networking.
- Functools - The Power of Higher-Order Functions in Python
๐ฎ Articles:
- Are You a Doer or a Talker?
- How to Manage Technical Debt.
- In Pursuit of Production Minimalism.
- The Netflix Simian Army.
- Strangler Fig Application.
- 12 Factor.
- 12 Design Principles.
- Modern Software Over-Engineering Mistakes.
- Technical Debt Is Like Tetris.
- Write code thatโs easy to delete, and easy to debug too.
- Semantic Import Versioning (Go & Versioning).
- Making sense of MVP.
- You've only added two lines.
- (A few) Ops Lessons We All Learn The Hard Way.
- Cloud Design Patterns.
- Python & Async Simplified.
- Modules, monoliths, and microservices.
- Principles of Chaos Engineering.
- Decouple your Symfony application using Domain Events.
- Circuit Breaker pattern.
- The Broken Window Theory.
- The Service Mesh Manifesto
- Building Blocks of TCP
๐ฎ System Capacity:
๐ฎ Engineering Blogs:
- 8thlight Blog.
- Quora Engineering.
- Reddit Engineering.
- Shopify Engineering.
- Slack Engineering Blog.
- Spotify Labs.
- Twitter Engineering.
- Yelp Engineering Blog.
- YouTube Engineering and Developers Blog.
- Import.io Blog.
- Instagram Engineering.
- LinkedIn Engineering Blog.
- Medium Engineering.
- Mixpanel Blog.
- Netflix Tech Blog.
- Pinterest Engineering.
- Airbnb Engineering and Data Science.
- Booking.com Tech Blog.
- Dropbox Tech Blog.
- eBay Tech Blog.
- Etsy Code as Craft.
- Stripe Engineering.
- Semaphore CI.
- Tailscale.
- AWS Builders.
- Changelog.
- Reddit.
- IBM Developer.
- Digitalocean Tutorials.
- Digitalocean Tech Talks.
- Monzo Technology
๐ฎ Personal Blogs:
- Brandur Blog.
- Martin fowler Blog.
- Programming is Terrible.
- Joel on Software.
- Derek Sivers.
- Coding Horror.
- Yourbasic.
- Simple is better than complex.
- Neil on Software.
- Netmeister.
- Understand Legacy Code.
- The Modern JavaScript Tutorial.
- Learning Rust.
- Tutorial Works.
- High Performance Browser Networking.
๐ฎ Awesome List:
๐ฎ Videos:
- dot Conferences.
- Hatch Talk Series: Three Startup Failures... And The Success That Made Up For It All.
- Scaling Instagram.
- Servers For Hackers.
- Microservices at Squarespace - Doug Jones and Kevin Lynch.
- Microservices.com Practitioner Summit 2017.
- Jaeger: Distributed Tracing at Uber.
- Strangling the Monolith
- The Role of Catastrophic Failure in Software Design.
- What is the event loop anyway?
- Observability 3 ways logging metrics tracing.
- Breaking Things on Purpose.
- Creating event-driven microservices: the why, how and what by Katherine Stanley
- Building Streaming Microservices with Apache Kafka
- Hashicorp Learn
- The Soul of Erlang and Elixir
๐ฎ Podcasts:
๐ฎ Books:
- The Pragmatic Programmer
- Building Microservices: Designing Fine-Grained Systems
- Microservice Architecture: Aligning Principles, Practices, and Culture
- Site Reliability Engineering & The Site Reliability Workbook
- Search Engine Optimization (SEO)
- Clean Code
- Clean Architecture
- Software Engineering at Google: Lessons Learned from Programming Over Time
- Building Secure & Reliable Systems
- Designing Data Intensive Applications
- High Performance Browser Networking