Useful Links
Computer Science
Cloud Computing
Cloud Native Development
1. Foundations of Cloud Native
2. Microservices Architecture
3. Containerization
4. Container Orchestration with Kubernetes
5. DevOps and Automation
6. Cloud Native Observability
7. Advanced Cloud Native Concepts
8. Cloud Native Platforms and Ecosystem
9. Cloud Native Development Practices
Microservices Architecture
Core Concepts of Microservices
Single Responsibility Principle
Bounded Contexts
Decentralized Governance
Decentralized Data Management
Independent Deployment
Technology Diversity
Failure Isolation
Designing Microservices
Service Decomposition Strategies
Business Capability Decomposition
Domain-Driven Design (DDD)
Strategic Design
Tactical Design
Ubiquitous Language
Strangler Pattern
Event Storming
Defining Service Boundaries
Context Mapping
Avoiding Tight Coupling
Service Cohesion
Interface Segregation
Service Sizing Guidelines
Team Size Considerations
Complexity Management
Performance Requirements
API Design and Contracts
RESTful APIs
Principles of REST
Resource Modeling
HTTP Methods and Status Codes
Versioning Strategies
HATEOAS
gRPC
Protocol Buffers
Use Cases
Streaming Support
Error Handling
GraphQL
Schema Design
Query Optimization
Subscription Support
Federation
API Documentation
OpenAPI/Swagger
API Blueprint
Documentation Generation
Interservice Communication
Synchronous Communication
Direct HTTP/API Calls
Connection Pooling
Timeout Management
Retry Logic
API Gateways
Request Routing
Aggregation
Security Enforcement
Rate Limiting
Protocol Translation
Asynchronous Communication
Message Queues
Message Brokers
Message Formats
Dead Letter Queues
Message Ordering
Event Streaming
Event Brokers
Event Sourcing
Stream Processing
Publish/Subscribe Pattern
Decoupling Services
Event Delivery Guarantees
Topic Management
Communication Patterns
Request-Response
Fire-and-Forget
Request-Callback
Publish-Subscribe
Data Management in Microservices
Database-per-Service Pattern
Polyglot Persistence
Data Ownership
Schema Evolution
Data Consistency Challenges
Eventual Consistency
Strong Consistency
Sagas Pattern
Orchestration-Based Sagas
Choreography-Based Sagas
Compensation Actions
Two-Phase Commit
Change Data Capture (CDC)
CDC Tools
Use Cases
Event Streaming Integration
Data Replication and Synchronization
Master-Slave Replication
Master-Master Replication
Conflict Resolution
Querying Across Services
API Composition
CQRS (Command Query Responsibility Segregation)
Event Sourcing
Materialized Views
Challenges of Microservices
Distributed System Complexity
Debugging and Troubleshooting
Transaction Management
Distributed Tracing
Network Latency
Impact on Performance
Mitigation Strategies
Caching Strategies
Service Discovery
Service Registry
Client-Side Discovery
Server-Side Discovery
Health Checking
Fault Tolerance
Circuit Breaker Pattern
Bulkhead Pattern
Retry and Timeout Strategies
Graceful Degradation
Versioning and Backward Compatibility
Semantic Versioning
API Evolution Strategies
Contract Testing
Testing Microservices
Unit Testing
Integration Testing
Contract Testing
End-to-End Testing
Consumer-Driven Contracts
Previous
1. Foundations of Cloud Native
Go to top
Next
3. Containerization