Azure OpenAI vs modele self-hosted - koszty, latency i rezydencja danych w UE
W 2026 roku rynek LLM dojrzał na tyle, że oba podejścia są produkcyjne. Azure OpenAI oferuje modele OpenAI z gwarancjami SLA i wdrożeniami Data Zone w Europie. Jednocześnie stos do samodzielnego hostowania (vLLM, SGLang, TensorRT-LLM) osiągnął poziom stabilności pozwalający obsługiwać tysiące zapytań na sekundę na klastrach GPU.
Pytanie nie brzmi „które jest lepsze” - brzmi „które jest lepsze dla Twojego scenariusza”. Firma przetwarzająca 500 zapytań dziennie ma zupełnie inną ekonomikę niż platforma obsługująca 2 miliony tokenów na godzinę.
Schemat decyzyjny - kiedy Azure OpenAI, kiedy self-hosting
Zanim zagłębimy się w cenniki i benchmarki, oto szybki schemat:
Wybierz Azure OpenAI, gdy:
- Wolumen < 50 000 zapytań dziennie (koszt dedykowanego GPU jest nieuzasadniony)
- Potrzebujesz modeli frontier (GPT-4o, GPT-4.1, o3) - niedostępnych jako open-weight
- Organizacja wymaga SLA 99.9% bez budowania zespołu MLOps
- Integracja z ekosystemem Microsoft (Entra ID, Azure AI Search, Cosmos DB)
- Wydatki kapitałowe (CapEx) na infrastrukturę GPU nie są akceptowalne
Wybierz self-hosting, gdy:
- Wolumen > 200 000 zapytań dziennie (ekonomia skali przechyla szalę)
- Dane nie mogą opuszczać Twojej infrastruktury - nawet do sieci Microsoftu
- Potrzebujesz modeli dostrojonych do własnych danych z pełną kontrolą wag
- Opóźnienie < 100ms TTFT jest krytyczne (eliminacja narzutu sieciowego)
- Masz zespół MLOps/Platform Engineering zdolny utrzymać klaster GPU
Strefa szara (50-200K zapytań/dzień): Tutaj decyzja zależy od proporcji kosztów GPU do kosztów zespołu. Jeśli masz już klaster Kubernetes z GPU (np. do trenowania modeli) - self-hosting jest naturalnym rozszerzeniem. Jeśli GPU byłoby nowym wydatkiem - Azure OpenAI prawdopodobnie wygra.
Azure OpenAI Service - architektura, cennik i Data Zones
Typy deploymentu i ich wpływ na rezydencję danych
Azure OpenAI oferuje trzy typy deploymentu, z których każdy ma inne gwarancje lokalizacji:
| Typ deploymentu | Lokalizacja inferencji | Dane at-rest | Cena vs. Global | Dla kogo |
|---|---|---|---|---|
| Global Standard | Dowolny region Microsoft (optymalizacja latency) | W ramach geografii (Europa) | Bazowa | Prototypowanie, niski wolumen bez wymagań lokalizacyjnych |
| Data Zone Standard | Wyłącznie regiony EU (Sweden Central, France Central, Germany West Central) | W EU Data Zone | +5-10% | Firmy podlegające RODO z wymogiem przetwarzania w UE |
| Regional Standard | Konkretny region (np. Sweden Central) | W wybranym regionie | +10-15% | Wymóg konkretnej jurysdykcji (np. KNF, dane medyczne) |
Kluczowe dla polskich firm: Data Zone Standard gwarantuje, że zarówno inferencja (przetwarzanie promptu), jak i dane at-rest pozostają w europejskich regionach Azure. To spełnia wymogi RODO Art. 44-49 bez konieczności dodatkowych zabezpieczeń transferu danych.
Dla sektora finansowego podlegającego KNF - Regional Standard z deployment w Sweden Central lub Germany West Central daje najsilniejsze gwarancje. Microsoft opublikował dokumentację compliance specyficzną dla tego regionu.
Cennik Azure OpenAI - modele produkcyjne (Pay-As-You-Go)
Ceny za milion tokenów, deployment Data Zone Standard (EU):
| Model | Input (za 1M tokenów) | Output (za 1M tokenów) | Context window | Zastosowanie |
|---|---|---|---|---|
| GPT-4o | $2.50 | $10.00 | 128K | Ogólne zastosowanie, multimodalny |
| GPT-4.1 | $2.00 | $8.00 | 1M | Kodowanie, długi kontekst |
| GPT-4.1 mini | $0.40 | $1.60 | 1M | Klasyfikacja, ekstrakcja, routing |
| GPT-4.1 nano | $0.10 | $0.40 | 1M | Masowe przetwarzanie, niski koszt |
| o3 | $10.00 | $40.00 | 200K | Rozumowanie, analiza, planowanie |
| o4-mini | $1.10 | $4.40 | 200K | Rozumowanie przy niższym koszcie |
Provisioned Throughput Units (PTU) - stały koszt, gwarantowana wydajność
Dla przewidywalnych obciążeń Azure oferuje model PTU - rezerwacja dedykowanej przepustowości rozliczanej za godzinę, niezależnie od liczby tokenów:
- PTU zapewnia gwarantowany throughput bez throttlingu
- Opłacalny od ~50M tokenów/miesiąc (punkt przełamania vs. Pay-As-You-Go)
- Wymaga zobowiązania: minimum 1 miesiąc (Monthly Reserved) lub 1 rok (Annual Reserved z rabatem)
- Cena zależy od modelu: GPT-4o = ok. $6/PTU/godzinę, GPT-4.1 mini = ok. $3.50/PTU/godzinę
Kalkulacja przykładowa: Platforma e-commerce z asystentem AI obsługującym 30 000 konwersacji/dzień (średnio 800 tokenów input + 300 output na turę, 4 tury na konwersację):
- Dzienne zużycie: 30 000 × 4 × (800 + 300) = 132M tokenów/dzień
- Pay-As-You-Go (GPT-4.1 mini): input 96M × $0.40/M + output 36M × $1.60/M = $96/dzień = ~$2 880/miesiąc
- PTU (szacunkowo 3 jednostki GPT-4.1 mini): 3 × $3.50 × 24h × 30 = ~$7 560/miesiąc
W tym scenariuszu Pay-As-You-Go wygrywa. PTU ma sens dopiero przy znacznie wyższym wolumenie lub gdy gwarancja niskiego opóźnienia jest krytyczna (eliminacja zimnych startów i opóźnień w kolejce).
Self-hosting LLM - stos technologiczny i koszty
Architektura referencyjna na Azure (AKS + GPU)
Self-hosting na Azure oznacza uruchomienie modeli open-weight na Azure Kubernetes Service z node poolami GPU:
┌───────────────────────────────────────────────────────┐
│ Azure Kubernetes Service (AKS) │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌─────────────┐ │
│ │ Node Pool │ │ Node Pool │ │ Node Pool │ │
│ │ CPU (system) │ │ GPU (infer) │ │ CPU (tools) │ │
│ │ Standard_D4s │ │ NC A100 v4 │ │ Standard_D8s│ │
│ │ 3 nodes │ │ 2-4 nodes │ │ 2 nodes │ │
│ └──────────────┘ └──────────────┘ └─────────────┘ │
│ │
│ Inference engine: vLLM 0.8+ / SGLang │
│ Model store: Azure Blob Storage (Premium) │
│ Monitoring: Prometheus + GPU metrics exporter │
│ Load balancer: Azure Application Gateway │
└───────────────────────────────────────────────────────┘
Koszty GPU na Azure - instancje produkcyjne
| Instancja Azure | GPU | VRAM | Cena/godz. (PAYG) | Cena/godz. (1Y RI) | Obsługuje model |
|---|---|---|---|---|---|
| Standard_NC24ads_A100_v4 | 1× A100 80GB | 80 GB | ~$3.67 | ~$2.34 | Llama 3 70B (4-bit), Mistral Large |
| Standard_NC48ads_A100_v4 | 2× A100 80GB | 160 GB | ~$7.35 | ~$4.68 | Llama 4 Maverick, Qwen 72B (FP16) |
| Standard_ND96isr_H100_v5 | 8× H100 80GB | 640 GB | ~$32.77 | ~$20.33 | Dowolny model do 400B+ params |
| Standard_NC4as_T4_v3 | 1× T4 16GB | 16 GB | ~$0.53 | ~$0.33 | Llama 3 8B (4-bit), Phi-3 mini |
Uwaga o dostępności: W regionach europejskich (North Europe, West Europe, Sweden Central) instancje A100 i H100 wymagają wcześniejszego złożenia quota request. Czas oczekiwania: 1-4 tygodnie. Planuj z wyprzedzeniem.
Koszt na token - self-hosting vs Azure OpenAI
Kluczowa kalkulacja: ile kosztuje wygenerowanie 1M tokenów na własnej infrastrukturze?
Scenariusz: Llama 4 Scout 17B na 1× A100 80GB (vLLM, FP16)
- Throughput vLLM: ~3 500 tokenów/sekundę (output, continuous batching)
- Tokenów na godzinę: 3 500 × 3 600 = 12.6M tokenów
- Koszt instancji: $3.67/godz. (PAYG) lub $2.34/godz. (1Y RI)
- Koszt per 1M tokenów: $0.29 (PAYG) / $0.19 (RI)
Scenariusz: Llama 3 70B na 2× A100 80GB (vLLM, 4-bit AWQ)
- Throughput vLLM: ~1 800 tokenów/sekundę (output, continuous batching)
- Tokenów na godzinę: 6.48M tokenów
- Koszt instancji: $7.35/godz. (PAYG)
- Koszt per 1M tokenów: $1.13 (PAYG) / $0.72 (RI)
Porównanie z Azure OpenAI GPT-4.1 mini ($1.60/M output): self-hosted Llama 3 70B daje porównywalną jakość w wielu zadaniach przy koszcie $0.72-1.13/M - oszczędność 30-55%. Ale to nie uwzględnia kosztów operacyjnych.
Ukryte koszty self-hostingu - co składa się na TCO
Sam koszt GPU to nie cały obraz. Pełne TCO self-hostingu obejmuje:
| Kategoria kosztu | Szacunek miesięczny (klaster 2× A100) | Uwagi |
|---|---|---|
| GPU compute | $5 290 (PAYG) / $3 370 (RI) | 24/7 dla dwóch A100 |
| Magazyn (wagi modelu) | ~$50-100 | Azure Blob Premium, ~200GB na model |
| Sieć (egress) | ~$50-200 | Zależy od ruchu klient→inference |
| Monitoring/logi | ~$100-200 | Log Analytics, Prometheus, metryki GPU |
| Zespół MLOps (ułamek FTE) | $2 000-5 000 | 0.2-0.5 FTE inżyniera platformy (dyżury, aktualizacje, diagnostyka) |
| Koszt przestojów | Zmienny | Brak SLA - awaria GPU/OOM = brak usługi |
| Suma TCO: $7 500-11 000/miesiąc | Dla klastra obsługującego ~190M tokenów/dzień | |
Przy 190M tokenów/dzień (5.7B/miesiąc) na Azure OpenAI GPT-4.1 mini:
- Input (60%): 3.42B × $0.40/M = $1 368
- Output (40%): 2.28B × $1.60/M = $3 648
- Suma Azure OpenAI: ~$5 016/miesiąc
Wniosek: Przy tym wolumenie i modelu GPT-4.1 mini, Azure OpenAI jest tańszy lub porównywalny z self-hostingiem, gdy uwzględnimy TCO. Self-hosting wygrywa dopiero gdy:
- Wolumen rośnie 3-5× (GPU amortyzuje się lepiej)
- Używamy modeli open-weight, które w konkretnym zadaniu dorównują GPT-4.1 mini
- Zespół MLOps już istnieje (koszt krańcowy obsługi LLM jest niski)
Opóźnienia - porównanie w scenariuszach produkcyjnych
Składniki opóźnienia
Opóźnienie od końca do końca (od wysłania zapytania do pierwszego tokenu - TTFT) składa się z:
| Komponent | Azure OpenAI (Data Zone EU) | Self-hosted (AKS, ten sam region) |
|---|---|---|
| Opóźnienie sieciowe RTT (klient → endpoint) | 5-15 ms (klient w EU) | 1-5 ms (klient w tym samym VNet) |
| Opóźnienie kolejki/schedulera | 0-500 ms (zależy od obciążenia) | 0-50 ms (własny scheduler) |
| Prefill (przetwarzanie promptu) | 50-200 ms (zależy od modelu/promptu) | 30-150 ms (optymalizacja pod model) |
| TTFT (czas do pierwszego tokenu) | 100-700 ms (P50-P99) | 50-250 ms (P50-P99) |
| Prędkość generowania tokenów | 50-80 tok./s (GPT-4o) | 80-150 tok./s (Llama 70B na A100) |
Kiedy opóźnienie jest czynnikiem decydującym
- Chatboty klienckie (TTFT < 500ms): Oba rozwiązania spełniają wymagania w większości przypadków. Azure OpenAI w P95 może przekraczać 500ms pod obciążeniem - rozważ PTU.
- Autouzupełnianie kodu (TTFT < 200ms): Self-hosting wygrywa zdecydowanie. Azure OpenAI Pay-As-You-Go nie gwarantuje tego poziomu.
- Przetwarzanie wsadowe (opóźnienie nieistotne): Azure OpenAI Batch API z 50% rabatem - najtańsza opcja.
- Głos w czasie rzeczywistym / streaming (TTFT < 100ms): Tylko self-hosting z dedykowanym GPU bez współdzielenia zasobów.
Rezydencja danych - wymogi prawne dla polskich organizacji
RODO i przetwarzanie danych osobowych w LLM
Gdy prompt zawiera dane osobowe (imiona, numery PESEL, dane medyczne, korespondencja), zastosowanie mają przepisy RODO dotyczące transferu danych:
Azure OpenAI - gwarancje Microsoft:
- Data Zone Standard: inferencja i dane at-rest w regionach EU
- Microsoft jako procesor danych (Data Processing Agreement wbudowany w umowę Enterprise)
- Prompty nie są używane do trenowania modeli (Zero Data Retention dla wybranych modeli)
- Audit logs dostępne w Azure Monitor / Diagnostic Settings
- Certyfikaty: ISO 27001, SOC 2 Type II, C5 (BSI), ENS High
Self-hosting - pełna kontrola:
- Dane nie opuszczają Twojej infrastruktury (VNet/Private Endpoint)
- Ty jesteś administratorem danych - nie ma procesora zewnętrznego
- Brak zależności od warunków umowy z dostawcą cloud dla warstwy AI
- Wymagana własna dokumentacja compliance (DPIA, RoPA)
Sektor finansowy (KNF) - dodatkowe wymagania
Dla instytucji regulowanych przez KNF (banki, ubezpieczyciele, TFI) kluczowe są:
- Outsourcing do chmury - wymaga notyfikacji KNF zgodnie z Rekomendacją D i wytycznymi EBA
- Łańcuch podwykonawców - Azure OpenAI wprowadza Microsoft jako procesora i potencjalnie sub-procesorów (datacenter operators)
- Prawo do audytu - Microsoft Enterprise Agreements zawierają klauzulę audytu, ale praktyczna realizacja jest ograniczona
- Exit strategy - wymagane przez KNF, łatwiejsze przy self-hostingu (model open-weight = brak vendor lock-in)
Rekomendacja dla sektora finansowego: Architektura hybrydowa - Azure OpenAI do zadań bez danych osobowych (generowanie dokumentacji, analiza publicznie dostępnych danych), self-hosting do przetwarzania danych klientów (klasyfikacja reklamacji, analiza korespondencji).
Sektor publiczny i administracja
Jednostki podlegające Ustawie o krajowym systemie cyberbezpieczeństwa i rozporządzeniom KPRM o chmurze obliczeniowej dla podmiotów publicznych:
- Azure jest na liście dostawców chmury obliczeniowej dopuszczonych przez KPRM
- Self-hosting na infrastrukturze Azure w regionie EU spełnia wymogi lokalizacji
- Wymóg klasyfikacji danych: dane „zwykłe” mogą iść do Azure OpenAI (Data Zone EU), dane „wrażliwe” wymagają self-hostingu lub przetwarzania on-premise
Scenariusze wdrożenia - trzy architektury referencyjne
Scenariusz 1: Startup / SME (< 10K zapytań/dzień)
Rekomendacja: Azure OpenAI (Pay-As-You-Go)
┌──────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ Aplikacja │────▶│ Azure API Mgmt │────▶│ Azure OpenAI │
│ (App Service)│ │ (rate limiting) │ │ GPT-4.1 mini │
└──────────────┘ └──────────────────┘ │ Data Zone EU │
└──────────────────┘
- Model: GPT-4.1 mini (najlepszy stosunek jakości do kosztu dla większości zadań)
- Koszt szacunkowy: $50-200/miesiąc
- Czas wdrożenia: 1-2 dni (wdrożenie modelu + integracja API)
- Zespół wymagany: 0 FTE dedykowanego (programista integruje API)
Scenariusz 2: Średnia firma / regulowany sektor (10-100K zapytań/dzień)
Rekomendacja: Azure OpenAI z PTU + gateway do routingu
┌──────────────┐ ┌──────────────────┐ ┌──────────────────────┐
│ Aplikacje │────▶│ AI Gateway │──┬─▶│ Azure OpenAI PTU │
│ (wielu │ │ (routing, │ │ │ GPT-4o (złożone) │
│ konsumentów)│ │ caching, │ │ └──────────────────────┘
└──────────────┘ │ rate limiting) │ │ ┌──────────────────────┐
└──────────────────┘ └─▶│ Azure OpenAI PAYG │
│ GPT-4.1 nano (proste)│
└──────────────────────┘
- Model: Mix - GPT-4o/4.1 dla złożonych zadań, GPT-4.1 nano dla klasyfikacji/routingu
- Koszt szacunkowy: $1 500-5 000/miesiąc
- AI Gateway: Azure API Management z politykami LLM lub rozwiązanie open-source (LiteLLM, Portkey)
- Cache semantyczny: Zmniejsza koszty o 20-40% przy powtarzalnych zapytaniach
Scenariusz 3: Duża organizacja / wysoki wolumen (>100K zapytań/dzień)
Rekomendacja: Architektura hybrydowa - self-hosting + Azure OpenAI jako zapas
┌──────────────┐ ┌──────────────────┐ ┌──────────────────────┐
│ Aplikacje │────▶│ AI Gateway │──┬─▶│ Self-hosted (AKS) │
│ │ │ (LiteLLM / │ │ │ Llama 4 Scout 17B │
└──────────────┘ │ custom router) │ │ │ vLLM na 2×A100 │
└──────────────────┘ │ └──────────────────────┘
│ ┌──────────────────────┐
└─▶│ Azure OpenAI │
│ GPT-4o (rezerwowy │
│ + złożone zadania) │
└──────────────────────┘
- Główny: Self-hosted Llama 4 / Qwen 72B do 80% ruchu (proste zadania, dane wrażliwe)
- Zapasowy: Azure OpenAI GPT-4o do złożonych zadań wymagających głębokiego rozumowania
- Logika routingu: Klasyfikator (GPT-4.1 nano lub oparty na regułach) decyduje o kierowaniu
- Koszt szacunkowy: $8 000-15 000/miesiąc (hybryda) vs. $15 000-30 000 (wyłącznie Azure OpenAI)
- Zespół wymagany: 0.5-1 FTE inżyniera MLOps/Platform
Porównanie bezpośrednie - tabela decyzyjna
| Wymiar | Azure OpenAI Service | Self-hosted (AKS + vLLM) | Werdykt |
|---|---|---|---|
| Koszt przy niskim wolumenie (<1M tok/dzień) | $1-50/miesiąc | $2 500+/miesiąc (GPU idle) | 🏆 Azure OpenAI |
| Koszt przy wysokim wolumenie (>100M tok/dzień) | $5 000-15 000/miesiąc | $3 500-8 000/miesiąc | 🏆 Self-hosted |
| TTFT (P50) | 200-400 ms | 50-150 ms | 🏆 Self-hosted |
| TTFT (P99, pod obciążeniem) | 500-2000 ms | 150-500 ms | 🏆 Self-hosted |
| Jakość modeli (frontier) | GPT-4o, o3 - najlepsza | Llama 4, Qwen - dobra, ale niższa | 🏆 Azure OpenAI |
| Rezydencja danych (RODO) | Data Zone EU - wystarczające | Pełna kontrola - dane nie opuszczają VNet | 🏆 Self-hosted |
| Compliance (KNF/sektor publiczny) | Wymaga DPA + notyfikacja outsourcingu | Brak outsourcingu AI - uproszczona dokumentacja | 🏆 Self-hosted |
| Czas do uruchomienia | Godziny (API key + deployment) | Tygodnie (quota, setup, testowanie) | 🏆 Azure OpenAI |
| Skalowalność | Automatyczna (limit = quota) | Manualna (dodawanie GPU nodes) | 🏆 Azure OpenAI |
| Vendor lock-in | Wysoki (API specyficzne dla OpenAI) | Niski (model open-weight, standardowe API) | 🏆 Self-hosted |
| Narzut operacyjny | Zerowy | 0.3-1 FTE | 🏆 Azure OpenAI |
| Dostrajanie modeli | Ograniczone (fine-tuning wybranych modeli) | Pełne (LoRA, QLoRA, RLHF, DPO) | 🏆 Self-hosted |
Migracja między podejściami - jak uniknąć pułapki vendor lock-in
Od Azure OpenAI do self-hostingu
Typowa ścieżka gdy wolumen rośnie:
- Faza 1 (0-6 mies.): Azure OpenAI Pay-As-You-Go - walidacja przypadku użycia, zbieranie danych o wzorcach zapytań
- Faza 2 (6-12 mies.): Azure OpenAI PTU + ewaluacja modeli open-weight na Twoich danych
- Faza 3 (12+ mies.): Hybryda - self-hosted do 70-80% ruchu, Azure OpenAI do zadań wymagających modeli frontier
Kluczowa rada: Od dnia pierwszego używaj abstrakcji API (LiteLLM, OpenRouter SDK lub własny wrapper). Format OpenAI Chat Completions jest de facto standardem - vLLM go implementuje natywnie. Migracja z Azure OpenAI na self-hosted vLLM to zmiana jednego adresu URL w konfiguracji.
Abstrakcja API - przykład z LiteLLM
# config.yaml - routing między Azure OpenAI a self-hosted vLLM
model_list:
- model_name: "production-chat"
litellm_params:
model: "azure/gpt-4.1-mini"
api_base: "https://my-resource.openai.azure.com/"
api_key: "os.environ/AZURE_API_KEY"
model_info:
id: "azure-primary"
- model_name: "production-chat"
litellm_params:
model: "openai/llama-4-scout"
api_base: "http://vllm-inference.internal:8000/v1"
api_key: "dummy" # self-hosted, no auth needed internally
model_info:
id: "self-hosted-primary"
router_settings:
routing_strategy: "cost-based" # kieruj do tańszego, przełącz na droższy w razie awarii
num_retries: 2
timeout: 30
Taka konfiguracja pozwala:
- Kierować ruch do self-hosted jako domyślnego (tańszego)
- Automatycznie przełączać na Azure OpenAI gdy self-hosted jest niedostępny
- Zmieniać proporcje ruchu bez zmian w kodzie aplikacji
Optymalizacja kosztów Azure OpenAI - praktyczne techniki
Jeśli wybrałeś Azure OpenAI, te techniki redukują rachunek o 30-60%:
1. Cache semantyczny
Wiele zapytań w aplikacjach biznesowych powtarza się (FAQ, onboarding, standardowe procedury). Cache na poziomie embeddingów + cosine similarity eliminuje powtórne wywołania:
# Azure Redis Enterprise z wyszukiwaniem wektorowym
# lub Azure AI Search jako cache layer
SIMILARITY_THRESHOLD = 0.95 # > 95% podobieństwo = cache hit
async def get_completion_with_cache(prompt: str):
embedding = await get_embedding(prompt)
cached = await redis.ft_search(embedding, threshold=SIMILARITY_THRESHOLD)
if cached:
return cached.response # 0 tokenów, 0 kosztów
response = await azure_openai.chat.completions.create(...)
await redis.set(embedding, response)
return response
Typowy efekt: 20-40% mniej wywołań API w aplikacjach z powtarzalnym ruchem.
2. Kompresja promptów i warstwowa architektura modeli
Nie każde zapytanie wymaga GPT-4o. Architektura wielowarstwowa:
- Tier 1 (GPT-4.1 nano, $0.10/M input): Klasyfikacja intencji, routing, proste ekstrakcje
- Tier 2 (GPT-4.1 mini, $0.40/M input): Generowanie odpowiedzi, podsumowania, tłumaczenia
- Tier 3 (GPT-4o / o3, $2.50-10/M input): Złożone rozumowanie, analiza dokumentów, planowanie
Router na Tier 1 kosztuje grosze, a pozwala kierować 60-70% ruchu do tańszych modeli.
3. Azure OpenAI Batch API
Dla zadań nieinteraktywnych (przetwarzanie dokumentów, generowanie raportów, analizy nocne):
- 50% rabatu względem standardowego cennika
- Wyniki dostępne w ciągu 24h
- Idealny do: indeksowania dokumentów, generowania embeddingów, klasyfikacji wsadowej
4. Inżynieria promptów pod kątem kosztów
- Zmniejsz system prompt (każdy token kosztuje przy każdym wywołaniu)
- Używaj ustrukturyzowanego wyjścia (JSON mode) - model generuje mniej zbędnych tokenów
- Ogranicz
max_tokensdo realnie potrzebnej długości odpowiedzi - Ustawiaj
temperature: 0gdy nie potrzebujesz kreatywności (szybsza generacja)
Monitoring i FinOps dla wdrożeń LLM
Niezależnie od wybranego podejścia, kontrola kosztów jest krytyczna:
Metryki do śledzenia
| Metryka | Azure OpenAI | Self-hosted | Próg alertu |
|---|---|---|---|
| Koszt na zapytanie | Azure Cost Management | Własne obliczenie (tokeny × koszt/token) | > 2× średnia z ostatnich 7 dni |
| Tokenów na zapytanie (śr.) | Azure Monitor Diagnostic Logs | vLLM metrics endpoint | > 3× oczekiwana długość |
| TTFT (P95) | Application Insights | Prometheus histogram | > 1000 ms |
| Wskaźnik błędów (429/500) | Azure Monitor | Prometheus counter | > 1% |
| GPU utilization | Nie dotyczy | DCGM exporter | < 30% (przepłacasz) lub > 90% (ryzyko throttlingu) |
| Cache hit ratio | Metryka własna | Metryka własna | < 15% (cache nie działa) |
Dashboard kosztów - co powinien zawierać
┌──────────────────────────────────────────────────────┐
│ LLM Cost Dashboard (Azure Workbook / Grafana) │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌──────────────┐ │
│ │ Daily cost │ │ Tokens/day │ │ Cost/1K req │ │
│ │ $147 ▲12% │ │ 45M ▲8% │ │ $0.032 ▼3% │ │
│ └─────────────┘ └─────────────┘ └──────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Cost breakdown by model (stacked area chart) │ │
│ │ [GPT-4o: 45%] [GPT-4.1 mini: 35%] [nano: 20%] │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Top consumers by application/team │ │
│ │ 1. Customer Support Bot: $89/day │ │
│ │ 2. Document Processing: $34/day │ │
│ │ 3. Internal Copilot: $24/day │ │
│ └─────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────┘
Podsumowanie - matryca decyzyjna
| Twoja sytuacja | Rekomendacja | Uzasadnienie |
|---|---|---|
| Startup, MVP, <10K zapytań/dzień | Azure OpenAI PAYG | Zero infra, szybki start, koszt < $200/mies. |
| Firma regulowana (KNF), dane osobowe w promptach | Self-hosted na AKS (dane wrażliwe) + Azure OpenAI (reszta) | Pełna kontrola danych + compliance bez kompromisów |
| Średni wolumen, wymagane SLA | Azure OpenAI PTU | Gwarantowany throughput, przewidywalny koszt |
| Wysoki wolumen (>100M tok/dzień), zespół MLOps istnieje | Self-hosted (główny) + Azure OpenAI (zapasowy) | 50-70% oszczędności na compute, brak vendor lock-in |
| Potrzebujesz modeli dostrojonych na własnych danych | Self-hosted | Pełna kontrola wag, LoRA/QLoRA, iteracyjne dostrajanie |
| Sektor publiczny, wymóg KPRM | Azure OpenAI Data Zone EU | Azure na liście KPRM, Data Zone = dane w EU, minimalna dokumentacja |
Nie ma jednej poprawnej odpowiedzi. Najlepsze organizacje zaczynają od Azure OpenAI (szybki czas do wartości biznesowej), mierzą wolumen i wzorce użycia, a po 3-6 miesiącach podejmują świadomą decyzję o self-hostingu tam, gdzie ekonomika to uzasadnia.
Kluczowe: od pierwszego dnia używaj abstrakcji API (LiteLLM, standardowy format OpenAI). Dzięki temu migracja między podejściami to zmiana konfiguracji, nie przepisywanie aplikacji.
Jak możemy pomóc
W Devopsity projektujemy architektury LLM na Azure, AWS i GCP - od pierwszej wyceny po produkcyjne wdrożenie. Typowe zaangażowanie:
- Assessment (1-2 dni) - analiza przypadku użycia, dobór modelu, kalkulacja kosztów Azure OpenAI vs self-hosting
- Proof of Concept (1-2 tygodnie) - wdrożenie pilotażowe z pomiarem latency i kosztów na rzeczywistych danych
- Produkcja (2-4 tygodnie) - pełna architektura: AI Gateway, monitoring, FinOps, compliance
- Optymalizacja (ongoing) - semantic caching, tiered models, migracja do self-hostingu gdy wolumen uzasadnia
Planujesz wdrożenie LLM w produkcji?
Umów się na bezpłatną 30-minutową konsultację techniczną. Omówimy Twoją architekturę AI i optymalny model kosztowy.
Najczęściej zadawane pytania
Czy Azure OpenAI Service przetwarza moje dane w Europie?
Tak, przy wyborze deploymentu Data Zone Standard lub Regional Standard. Data Zone EU gwarantuje, że zarówno inferencja (przetwarzanie promptu), jak i dane at-rest pozostają w europejskich regionach Azure (Sweden Central, France Central, Germany West Central). Spełnia to wymogi RODO Art. 44-49.
Ile kosztuje Azure OpenAI miesięcznie dla typowej firmy?
Zależy od wolumenu i modelu. Typowe scenariusze: chatbot kliencki (10K konwersacji/dzień, GPT-4.1 mini) to ok. $300-500/miesiąc. Platforma z masowym przetwarzaniem dokumentów (100K+ zapytań/dzień) to $3 000-10 000/miesiąc. Self-hosting na 2× A100 GPU kosztuje $5 000-11 000/miesiąc (z TCO).
Kiedy self-hosting LLM jest tańszy niż Azure OpenAI?
Punkt przełamania zależy od modelu i wolumenu. Orientacyjnie: powyżej 100-200M tokenów dziennie self-hosting staje się opłacalny, pod warunkiem że masz zespół MLOps (0.3-0.5 FTE) i akceptujesz brak SLA zarządzanej usługi. Przy niższym wolumenie Azure OpenAI wygrywa dzięki modelowi pay-per-use.
Czy mogę używać Azure OpenAI w sektorze finansowym (KNF)?
Tak, pod warunkiem spełnienia wymogów outsourcingu chmurowego (notyfikacja KNF, DPA, dokumentacja łańcucha podwykonawców). Rekomendujemy architekturę hybrydową: Azure OpenAI do zadań bez danych osobowych, self-hosting do przetwarzania danych klientów.
Jak szybko mogę przejść z Azure OpenAI na self-hosting?
Jeśli od początku używasz abstrakcji API (LiteLLM, format OpenAI Chat Completions) - migracja to zmiana jednego adresu URL w konfiguracji. vLLM implementuje API kompatybilne z OpenAI natywnie. Główny koszt to czas na uzyskanie quota GPU w Azure (1-4 tygodnie) i konfigurację klastra AKS.