Visão Geral
Este Curso Python para Microserviços oferece uma introdução prática e abrangente à criação de microsserviços usando Python. Os participantes aprenderão os fundamentos da arquitetura de microsserviços, os principais padrões de design, mecanismos de comunicação e estratégias de implantação. O curso enfatiza o aprendizado prático com frameworks como Flask, FastAPI e ferramentas de conteinerização como Docker e Kubernetes, garantindo que os alunos possam projetar, desenvolver e implantar microsserviços escaláveis em ambientes reais.
Conteúdo Programatico
Module 1: Introduction to Microservices
- Monolithic vs Microservices Architecture
- Benefits and challenges of microservices
- Python in the microservices ecosystem
- Use cases in modern applications
Module 2: Designing Microservices
- Principles of microservice design
- Domain-driven design basics
- Identifying service boundaries
- API-first design approach
Module 3: Building Microservices with Flask
- Introduction to Flask
- Creating REST APIs with Flask
- Structuring a microservice project
- Dependency management with virtual environments and pip
Module 4: Building Microservices with FastAPI
- Why FastAPI for microservices
- Creating APIs with FastAPI
- Request validation and data serialization with Pydantic
- Async programming for high performance
Module 5: Communication Between Microservices
- REST and HTTP communication
- gRPC introduction and Python implementation
- Messaging systems (RabbitMQ, Kafka, Redis Pub/Sub)
- API Gateway concepts
Module 6: Security in Microservices
- Authentication and Authorization strategies
- OAuth2 and JWT implementation in Python APIs
- Securing inter-service communication
Module 7: Containerizing Python Microservices
- Introduction to Docker
- Writing Dockerfiles for Python microservices
- Docker Compose for multi-service applications
- Best practices for containerized apps
Module 8: Deploying Microservices with Kubernetes
- Kubernetes fundamentals
- Deploying Python microservices on Kubernetes
- ConfigMaps, Secrets, and Helm Charts basics
- Scaling microservices with Kubernetes
Module 9: Observability and Monitoring
- Centralized logging with ELK / Graylog
- Metrics collection with Prometheus and Grafana
- Tracing microservices with OpenTelemetry / Jaeger
Module 10: Advanced Topics and Best Practices
- Service Mesh (Istio overview)
- Circuit breaker and retry patterns
- Handling failures and resilience in distributed systems
- Case study: Building and deploying a Python microservices-based application