A reference software system for discussing performance
How do performance problems look like
System performance objectives
Performance measurement metrics
Minimizing network transfer latency
Minimizing memory access latency
Minimizing disk access latency
Minimizing CPU processing latency
Some common latency costs
Concurrency related latency
Amdahl's law for concurrent tasks
Gunther's universal scalability law
Shared resource contention
Minimizing shared resource contention
Minimizing locking related contention
Compare and swap mechanism
System architecture for performance
HTTP Caching of static data
Caching related challenges
Performance presentation slides
Performance vs Scalability
Vertical & Horizontal scalability
A reference software system for discussing scalability
Modularity for scalability
Stateful replication in web applications
Stateless replication in web applications
Stateless replication of services
Database replication types
Need for specialized services
Specialized services - SOAP/REST
Asynchronous processing & scalability
Vertical partitioning with micro-services
Database partitioning selection
Routing with database partitioning
Methods for horizontal scalability
Dealing with large scale systems
Load balancing multiple instances
Discovery service and load balancing
Global server load balancing
Micro-Services Architecture
Micro-Services Motivation
Service Oriented Architecture
Micro-Services Architecture Style
Transactions in Micro-Services
Compensating Transactions - SAGA Pattern
Micro-services communication model
Event driven transactions
Extreme scalability with NoSQL and Kafka
Scalability presentation slides
Failures in large scale distributed systems
Reliability engineering topics
Designing Fault Tolerance
Stateless component redundancy
Stateful component redundancy
Datacentre infrastructure as SPOF
Creating datacenter redundancy
External monitoring service
Internal cluster monitoring
Fault detection in a system
Stateless component recovery
Load Balancer high availability
Database recovery with hot standby
Database recovery with warm standby
Database recovery with cold backups
High Availability in large scale systems
Reliability presentation slides
Authentication and authorization
Role based access control model
Role based access example
OAuth2 token grant - Code Flow
OAuth2 token grant - Password Flow
Securing a Software System
Cross Site Resource Forgery
Security presentation slides
Large scale deployment challenges
Infrastructure deployment
Modern deployment solutions
Component deployment automation
Deployment with Virtual Machines
Isolation through virtual machines
Deployment with Containers
Infrastructure deployment
Infrastructure requirements
Provisioning and configuration
Deployment with containers on Cloud
Deployment with AWS cloud stack
Deployment with Kubernetes
Kubernetes lifecycle management
Kubernetes naming and addressing
Kubernetes scaling with multiple instances
Kubernetes high availability
Kubernetes rolling upgrades
Kubernetes services and workloads
Deployment presentation slides
Reference system for using tech platforms
Solutions for web applications
Apache webServer architecture
Apache webserver scalability
Nginx as reverse proxy and cache
Web containers & spring framework
Redis Cache & its architecture
RDBMS scalability architecture
NoSQL objectives & trade-offs
Logstash data streaming architecture
Elasticsearch architecture
Technology Stack presentation slides