Skip to content

khaydarov/otus-microservices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Course plan

  1. Pros and cons of microservice architecture

    • Architecture and architect
    • Monoliths and microservices
    • Patterns of microservice architecture
  2. Docker basics

    • Containerization. Overview
    • Docker components: engine, cli, registry
    • Building from Dockerfile
    • Practice: build, run, up, down, pull, push
  3. Infrastructural patterns

    • CI/CD methodology
    • VM vs Containers
    • Deployment patterns
    • Service discovery
    • Health check
  4. Kubernetes basics (part 1)

    • Pods, ReplicaSets, Deployments
  5. Kubernetes basics (part 2). Homework #1

    • ConfigMaps, Persistence Volumes, Persistence Volume Claims
    • Helm, Helm-dep, Ingress
  6. Kubernetes basics (part 3). Homework #2

    • Templating with Helm
    • Jobs, Secrets
  7. Kubernetes. QA

  8. Monitoring and alerting

    • USE, RED и Four Golden Signals
    • SLI, SLO, SLA
    • Metric collection patterns
  9. Prometheus, Grafana. Homework #3

    • Prometheus
    • Grafana
    • AlertManager
    • PromQL
  10. Service mesh on the example of Istio Homework #4

    • Service Mesh architecture
  11. Authorization and authentication in microservice architecture

    • Auth patterns in monoliths
    • Identity Provider и OIDC
    • Token-Based authentication, JWT
    • Auth-Proxy
  12. Backend for frontends. API Gateway. Homework #5

    • API Gateway
    • Backend for Frontends
    • Auth patterns in API Gateway
    • Circuit Breaker, Retry
  13. Asynchronous and synchronous API

    • Message Bus, Enterprise Service Bus
    • CQRS, Event Sourcing
    • Orchestration and choreography
    • API versioning
    • IDL, API design first
    • Anemic API vs Rich API
  14. Event Driven Architecture

    • Designing event driven patterns
    • Using event driven patterns
  15. Distributed message brokers on the example of Kafka

    • Kafka
  16. Consistent data maintenance patterns (Stream processing). Homework #6

    • Transactional Log
    • Stream processing
    • Event Sourcing
    • Change Data Capture
  17. GraphQL, gRPC

  18. RESTful

    • Maturity levels;
    • HATEOS
    • Anemic API and Rich API
    • Restful Patterns
    • JsonSchema, OpenAPI
    • GraphQL
  19. Idempotency and commutativity API in HTTP and message brokers. Homework #7

    • Idempotency and commutativity
    • Idempotent receiver
    • Idempotent consumer
    • Polling publisher
    • Compare-and-Set
    • Transaction Log Miner
  20. Testing in microservices (part 1)

    • Architecture Significant Requirements
    • Availability, Interoperability, Modifiability
    • Architecture Frameworks
    • Quality Attributes Assessment
  21. Testing in microservices (part 2)

    • Chaos engineering
    • Stress testing
  22. DDD and modular monoliths (part 1)

    • Coupling
    • Cohesion
    • Common principles
  23. DDD and modular monoliths (part 2)

    • Decomposition rules
    • Aggregates
    • Strategic Classification
  24. Microservices decomposition. Homework #8

    • Decomposition patterns
    • Context Canvas
  25. From monolith to microservices

    • Distributed Tracing
    • Opentracing/OpenTelemetry
    • Tracers: Zipkin, Jaeger; APM: NewRelic, DataDog
    • Strangler pattern
  26. Distributed systems overview

    • CAP & PACELC theorems
    • BASE & ACID
    • Actor Model
  27. Distributed transactions. Homework #9

    • Consistency patterns
    • Two-phase commit, Saga pattern
    • Transactional messaging
    • Deadlock
  28. Caching patterns

    • LRU, MRU, PLRU, LFU
    • LoadBalancing
  29. Sharding

    • Vertical, Horizontal partitioning
    • Vertical, Horizontal sharding
    • Consistent hashing
  30. CP systems

    • Consistency algorithms: Paxos, Raft, Zab
  31. AP systems

    • Gossip: Scuttlebut
    • Replication without master (dynamoDB like databases)
  32. The role of the architect

    • Evolutionary Architecture and Emergent Design
  33. Architecture cost. Artifacts of architecture