Giter VIP home page Giter VIP logo

khaydarov / otus-microservices Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 0.0 1.93 MB

OTUS microservice architecture homeworks

Shell 3.57% Dockerfile 2.20% PHP 24.21% Smarty 10.64% Mustache 0.70% Go 58.20% PLpgSQL 0.48%
microservices kubernetes docker ingress-nginx istio-ingress php golang ddd-architecture grpc prometheus grafana bff-microservice api-gateway event-driven-architecture design-patterns

otus-microservices's Introduction

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

otus-microservices's People

Contributors

khaydarov avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.