Przejdź do głównej zawartości

Wzorce rozwoju serverless

Przyspiesz rozwój serverless z Cursor i Claude Code. Te wzorce obejmują AWS Lambda, Vercel, Cloudflare Workers, architektury sterowane zdarzeniami i najlepsze praktyki cloud-native zoptymalizowane dla programowania wspomaganego przez AI.

  1. Otwórz Cursor w swoim workspace
  2. Uruchom tryb Agent (Cmd/Ctrl + I)
  3. Prompt: “Stwórz projekt serverless z:
    • Funkcjami AWS Lambda
    • Integracją API Gateway
    • Tabelami DynamoDB
    • CloudFormation/SAM
    • Wsparciem TypeScript
    • Konfiguracją lokalnego developmentu”
  4. Agent konfiguruje kompletne środowisko serverless
// Prompt funkcji Lambda:
"Stwórz funkcję Lambda do przetwarzania obrazów:
- Trigger S3 dla uploadów
- Zmiana rozmiaru obrazów z Sharp
- Wiele formatów wyjściowych
- Obsługa błędów i ponawianie
- Logowanie CloudWatch
- Tracing X-Ray"
// Wygenerowana struktura:
functions/
imageProcessor/
handler.ts
config.yml
tests/
shared/
utils/
types/

Optymalizacja cold start

// Prompt: "Zoptymalizuj cold start Lambda:
// - Minimalizuj rozmiar bundle
// - Lazy loading
// - Pooling połączeń
// - Provisioned concurrency"

Obsługa błędów

// Prompt: "Dodaj obsługę błędów Lambda:
// - Kolejki martwych listów
// - Polityki ponawiania
// - Circuit breakers
// - Graceful degradation"
// Prompt funkcji Edge Vercel:
"Stwórz funkcję Edge Vercel dla:
- Routingu geograficznego
- Testów A/B
- Transformacji żądań
- Autentyfikacji na edge
- Cache'owania odpowiedzi
- Streaming odpowiedzi"
// Trasa API Next.js:
"Stwórz trasę API z:
- Walidacją żądań
- Połączeniem z bazą danych
- Ograniczaniem częstotliwości
- Obsługą CORS
- Odpowiedziami błędów"
// Prompt Cloudflare Worker:
"Stwórz Worker dla API gateway:
- Routing żądań
- Autentyfikacja
- Ograniczanie częstotliwości z Durable Objects
- Cache użycia API
- Integracja KV storage
- Dostęp do bucket R2"
  1. Projektowanie stanu: “Stwórz Durable Object dla pokojów WebSocket”
  2. Implementacja logiki: “Dodaj zarządzanie pokojami i messaging”
  3. Strategia skali: “Skonfiguruj dystrybucję geograficzną”
  4. Monitoring: “Dodaj analytics i debugging”
// Prompt event-driven:
"Zaprojektuj system przetwarzania zdarzeń z:
- Integracją SNS/SQS
- Regułami routingu zdarzeń
- Walidacją schematów
- Obsługą martwych listów
- Możliwością replay zdarzeń
- Monitorowaniem i alertami"

Event sourcing

Zaimplementuj z pomocą AI:

  • Projektowanie event store
  • Wersjonowanie zdarzeń
  • Budowanie projekcji
  • Tworzenie snapshot
  • Logika replay zdarzeń
// Prompt projektowania DynamoDB:
"Zaprojektuj schemat DynamoDB dla:
- Single table design
- Optymalizacja GSI
- Klucze kompozytowe
- Transakcje
- Przetwarzanie strumieni
- Auto-scaling"
-- Aurora Serverless:
"Skonfiguruj Aurora Serverless v2:
- Pooling połączeń
- Użycie Data API
- Polityki skalowania
- Strategie kopii zapasowych"
// Konfiguracja API Gateway:
"Skonfiguruj API Gateway z:
- Definicjami zasobów REST
- Autentyfikacją i autoryzacją
- Transformacją żądań/odpowiedzi
- Throttling i rate limiting
- Monitorowaniem i metrrykami
- Wersjonowaniem API"
// GraphQL serverless:
"Zaimplementuj GraphQL serverless z:
- Apollo Server Lambda
- Schema stitching
- Caching na poziomie resolverów
- Batch loading z DataLoader
- Subscriptions z WebSocket"
// Prompt obserwacyjności:
"Zaimplementuj monitoring serverless z:
- Structured logging
- Distributed tracing
- Custom metrics
- Alertami w czasie rzeczywistym
- Dashboardami wydajności
- Error tracking"

Środowisko lokalne

Okno terminala
# Lokalne testowanie:
"Skonfiguruj lokalny development z:
- SAM Local dla Lambda
- LocalStack dla usług AWS
- Hot reloading
- Debug breakpoints"

Testing

# Testowanie serverless:
"Stwórz strategie testowania z:
- Unit testy dla funkcji
- Integration testy
- E2E testy z rzeczywistymi usługami
- Contract testing"
// Bezpieczeństwo serverless:
"Zaimplementuj bezpieczeństwo z:
- IAM least privilege
- Szyfrowaniem w spoczynku i tranzycie
- Input validation
- Rate limiting
- API key management
- VPC configuration"
// Optymalizacja kosztów:
"Zoptymalizuj koszty serverless z:
- Right-sizing funkcji Lambda
- Provisioned concurrency tylko dla krytycznych funkcji
- Lifecycle policies dla S3
- DynamoDB on-demand vs provisioned
- Monitoring kosztów z budgetami"
  1. Analiza cold start: “Zidentyfikuj i zminimalizuj cold start latency”
  2. Optymalizacja pamięci: “Znajdź optymalną konfigurację pamięci dla funkcji”
  3. Cache strategy: “Zaimplementuj inteligentne cache’owanie”
  4. Connection pooling: “Optymalizuj połączenia z bazą danych”
# CloudFormation/SAM:
"Stwórz template IaC z:
- Parametryzowanymi zasobami
- Cross-stack references
- Environment-specific configs
- Blue-green deployments
- Rollback mechanisms"
# Pipeline serverless:
"Stwórz GitHub Actions dla serverless z:
- Multi-environment deployments
- Automated testing
- Security scanning
- Canary deployments
- Monitoring integration"
// Integracja mikrousług:
"Zaimplementuj komunikację serverless z:
- Event-driven messaging
- Synchronous API calls
- Service mesh dla serverless
- Circuit breaker patterns
- Retry strategies z exponential backoff"

Integracja hybrid

Łącz serverless z tradycyjną infrastrukturą:

  • API Gateway -> Lambda -> ECS/EKS
  • EventBridge integration
  • VPC peering dla prywatnych zasobów
  • Shared data stores
  • Legacy system integration
// Strukturyzuj prompty serverless jak:
"Stwórz [funkcję serverless] z:
- Specific cloud provider requirements
- Performance requirements
- Security considerations
- Cost optimization
- Monitoring integration
Używając [framework] i następując [compliance requirements]"

Code generation

AI może automatycznie:

  • Generować boilerplate kod
  • Tworzyć IaC templates
  • Konfigurować monitoring
  • Optymalizować konfiguracje

Operations

AI może pomóc z:

  • Analizą logów
  • Alerting rules
  • Cost optimization
  • Performance tuning