# Reading List for Multi Node
###### tags `iscoollab`
## Web app
[The Twelve-Factor App](https://12factor.net/)
The methodologies for developing a modern web app
## Container
### Docker
[The Ultimate Docker Cheat Sheet | dockerlabs](https://dockerlabs.collabnix.com/docker/cheatsheet/)
Docker commands
[A Practical Introduction to Container Terminology | Red Hat Developer](https://developers.redhat.com/blog/2018/02/22/container-terminology-practical-introduction#)
### Docker compose
[Compose sample application](https://github.com/docker/awesome-compose/tree/master/nginx-golang-postgres)
An example of running a web backend with docker-compose
### Kubernetes
[Kubernetes Components | Kubernetes](https://kubernetes.io/docs/concepts/overview/components/)
K8S architecture
[Pods](https://kubernetes.io/docs/concepts/workloads/pods/) [Workloads](https://kubernetes.io/docs/concepts/workloads/) [Service](https://kubernetes.io/docs/concepts/services-networking/service/)
## Database - PostgreSQL
[How to Use SQL SELECT Statement to Query Data From a Single Table](https://www.sqltutorial.org/sql-select/)
SQL syntax
[Docker Hub](https://hub.docker.com/_/postgres)
Postgres official docker image
[PostgreSQL Cheat Sheet](https://www.postgresqltutorial.com/postgresql-cheat-sheet/)
## Cache - Redis
[Docker Hub](https://hub.docker.com/_/redis)
Redis official docker image
[An introduction to Redis data types and abstractions – Redis](https://redis.io/topics/data-types-intro)
Redis types and how to use them
## Logging - ELK/EFK
[What is Elasticsearch? | Elastic](https://www.elastic.co/what-is/elasticsearch)
### ELK
[Docker Compose - Fluentd](https://docs.fluentd.org/container-deployment/docker-compose)
Example of EFK running by docker compose
[Index data - OpenSearch documentation](https://opensearch.org/docs/latest/opensearch/index-data/)
Introduce elasticsearch’s index API
## Monitoring - Prometheus/Grafana
[Prometheus Demo Site](https://demo.do.prometheus.io)
### Prometheus
[Docker Hub](https://hub.docker.com/r/prom/prometheus)
[A beginner friendly introduction to prometheus 🔥](https://github.com/yolossn/Prometheus-Basics)
### Grafana
[Docker Hub](https://hub.docker.com/r/grafana/grafana)
[The Simplest Introduction to Grafana](https://khor.medium.com/the-simplest-introduction-to-grafana-46e8c15171b6)
[Getting Started with Monitoring Prometheus Using OSS Grafana](https://logz.io/blog/prometheus-monitoring/)
Steps to show Prometheus metrics on Grafana
## Event system
[What is event-driven architecture?](https://www.redhat.com/en/topics/integration/what-is-event-driven-architecture)
### Redis
[Event-Driven Architecture Using Redis Streams](https://harness.io/blog/event-driven-architecture-redis-streams/)
Use Pub/Sub, Streams command in Redis
### Kafka
[Kafka Introduction](https://kafka.apache.org/intro)
Kafka key concepts
[Kafka Use cases](https://kafka.apache.org/uses)
## Provisioning - Ansible
[How Ansible Works | Ansible.com](https://www.ansible.com/overview/how-ansible-works)
What is Ansible
[How To Deploy a Static HTML Website with Ansible on Ubuntu 20.04 (Nginx)](https://www.digitalocean.com/community/tutorials/how-to-deploy-a-static-html-website-with-ansible-on-ubuntu-20-04-nginx)
Examples for provisioning an Nginx stack
## Dev env - Vagrant
[Vagrant is a tool for building and distributing development environments.](https://github.com/hashicorp/vagrant)
What is Vagrant
[Getting Started | Vagrant](https://learn.hashicorp.com/collections/vagrant/getting-started)
[Discover Vagrant Boxes](https://app.vagrantup.com/boxes/search)
Boxes from community