This pandect (πανδέκτης is Ancient Greek for encyclopedia) was created to help you find and understand almost anything related to Microservices that is available online.
Note Quick legend on available resource types:
⭐ - GitHub repository with the number of stars
📙 - resource you can read, usually a blog post or a paper
🗂️ - a collection of additional resources
🔱 - non-open source tool, framework or paid service
🎥️ - a resource you can watch
🎙️ - a resource you can listen to
📇 Main Section | 🗃️ Sub-sections Sample |
---|---|
Essential Reading | General Resources, Platforms |
Podcasts | - |
YouTube Channels | - |
Observability | Alerting, Visualizing |
Deployment | General Tools, CI/CD |
Cost Optimization | - |
Stateful Workloads | - |
Serverless | Tools and Frameworks |
Security | - |
Learning Resources | Kubernetes, DevOps |
Infrastructure as Code | - |
Other Topics | Streaming, Testing |
- 📙 Microservices (Martin Fawler & James Lewis) [Blog, March 2014]
- 📙 What are Microservices? - Chris Richardson, Author of "Microservices Patterns"
- 📙 The Architecture Behind A One-Person Tech Startup [Blog, April 2021]
- 📙 Fallacies of Distributed Systems [Blog, June 2022]
- 🔱 AWS - Amazon Web Services on-demand cloud computing platform
- 🔱 Azure - cloud computing service created by Microsoft
- 🔱 Google Cloud Platform - GCP - suite of cloud computing services from Google
- 🔱 OpenStack - free, open standard cloud computing platform
- 🔱 Digital Ocean - DigitalOcean provides developers with cloud services
- 🔱 Linode - cloud hosting company that provides virtual private servers
- 🔱 Okteto - tool to develop applications on Kubernetes
- 📙 Kubernetes Failure Stories
- ⭐ How they AWS - curated collection of resources on how organizations use AWS [GitHub, 574 stars]
- 🎥️ This is My Architecture - Innovative cloud architectures from AWS partners and customers [Video Series, AWS]
- 🗂 Cloud Native Computing Foundation - CNCF - list of graduated and incubating projects
- 🗂 Everything AWS - GitHub search and catalogue of AWS-related repositories
- ⭐ Containers Roadmap - public roadmap for AWS container services [GitHub, 4684 stars]
- 📙 Monolithic to Microservices [Blog, June 2021]
- ⭐ CNCF Projects App - project example created with only CNCF graduated projects [GitHub, 143 stars]
🔙 Back to the Table of Contents
- 🎙️ Cloudcast - independent Cloud Computing podcast [Years: 2011 - now, Status: active]
- 🎙️ PodCTL - podcast focused on Cloud-native applications (by Red Hat) [Years: 2017 - now, Status: active]
- 🎙️ Kubernetes Podcast - Kubernetes Podcast from Google [Years: 2018 - now, Status: active]
- 🎙️ Data Engineering Podcast - Data management, microservices, ETL and more [Years: 2017 - now, Status: active]
- 🎙️ The Secure Developer - A podcast about security for developers [Years: 2017 - now, Status: active]
- 🎙️ APIs you won't hate - podcast about building and designing APIs [Years: 2019 - now, Status: active]
- 🎥 Continuous Delivery - Continuous Delivery Pipelines and Processes [Youtube, 57k Subscribers]
- 🎥 CNCF - Cloud Native Computing Foundation - provides educational and informative content on cloud native computing [Youtube, 65k Subscribers]
- 🎥 Snyk - build cloud native applications securely [Youtube, 2k Subscribers]
- 🎥 CloudBeesTV - cloud conferences from the end-to-end automated software delivery company [Youtube, 9k Subscribers]
- 🎥 Containers from the Couch - learning resources on Container Services [Youtube, 4k Subscribers]
- 🎥 GOTO Conferences - GOTO is a software development content and events platform [Youtube, 230k Subscribers]
🔙 Back to the Table of Contents
- ⭐ Prometheus - open-source systems monitoring and alerting toolkit
- ⭐ Prometheus Federation
- ⭐ kubewatch - Watch k8s events and trigger Handlers [GitHub, 2416 stars]
- ⭐ cortex - multi-tenant, long term Prometheus [GitHub, 4910 stars]
- 🔱 Sentry
- ⭐ Prometheus AlertManager
- ⭐ StreamAlert - serverless, real-time data analysis framework for alerting [GitHub, 2732 stars]
- ⭐ loki - horizontally-scalable, highly-available, multi-tenant log aggregation system [GitHub, 17580 stars]
- ⭐ grafana - observability and data visualization platform [GitHub, 52288 stars]
🔙 Back to the Table of Contents
- ⭐ kubespray - Deploy a Production Ready Kubernetes Cluster [GitHub, 13125 stars]
There are industry proven strategies to make sure your deploys don't cause any downtime.
- 𝐁𝐥𝐮𝐞/𝐆𝐫𝐞𝐞𝐧 𝐃𝐞𝐩𝐥𝐨𝐲𝐬 - deploy your change to a subset of nodes and redirect some traffic to them, while still using the old version for the remaining traffic. Once you have validated that the traffic to the new nodes is correct, take out the nodes with the old version and redirect all of your requests to new nodes. Power down nodes with the old version.
- 𝐑𝐞𝐝/𝐁𝐥𝐚𝐜𝐤 𝐃𝐞𝐩𝐥𝐨𝐲𝐬 - similar to the above with one distinct difference: you direct all of your traffic to the new nodes, old nodes are kept alive just in case but don't receive any requests. After validation, they are removed.
- 𝐂𝐚𝐧𝐚𝐫𝐲 𝐃𝐞𝐩𝐥𝐨𝐲𝐬 - in this deployment strategy, you release a new version of your microservice or ML model to a defined subset of users (i.e. 25%) and keep it alive for a prolonged time to make sure everything works as expected. You could technically use this also for A/B testing of your new version.
- 𝐑𝐨𝐥𝐥𝐢𝐧𝐠 𝐃𝐞𝐩𝐥𝐨𝐲𝐬 - the simplest option, release your new version of the microservice incrementally node by node or in batches. It's slow, but easy to revert back if needed.
- 📙 Intro to Deployment Strategies: Blue-Green, Canary, and More [Blog, January 2021]
- 📙 Zero-downtime Blue Green Deployments for Microservices [Blog, August 2020]
- 📙 Breaking down zero downtime deployments in Kubernetes [Blog, August 2020]
- ⭐ flagger - Canary, A/B Testing and Blue/Green deployments for Kubernetes [GitHub, 3943 stars]
- 🔱 Tekton - open-source framework for creating CI/CD systems
- ⭐ flux - The GitOps Kubernetes operator [GitHub, 6951 stars]
- 🔱 ArgoCD - A declarative, GitOps continuous delivery tool for Kubernetes
🔙 Back to the Table of Contents
- 📙 The Cost of Cloud, a Trillion Dollar Paradox [Blog, May 2021]
- 🔱 Spot Fleet [AWS Services]
- ⭐ AutoSpotting - open source spot market automation tool for EC2 [GitHub, 2115 stars]
- ⭐ keda - Kubernetes-based Event Driven Autoscaling [GitHub, 5648 stars]
- ⭐ Komiser - Multi-cloud environment inspector for costs and security [GitHub, 2866 stars]
- ⭐ Infracost - Cloud cost estimates for Terraform in your CLI and pull requests [GitHub, 8185 stars]
🔙 Back to the Table of Contents
- 🗂 OperatorHub.io - OperatorHub.io is a resource for the Kubernetes community to find and share Operators
- ⭐ redis - Redis is an open source, in-memory data structure store
- 🔱 MariaDB - MariaDB Server: The open source relational database
- ⭐ vitess - Canary, A/B Testing and Blue/Green deployments for Kubernetes [GitHub, 3943 stars]
- ⭐ CrunchyData Operator [GitHub, 3023 stars]
- ⭐ Zalando Operator [GitHub, 2907 stars]
- 🔱 Amazon Aurora [AWS, Paid Service]
- 📙 What is OLAP? Cube, Operations & Types in Data Warehouse [Blog, Feb 2018]
- 📙 Comparison of ClickHouse, Druid, and Pinot [Blog]
- ⭐ Druid [GitHub, 12190 stars]
- ⭐ ClickHouse
- ⭐ Apache Pinot / Pinot on Github [GitHub, 4284 stars]
- 🔱 Ceph - implements object storage on a single distributed computer cluster
🔙 Back to the Table of Contents
- ⭐ serverless examples - collection of boilerplates and examples of serverless architectures [GitHub, 10499 stars]
- ⭐ Wild Rydes Serverless Workshops - labs to set up serverless applications on AWS [GitHub, 3825 stars]
- ⭐ serverless - Serverless Framework using AWS Lambda, Azure Functions, Google CloudFunctions [GitHub, 43750 stars]
- ⭐ Chalice - Python Serverless Microframework for AWS [GitHub, 9297 stars]
- ⭐ OpenFaaS - Serverless Functions Made Simple [GitHub, 22320 stars]
- ⭐ Up - deploy infinitely scalable serverless apps, apis, and sites [GitHub, 8638 stars]
- ⭐ Dapr - portable, serverless, event-driven runtime for stateless and stateful microservices [GitHub, 19789 stars]
- ⭐ Nuclio - High-Performance Serverless event and data processing platform [GitHub, 4649 stars]
🔙 Back to the Table of Contents
- ⭐ kubesploit - Cross-platform post-exploitation HTTP/2 Command & Control server [GitHub, 940 stars]
- 🔱 consul - Consul automates networking for simple and secure application delivery
- ⭐ Komiser - Multi-cloud environment inspector for costs and security [GitHub, 2866 stars]
- ⭐ tfsec - Security scanner for your Terraform code [GitHub, 5315 stars]
- ⭐ kube-bench - Checks usage of security best practices as defined in the CIS Kubernetes Benchmark [GitHub, 5306 stars]
- ⭐ Prowler - security tool to perform AWS security best practices assessments [GitHub, 6957 stars]
- ⭐ ScoutSuite - Multi-Cloud Security Auditing Tool [GitHub, 6957 stars]
- ⭐ sealed-secrets - A Kubernetes controller and tool for one-way encrypted Secrets [GitHub, 5597 stars]
- 🔱 Vault - Manage Secrets and Protect Sensitive Data
- ⭐ aws-vault - securely store and access AWS credentials in development environments [GitHub, 6927 stars]
- ⭐ SOPS: Secrets OPerationS - Simple and flexible tool for managing secrets on any platform [GitHub, 11257 stars]
- ⭐ Grant - OAuth Proxy [GitHub, 3743 stars]
- ⭐ Dex - OpenID Connect (OIDC) identity and OAuth 2.0 provider [GitHub, 7536 stars]
- ⭐ Kong - Cloud-Native API Gateway [GitHub, 33318 stars]
- ⭐ Gloo Edge - Kubernetes-native API Gateway Built on Envoy [GitHub, 3601 stars]
- ⭐ Awesome WAF - Everything about web-application firewalls (WAF) [GitHub, 4759 stars]
- ⭐ PENTESTING-BIBLE - Learn ethical hacking [GitHub, 11035 stars]
🔙 Back to the Table of Contents
- ⭐ Kubernetes Workshop - Gentle introduction to Kubernetes with more than just the basics
- ⭐ Kubernetes Guide - Kubernetes clusters for the hobbyist [GitHub, 5287 stars]
- 📙 Learn Kubernetes Basics
- 📙 Introduction to Kubernetes
- 📙 Understanding Amazon EC2 Terminology [Blog, Oct 2018]
- ⭐ DevOps Guide - from basic to advanced with Interview Questions and Notes [GitHub, 5423 stars]
- ⭐ DevOps Exercises - questions and exercises on technical topics related to DevOps and SRE [GitHub, 33396 stars]
- ⭐ Docker Curriculum - comprehensive tutorial on getting started with Docker [GitHub, 4892 stars]
🔙 Back to the Table of Contents
- ⭐ Terraform - open-source infrastructure as code software tool for consistent CLI workflow
- 🔱 CloudFormation - cloud provisioning with infrastructure as code for AWS
- 🔱 Azure Resource Manager - manage your app resources on Azure
- 🔱 Cloud Deployment Manager - create and manage cloud resources on GCP with simple templates
- ⭐ HashiCorp Vagrant / [GitHub, 22046 stars]
- 🔱 CFEngine - automate your infrastructure, security & compliance
- ⭐ Ansible - automation across open hybrid cloud deployments
- 🔱 CHEF - Policy-Based Configuration Management Automation Architecture
- ⭐ Pulumi - Modern Infrastructure as Code. Any cloud, any language [GitHub, 14215 stars]
- ⭐ Terraformer - CLI tool to generate terraform files from existing infrastructure (reverse Terraform) [GitHub, 8970 stars]
- ⭐ Checkov - static code analysis tool for infrastructure-as-code [GitHub, 4890 stars]
- ⭐ Ansible for DevOps examples [GitHub, 6378 stars]
- ⭐ Ansible for Kubernetes Examples [GitHub, 581 stars]
🔙 Back to the Table of Contents
- ⭐ Apache Flink - stream processing framework [GitHub, 20121 stars]
- ⭐ Apache Beam - unified programming model for Batch and Streaming [GitHub, 6012 stars]
- ⭐ Apache Storm / Apache Storm on GitHub - distributed realtime computation system [GitHub, 6403 stars]
- 🔱 Amazon Kinesis Streams [AWS]
- ⭐ distroless - Language focused docker images, minus the operating system [GitHub, 14182 stars]
Load Shedding is used to prevent your microservices from an outage by reducing non-essential requests.
- 🎥️ AWS re:Invent 2021 - Keeping Netflix reliable using prioritized load shedding [YouTube]
- 🎥️ DevOneConf 2018 - Acacio Cruz - Google - Load-shedding [YouTube]
- 📙 Keeping Netflix Reliable Using Prioritized Load Shedding [Blog, Nov 2020]
- ⭐ Concurrency Limits - TCP congestion control to auto-detect concurrency limits for services [GitHub, 2836 stars]
- 📙 On the Diverse And Fantastical Shapes of Testing by Martin Fowler [Blog, June 2021]
- ⭐ Terratest - Go library to write automated tests for your infrastructure code [GitHub, 6494 stars]
- ⭐ Serverless Offline - Emulate AWS λ and API Gateway locally [GitHub, 4747 stars]
- ⭐ Moto - easily mock out tests based on AWS infrastructure [GitHub, 6186 stars]
- ⭐ LocalStack - fully functional local AWS cloud stack [GitHub, 44.6k stars]
- ⭐ Empire - PaaS built on top of Amazon EC2 Container Service with Heroku like workflow [GitHub, 2672 stars]
- ⭐ CNI - networking for Linux containers [GitHub, 4517 stars]
- ⭐ strimzi - Apache Kafka running on Kubernetes [GitHub, 3545 stars]
- 📙 Companies Using RFCs or Design Docs and Examples of These - from Pragmatic Engineer [Blog, June 2022]
License CC0
- All linked resources belong to original authors
- skill book by HideMaru from the Noun Project
- Harp by Marina Pugacheva from the Noun Project
- Ancient Greek Theater by Leonidas Oikonomou from the Noun Project
- deity by Eucalyp from the Noun Project
- trojan by Eucalyp from the Noun Project
- Fire Torch by Eucalyp from the Noun Project
- acropolis by Eucalyp from the Noun Project
- papyrus by IconMark from the Noun Project
- Hammer by IconMark from the Noun Project
- balance by Flatart from the Noun Project
- Atlas by parkjisun from the Noun Project
- olympus by IconMark from the Noun Project