This comprehensive hands-on course, designed by Global Horizon Training Center, equips developers and IT professionals with practical skills to design, develop, and deploy efficient APIs and microservices using Python. The training will guide participants through core RESTful API principles, modern Python frameworks like Flask and FastAPI, microservice architecture, containerization with Docker, and deployment strategies. By the end of the course, participants will have built scalable, modular, and maintainable backend systems.
Participants will be able to:
Understand REST principles and the structure of HTTP APIs
Develop APIs using Flask and FastAPI
Implement authentication, input validation, and error handling
Design modular microservices using Python
Use Docker to containerize APIs for microservice deployment
Deploy services locally and in the cloud using best practices
Backend developers and Python programmers
DevOps engineers and solution architects
IT professionals interested in microservices architecture
Software engineers building scalable distributed systems
Day 1: REST API Foundations and Flask Basics
Introduction to APIs, REST architecture, and HTTP methods
Understanding JSON, status codes, and RESTful conventions
Setting up a Python virtual environment
Introduction to Flask: routing, views, and responses
Building a simple Flask-based API with GET/POST methods
Hands-on: Create a basic note-taking or task API with Flask
Day 2: Advanced Flask and FastAPI Introduction
Flask Blueprints for modular design
Error handling and input validation using Flask-RESTful
Introduction to FastAPI: async programming with Python
FastAPI routing, Pydantic models, and documentation (Swagger UI)
Comparing Flask and FastAPI (performance, ease of use)
Hands-on: Build the same API in FastAPI and benchmark performance
Day 3: Microservices Design and Communication
Understanding microservices architecture: benefits and challenges
Structuring projects with multiple services (e.g., User, Orders, Auth)
Synchronous communication using HTTP
Asynchronous communication basics (intro to message queues)
Service discovery, API gateways (basic intro)
Hands-on: Split existing app into two services and enable interaction
Day 4: Authentication, Testing, and Dockerization
JWT-based authentication and token management
API security best practices (CORS, rate limiting basics)
Writing tests for APIs using pytest
Introduction to Docker: containers, images, Dockerfile
Docker Compose for microservices
Hands-on: Dockerize each service and run them together using Compose
Day 5: Deployment and Final Project
Configuration management using environment variables
Deployment options: Heroku, Render, AWS EC2 (overview)
CI/CD basics (GitHub Actions or GitLab CI overview)
Logging and monitoring fundamentals
Final Project: Build and deploy a simple e-commerce microservice system
Presentation, review, Q&A, and course wrap-up