Microservices Architecture with Python Training
Level
IntermediateDuration
24h / 3 daysDate
Individually arrangedPrice
Individually arrangedMicroservices Architecture with Python Training
This course introduces participants to the world of microservices, showing how to effectively transform monolithic applications into scalable, flexible solutions. Attendees will learn about the migration process, key patterns and tools used in building microservices, and how to manage and orchestrate applications in container environments. The course also includes hands-on workshops that will allow for a full understanding of the topics covered.
Who is this training for?
Software architects wanting to learn best practices for building scalable applications and transitioning from monolithic to microservices architecture
Python developers who want to deepen their knowledge of building and managing microservice applications in Python
DevOps engineers responsible for CI/CD processes, deployment automation, and container orchestration in Kubernetes
System administrators who want to learn to manage microservices in containerized and orchestrated environments
What You Will Learn
- How to migrate from monolith to microservices—from domain analysis through defining responsibilities and implementing microservices in Python
- Containerization of applications—creating Docker images, working with containers, and tackling common issues in microservice applications
- Orchestration with Kubernetes—environment setup, managing microservices, and practical implementation of GitOps
- Managing monitoring, logging, and CI/CD—configuring tools like Prometheus and Grafana, and automating build, test, and deployment processes in a microservice context
Training Program
-
Day 1: Introduction and Microservices Fundamentals
-
Monolithic architecture and introduction to microservices
- Characteristics
- Benefits
- Limitations
-
Review of common microservice architectures
- API Gateway
- CQRS
- Event Sourcing
- Domain-Driven Design
- Sidecar pattern
- Discussion of trade-offs and challenges
-
Defining boundaries of responsibility
- Domain analysis
- Identifying components
-
Workshop
- Splitting a monolith into microservices using a complex example
- Defining communication between services
-
Microservice applications in Python
- Design patterns for Python microservices
- Overview of frameworks
- Ready-made application templates
- APIs
- Workers (multithreading)
- Event and log handling
- Environment configuration
- Virtual environments
- Database migrations
-
Monolithic architecture and introduction to microservices
-
Day 2: Migration Process and Basics of Orchestration
-
Migration process
- Automating tests
- Identifying deployment environments
- Splitting monolith
- Organizing repositories for CI/CD
- Deployment strategies
- GitOps
-
Workshop
- Verifying migration by implementing core services in Python
- Validating boundary splits
- Running services locally
-
Containerization
- Docker fundamentals
- Building secure, lightweight images
- Typical pitfalls
- Workshop on Dockerizing Python services
-
Orchestration using Kubernetes
- Introduction to Kubernetes components (Pod, Deployment, Service)
- Managed Kubernetes services
-
Workshop
- Deploying and managing microservices in Kubernetes
- Working with YAML configs
- Discussion of GitOps approach
-
Migration process
-
Day 3: Monitoring, Logs, CI/CD and “12-Factor App” Principles
-
Monitoring, tracing, logging, and alerting
- Tools: Prometheus, Grafana, Jaeger
-
Workshop
- Setting up monitoring and alerts for microservices in Kubernetes
- Integrating logs and distributed tracing
-
CI/CD process for microservices
- Fundamentals
- Simple CI/CD pipeline (build / test / deploy)
- Versioning services
- Handling multiple versions
-
The 12-Factor App principles applied to microservices
- Overview of the twelve factors
-
Workshop
- Evaluating existing services against the principles
- Adapting selected services to comply
-
Monitoring, tracing, logging, and alerting