Cloud Native architecture
- What is a cloud native architecture
- Walking though the application stack
Operating systems as the foundation of the stack - Daniel Leon
- Linux
- Container specialized OS’s
- Windows
Public Cloud Provides
- GCP, AWS, Azure
- Services offered
- Avoiding the cloud vendor lock-in problem
CI/CD infrastructure - Radu Munteanu
- The importance of speed
- CI/CD principles
- Systems for CI/CD
- Jenkins, Gitlab
Distributed systems overview
- Distributed system overview
- Distributed systems fallacies
The Distributed lock service - Daniel Leon
- What is a distributed lock service
- What do we used for
- Examples of implementation
- Zookeeper, ETCD, Consul, Chubby
Service Discovery - Daniel Leon
- What is service discovery
- Service discovery patterns
- DNS as a service discovery system
- Using Zookeeper as a service discovery system
Scheduling
- What is a datacenter scheduler
- Why is deployment a scheduling problem
- Kubernetes
The Service Mesh patterns - Cristi Falcaş
- Why use the service mesh pattern
- The Edge proxy
- The Service Mesh
Observability - Vapirovschi Ioan
- What is observability
- Monitoring
- The pull vs push problem
- Prometheus
- Logging
- The importance of logging
- Centralization of logs
- Analyzing logs
- Tracing
- Why do we need tracing
- What is a trace
- Examples of tracing in distributed applications
Putting it all together
- Building robust systems
See the lessons folder.