Usamos cookies para mejorar tu experiencia en el sitio
CodeWorlds

Production Deployment - Docker & Cloud

Witaj, @name! Darwin z ostatnią lekcją Module 6 - deployment FastAPI w produkcji! 🚀☁️

Analogia Safari: Deployment to jak otwarcie parku safari dla publiczności - musimy zapewnić bezpieczeństwo, skalowalność, i niezawodność 24/7! 🦁🌐

Dockerfile dla FastAPI

1# Dockerfile
2FROM python:3.11-slim
3
4WORKDIR /app
5
6COPY requirements.txt .
7RUN pip install --no-cache-dir -r requirements.txt
8
9COPY . .
10
11CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

docker-compose.yml

1version: '3.8'
2
3services:
4  api:
5    build: .
6    ports:
7      - "8000:8000"
8    environment:
9      - DATABASE_URL=postgresql+asyncpg://user:password@db/safari
10    depends_on:
11      - db
12
13  db:
14    image: postgres:15
15    environment:
16      - POSTGRES_USER=user
17      - POSTGRES_PASSWORD=password
18      - POSTGRES_DB=safari
19    volumes:
20      - postgres_data:/var/lib/postgresql/data
21
22volumes:
23  postgres_data:

Uruchom:

1docker-compose up -d

Production checklist

  • [ ] Environment variables (DATABASE_URL, SECRET_KEY)
  • [ ] HTTPS/TLS certificates
  • [ ] CORS configuration
  • [ ] Rate limiting
  • [ ] Logging & monitoring
  • [ ] Database migrations (Alembic)
  • [ ] Backup strategy
  • [ ] Load balancer

Deploy na Render/Railway

Render:

  1. Push to GitHub
  2. Connect repo na Render
  3. Dodaj environment variables
  4. Auto-deploy! ✅

Railway:

  1. railway init
  2. railway up
  3. Gotowe! ⚡

Podsumowanie Module 6

Gratulacje! Ukończyłeś/aś Module 6: FastAPI! 🎉

Nauczyłeś/aś się:

  • ✅ Async/await fundamentals
  • ✅ FastAPI basics i endpointy
  • ✅ Pydantic validation
  • ✅ Async databases (SQLAlchemy)
  • ✅ JWT authentication
  • ✅ Testing z pytest
  • ✅ Production deployment (Docker)

Safari Database API jest teraz production-ready i gotowe do obsługi tysięcy requestów na sekundę! 🚀⚡

Darwin jest dumny! Module 7 to DevOps - CI/CD, monitoring, i cloud! 🤖☁️

Ir a CodeWorlds