Guides, Open Source Projects, 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.
π Epic Articles:
- π 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.
π° 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.
π° 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.
πΉ Some Videos to Watch:
- πΉ 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.
π Podcasts to Listen:
β‘ Some Tools to Consider:
- β‘ Load Testing Tool
- β‘ Chef to Automate IT Infrastructure.
- β‘ The Microservice API Gateway.
- β‘ ELK Stack on Docker.
- β‘ Minio - Object Storage Server.
- β‘ Vibora - Asynchronous Python Framework.
- β‘ Zipkin - a Distributed Tracing System.
- β‘ Jaeger - End-to-End Distributed Tracing.
- β‘ Jenkins User Docs.
- β‘ API Desing with Swagger.
- β‘ Celery.
- β‘ Flower.
- β‘ Clickhouse.
- β‘ Orchestrator.
- β‘ Janus.
- β‘ Nomand.
- β‘ Fluentd.
- β‘ Vitess.
- β‘ Eclipse Vert.x.
- β‘ Revive.
π Books to Delve Into:
- π 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.
- π The Pragmatic Programmer.
- π Building Secure & Reliable Systems.