Azure - Pytania Rekrutacyjne dla DevOps i Cloud Engineera [2026]

Sławomir Plamowski 21 min czytania
aks azure cloud devops microsoft pytania-rekrutacyjne terraform

Azure to druga największa platforma chmurowa na świecie i domyślny wybór dla wielu przedsiębiorstw, szczególnie tych z inwestycjami w ekosystem Microsoft. Jeśli aplikujesz do firmy używającej .NET, Office 365 lub dowolnego stacku Microsoft, możesz spodziewać się pytań o Azure.

Ten przewodnik zawiera 50+ pytań rekrutacyjnych z odpowiedziami - od podstaw organizacji zasobów, przez compute, networking, po Identity i Infrastructure as Code.

Spis treści


Podstawy Azure

Jak Azure organizuje zasoby?

Odpowiedź w 30 sekund:

Azure ma hierarchiczną strukturę: Tenant (Azure AD) → Management Groups → Subscriptions → Resource Groups → Resources. Subscription to granica billingowa i dostępu, Resource Group to logiczny kontener dla zasobów o wspólnym cyklu życia.

Odpowiedź w 2 minuty:

Zrozumienie hierarchii zasobów Azure jest fundamentalne - rekruterzy często zaczynają od tego pytania, żeby sprawdzić czy rozumiesz podstawy organizacji chmury Microsoft:

Tenant (Azure AD / Entra ID)
└── Management Groups (opcjonalne)
    └── Subscriptions
        └── Resource Groups
            └── Resources

Tenant to instancja Azure AD twojej organizacji. Jeden tenant może mieć wiele subscriptions.

Management Groups to opcjonalne kontenery do organizacji subscriptions. Pozwalają stosować polityki i RBAC na dużą skalę.

Subscription to granica billingowa i dostępu. Zasoby w różnych subscriptions są domyślnie izolowane.

Resource Group to logiczny kontener dla zasobów, które mają wspólny cykl życia. Każdy zasób musi należeć do dokładnie jednej Resource Group.

Klasyczne pytanie rekrutacyjne: "Co się stanie gdy usuniesz Resource Group?"

Wszystkie zasoby w grupie zostaną usunięte. Resource Groups są kontenerami cyklu życia - mają zawierać zasoby, które powinny być tworzone i usuwane razem. Ostrożnie z produkcyjnymi Resource Groups.

Czym są Regiony i Availability Zones?

Odpowiedź w 30 sekund:

Region to geograficzna lokalizacja z jednym lub więcej data centers (np. West Europe, Poland Central). Availability Zone to fizycznie oddzielne data center w regionie z niezależnym zasilaniem i siecią. Nie wszystkie regiony mają AZ.

Odpowiedź w 2 minuty:

Azure, podobnie jak AWS, dzieli swoją infrastrukturę na regiony i strefy dostępności, ale z kilkoma istotnymi różnicami:

Koncept Opis
Region Geograficzna lokalizacja (np. West Europe = Holandia, Poland Central = Warszawa)
Availability Zone Fizycznie oddzielne data center w regionie
Paired Region Każdy region ma sparowany region do disaster recovery

Paired Regions - to koncept specyficzny dla Azure. Niektóre usługi automatycznie replikują do sparowanego regionu:

Region Sparowany Region
West Europe North Europe
East US West US
Poland Central Sweden Central

Pytanie rekrutacyjne: "Jak zapewnić high availability w Azure?"

Wdrażaj w wielu Availability Zones w ramach regionu dla HA. Dla disaster recovery replikuj do sparowanego regionu. Używaj usług zone-redundant gdzie dostępne (Zone-Redundant Storage, zone-redundant AKS).

Co to jest Azure Resource Manager (ARM)?

Odpowiedź w 30 sekund:

ARM to warstwa deploymentu i zarządzania Azure. Każda operacja Azure przechodzi przez ARM - Portal, CLI, PowerShell, SDK. ARM autentykuje przez Azure AD, autoryzuje przez RBAC i wykonuje operacje. Umożliwia też Infrastructure as Code przez ARM templates lub Bicep.

Odpowiedź w 2 minuty:

ARM jest centralnym punktem sterowania dla wszystkich zasobów Azure. Zrozumienie jak działa jest kluczowe dla każdego DevOps engineera:

flowchart LR subgraph "Klienty" Portal[Azure Portal] CLI[Azure CLI] PS[PowerShell] SDK[SDK/REST API] end subgraph "Azure" ARM[Azure Resource Manager] AAD[Azure AD] Resources[Zasoby] end Portal --> ARM CLI --> ARM PS --> ARM SDK --> ARM ARM -->|Autentykacja| AAD ARM -->|CRUD| Resources style ARM fill:#fff3e0 style AAD fill:#e3f2fd style Resources fill:#e8f5e9

ARM Templates to Infrastructure as Code w formacie JSON:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [{
    "type": "Microsoft.Storage/storageAccounts",
    "apiVersion": "2021-02-01",
    "name": "mystorageaccount",
    "location": "[resourceGroup().location]",
    "sku": {"name": "Standard_LRS"},
    "kind": "StorageV2"
  }]
}

Bicep to nowszy, czystszy DSL który kompiluje się do ARM templates:

resource storage 'Microsoft.Storage/storageAccounts@2021-02-01' = {
  name: 'mystorageaccount'
  location: resourceGroup().location
  sku: { name: 'Standard_LRS' }
  kind: 'StorageV2'
}

Bicep jest rekomendowany przez Microsoft dla nowych projektów IaC - jest znacznie czytelniejszy niż surowy JSON ARM templates.


Compute - VMs, App Service, Functions

Azure oferuje różne opcje compute. Znajomość kiedy używać której jest kluczowa na rozmowie.

Jakie są typy Virtual Machines w Azure?

Odpowiedź w 30 sekund:

Azure VMs mają serie zoptymalizowane pod różne workloady: B (burstable), D (general purpose), E (memory optimized), F (compute optimized), N (GPU). Nazwa jak Standard_D4s_v3 oznacza serię, rozmiar i generację.

Odpowiedź w 2 minuty:

Typy VM w Azure są podzielone na serie, podobnie jak w AWS, ale z inną konwencją nazewnictwa:

Seria Zastosowanie Charakterystyka
B Burstable Zmienne obciążenia, ekonomiczne
D General purpose Zbalansowane CPU/RAM
E Memory optimized Wysokie ratio RAM/CPU
F Compute optimized Wysokie ratio CPU/RAM
N GPU ML training, grafika
L Storage optimized Wysoka przepustowość dysku

Konwencja nazewnictwa:

Standard_D4s_v3
│       │││  └── Wersja (generacja)
│       ││└──── v = Premium storage
│       │└───── s = Premium storage capable
│       └────── Rozmiar (liczba vCPU)
└────────────── Seria

Opcje dostępności:

Opcja SLA Opis
Availability Set 99.95% Dystrybucja po fault/update domains
Availability Zones 99.99% Dystrybucja po fizycznych data centers
VM Scale Sets 99.95%+ Autoskalowanie identycznych VM

Pytanie rekrutacyjne: "Kiedy użyć Availability Set vs Availability Zones?"

Availability Zones zapewniają wyższą dostępność (oddzielne data centers), ale nie wszystkie regiony je wspierają. Availability Sets działają we wszystkich regionach i chronią przed awariami na poziomie rack. Używaj Zones dla produkcji gdy dostępne, Sets jako fallback.

Czym jest App Service i kiedy go używać?

Odpowiedź w 30 sekund:

App Service to w pełni zarządzana platforma PaaS dla aplikacji webowych, API i mobile backends. Deployment slots dla zero-downtime deployments, autoskalowanie, custom domains, managed identity. Idealne gdy nie potrzebujesz kontroli nad OS.

Odpowiedź w 2 minuty:

App Service to najpopularniejsza opcja hostowania aplikacji webowych w Azure. Oferuje balans między prostotą a funkcjonalnością:

App Service Plans - zasoby compute na których działają aplikacje:

Tier Cechy
Free/Shared Development, współdzielona infrastruktura
Basic Dedykowany compute, manualne skalowanie
Standard Autoskalowanie, deployment slots, daily backups
Premium Więcej instancji, więcej storage, lepsza wydajność
Isolated VNet integration, dedykowane środowisko

Kluczowe funkcje:

  • Deployment slots - staging environments z możliwością swap
  • Auto-scaling - skalowanie na podstawie metryk lub harmonogramu
  • Custom domains i SSL - wbudowane zarządzanie certyfikatami
  • Managed Identity - bezpieczny dostęp do usług Azure

Klasyczne pytanie rekrutacyjne: "Jak osiągnąć zero-downtime deployment w App Service?"

Używaj deployment slots. Deploy do staging slot, rozgrzej aplikację, następnie swap z produkcją. Swap jest natychmiastowy (tylko zmiana DNS/routing). Jeśli pojawią się problemy, swap z powrotem natychmiast.

# Deploy do staging
az webapp deployment source config-zip \
  --resource-group myRG \
  --name myApp \
  --slot staging \
  --src app.zip

# Swap staging z produkcją
az webapp deployment slot swap \
  --resource-group myRG \
  --name myApp \
  --slot staging \
  --target-slot production

Czym są Azure Functions i kiedy ich używać?

Odpowiedź w 30 sekund:

Azure Functions to serverless compute - event-driven, płatność za wykonanie. Triggery: HTTP, Timer, Blob, Queue, Event Hub, Cosmos DB. Hosting plans: Consumption (auto-scale do 0), Premium (pre-warmed, VNet), Dedicated (App Service Plan).

Odpowiedź w 2 minuty:

Functions to odpowiednik AWS Lambda w Azure. Idealne dla krótkich, event-driven zadań:

Hosting plans:

Plan Skalowanie Timeout Kiedy używać
Consumption Auto (0 do wielu) 5-10 min Sporadyczne, nieprzewidywalne obciążenia
Premium Pre-warmed instancje 60 min Unikanie cold starts, potrzeba VNet
Dedicated App Service Plan Unlimited Istniejący App Service, przewidywalne obciążenie

Triggery i Bindings:

Triggery definiują co uruchamia funkcję, bindings to deklaratywne połączenia z źródłami danych:

[FunctionName("ProcessOrder")]
public static void Run(
    [QueueTrigger("orders")] Order order,           // Trigger: wiadomość z kolejki
    [CosmosDB("db", "processed")] out dynamic doc)   // Output binding: zapis do Cosmos
{
    doc = new { id = order.Id, processed = DateTime.UtcNow };
}

Drzewo decyzyjne - który compute wybrać?

Rekruterzy często pytają o wybór między różnymi opcjami compute. Ten diagram pomoże ci szybko odpowiedzieć:

flowchart TD Start[Potrzebujesz compute] --> OS{Potrzebujesz pełnej kontroli nad OS?} OS -->|Tak| VM[Virtual Machine] OS -->|Nie| Container{Workload kontenerowy?} Container -->|Tak| Orch{Potrzebujesz orkiestracji K8s?} Orch -->|Tak| AKS[AKS] Orch -->|Nie| ACA[Container Apps / ACI] Container -->|Nie| Event{Event-driven, krótkie zadania?} Event -->|Tak| Functions[Azure Functions] Event -->|Nie| AppService[App Service] style VM fill:#e3f2fd style AKS fill:#e3f2fd style ACA fill:#e3f2fd style Functions fill:#e8f5e9 style AppService fill:#e8f5e9

Identity - Azure AD (Entra ID)

Identity jest centralnym elementem Azure. Praktycznie wszystko autentykuje przez Azure AD.

Czym różni się Azure AD od tradycyjnego Active Directory?

Odpowiedź w 30 sekund:

To zupełnie inne usługi. Tradycyjny AD to on-premises directory service używający LDAP i Kerberos dla domen Windows. Azure AD (teraz Entra ID) to chmurowa platforma tożsamości używająca REST API, OAuth 2.0, SAML, OpenID Connect dla aplikacji chmurowych i SaaS.

Odpowiedź w 2 minuty:

To jedno z najczęstszych pytań na rozmowach Azure. Kandydaci często mylą te dwie usługi:

Cecha Traditional AD Azure AD (Entra ID)
Lokalizacja On-premises Cloud
Protokoły LDAP, Kerberos OAuth 2.0, SAML, OIDC
Struktura OUs, GPOs, domain-joined Flat, brak GPOs
Użycie Maszyny w domenie Windows Aplikacje cloud/SaaS

Azure AD NIE jest AD w chmurze - to inna usługa zaprojektowana dla nowoczesnych wzorców autentykacji. Możesz synchronizować on-premises AD do Azure AD używając Azure AD Connect, ale to nadal dwie oddzielne usługi.

Co to jest Managed Identity i jak jej używać?

Odpowiedź w 30 sekund:

Managed Identity to automatycznie zarządzana tożsamość dla usług Azure w Azure AD. Brak credentials w kodzie - Azure obsługuje rotację. System-assigned jest powiązana z jednym zasobem i usuwana razem z nim. User-assigned jest niezależna i może być współdzielona.

Odpowiedź w 2 minuty:

Managed Identity rozwiązuje klasyczny problem "jak bezpiecznie przechowywać credentials" - po prostu ich nie ma:

Typ Cykl życia Współdzielenie
System-assigned Powiązany z zasobem Nie można współdzielić
User-assigned Niezależny Można współdzielić

Klasyczne pytanie rekrutacyjne: "Jak Azure Function powinien bezpiecznie dostać się do Key Vault?"

Użyj Managed Identity. Włącz system-assigned identity na Function, nadaj jej dostęp do Key Vault secrets przez RBAC lub access policy. Brak credentials w kodzie - tylko referencja do Key Vault w konfiguracji:

// Brak credentials - używa Managed Identity
var client = new SecretClient(
    new Uri("https://myvault.vault.azure.net/"),
    new DefaultAzureCredential());  // Automatycznie wykrywa Managed Identity

var secret = await client.GetSecretAsync("my-secret");
# Włączenie Managed Identity na Function App
az functionapp identity assign \
  --resource-group myRG \
  --name myFunctionApp

# Nadanie dostępu do Key Vault
az keyvault set-policy \
  --name myKeyVault \
  --object-id <identity-principal-id> \
  --secret-permissions get list

Jak działa RBAC w Azure?

Odpowiedź w 30 sekund:

Azure RBAC kontroluje kto może co robić na jakich zasobach. Komponenty: Security Principal (kto - user, group, service principal), Role Definition (co może - Reader, Contributor, Owner), Scope (gdzie - management group, subscription, resource group, resource).

Odpowiedź w 2 minuty:

RBAC w Azure działa na trzech elementach, które razem tworzą Role Assignment:

flowchart LR subgraph "Role Assignment" Principal[Security Principal
Kto?] Role[Role Definition
Co może?] Scope[Scope
Gdzie?] end Principal --> Assignment[Role Assignment] Role --> Assignment Scope --> Assignment style Principal fill:#e3f2fd style Role fill:#fff3e0 style Scope fill:#e8f5e9

Wbudowane role:

Rola Uprawnienia
Owner Pełny dostęp, może przypisywać role
Contributor Pełny dostęp, nie może przypisywać ról
Reader Tylko odczyt
User Access Administrator Tylko zarządzanie dostępem

Pytanie rekrutacyjne: "Developer potrzebuje deployować do App Service ale nie powinien mieć dostępu do produkcyjnej bazy danych. Jak to zrobić?"

Utwórz custom role lub użyj wbudowanej "Website Contributor" role scoped do Resource Group z App Service. Nie nadawaj dostępu na poziomie subscription. Zasada least privilege.

# Przypisanie roli na poziomie Resource Group
az role assignment create \
  --assignee developer@company.com \
  --role "Website Contributor" \
  --resource-group app-service-rg

Networking - VNet

Virtual Networks (VNet) to fundament networkingu Azure. Każdy VM, App Service (isolated tier) i AKS cluster działa wewnątrz VNet.

Jakie są komponenty VNet?

Odpowiedź w 30 sekund:

VNet to izolowana sieć w Azure z zdefiniowaną przestrzenią adresową (CIDR). Subnet to zakres w VNet gdzie deployujesz zasoby. NSG (Network Security Group) to stanowy firewall na poziomie subnetu lub NIC z regułami allow/deny.

Odpowiedź w 2 minuty:

Podstawowa architektura VNet wygląda następująco - to klasyczny trójwarstwowy model z izolacją przez NSG:

VNet: 10.0.0.0/16
├── Subnet: web-tier (10.0.1.0/24)
│   └── NSG: allow 80, 443 from internet
├── Subnet: app-tier (10.0.2.0/24)
│   └── NSG: allow from web-tier only
└── Subnet: data-tier (10.0.3.0/24)
    └── NSG: allow from app-tier only

NSG Rules mają priorytet (niższy = ważniejszy) i składają się z:

  • Source/Destination (IP, CIDR, Service Tag, ASG)
  • Protocol (TCP, UDP, *)
  • Port range
  • Action (Allow/Deny)
# Utworzenie NSG z regułą
az network nsg create --name web-nsg --resource-group myRG

az network nsg rule create \
  --nsg-name web-nsg \
  --resource-group myRG \
  --name allow-https \
  --priority 100 \
  --source-address-prefixes Internet \
  --destination-port-ranges 443 \
  --protocol Tcp \
  --access Allow

Czym różni się NSG od Azure Firewall?

Odpowiedź w 30 sekund:

NSG to darmowy, stanowy filtr pakietów L3/L4 na poziomie subnetu lub NIC - podstawowe reguły allow/deny. Azure Firewall to płatna, zarządzana usługa z filtrowaniem L7, threat intelligence, FQDN filtering i centralnym logowaniem. NSG dla microsegmentacji, Azure Firewall dla enterprise security.

Odpowiedź w 2 minuty:

To pytanie pojawia się prawie na każdej rozmowie dotyczącej networkingu Azure:

Cecha NSG Azure Firewall
Koszt Darmowy Płatna usługa
Warstwa L3/L4 (IP, port) L3-L7 (application aware)
Scope Subnet/NIC Centralny
FQDN filtering Nie Tak (*.microsoft.com)
Threat intelligence Nie Tak
Centralne logowanie Ograniczone Pełne
Użycie Microsegmentacja Enterprise perimeter

Pytanie rekrutacyjne: "Kiedy użyjesz Azure Firewall zamiast NSG?"

Gdy potrzebujesz centralnego logowania, filtrowania FQDN (allow *.microsoft.com), threat intelligence lub inspekcji na poziomie aplikacji. NSG wystarczą dla podstawowej segmentacji sieci; Azure Firewall dodaje funkcje enterprise security.

Jakie są opcje łączności w Azure?

Odpowiedź w 30 sekund:

VNet Peering łączy VNets (same lub różne regiony/subscriptions). VPN Gateway to szyfrowane połączenie przez internet do on-premises. ExpressRoute to prywatne, dedykowane połączenie do on-premises. Private Endpoint daje prywatny IP dla usług PaaS w twoim VNet.

Odpowiedź w 2 minuty:

Azure oferuje różne metody łączności w zależności od scenariusza:

Metoda Przypadek użycia
VNet Peering Łączenie VNets (ten sam lub różne regiony/subscriptions)
VPN Gateway Szyfrowane połączenie przez internet do on-premises
ExpressRoute Prywatne, dedykowane połączenie do on-premises
Private Endpoint Dostęp do usług Azure PaaS przez prywatny IP
Service Endpoint Zoptymalizowana trasa do usług Azure (nadal publiczny IP)

Private Endpoints vs Service Endpoints - to częste pytanie:

Service Endpoints włączają bezpośrednią trasę z VNet do usług Azure. Ruch zostaje w backbone Azure, ale usługa nadal ma publiczny endpoint.

Private Endpoints tworzą prywatny IP w twoim VNet dla usługi Azure. Usługa jest dostępna tylko przez ten prywatny IP. Bezpieczniejsze ale bardziej złożone.

Pytanie rekrutacyjne: "Jak zapewnić, że ruch do Azure SQL nigdy nie przechodzi przez publiczny internet?"

Użyj Private Endpoint. Tworzy prywatny IP w twoim VNet dla SQL server. Wyłącz publiczny dostęp na SQL server. Ruch między VNet a SQL zostaje całkowicie w sieci Azure.

# Utworzenie Private Endpoint dla Azure SQL
az network private-endpoint create \
  --name sql-private-endpoint \
  --resource-group myRG \
  --vnet-name myVNet \
  --subnet data-subnet \
  --private-connection-resource-id <sql-server-id> \
  --group-id sqlServer \
  --connection-name sql-connection

Storage i bazy danych

Azure oferuje różne opcje storage i baz danych. Znajomość kiedy używać której jest kluczowa.

Jakie są typy Azure Storage?

Odpowiedź w 30 sekund:

Storage Account zapewnia dostęp do: Blob Storage (object storage dla nieustrukturyzowanych danych), File Storage (SMB file shares), Queue Storage (kolejki wiadomości), Table Storage (NoSQL key-value). Blob ma tiery: Hot, Cool, Archive z różnym kosztem storage vs access.

Odpowiedź w 2 minuty:

Storage Account to kontener dla różnych usług storage:

Usługa Typ Zastosowanie
Blob Storage Object storage Nieustrukturyzowane dane, obrazy, backupy
File Storage SMB file shares Lift-and-shift, współdzielony storage
Queue Storage Kolejki wiadomości Decoupling komponentów
Table Storage NoSQL key-value Proste strukturalne dane

Blob Access Tiers:

Tier Dostęp Wzorzec kosztów
Hot Częsty Wyższy storage, niższy access
Cool Rzadki (30+ dni) Niższy storage, wyższy access
Archive Bardzo rzadki (180+ dni) Najniższy storage, rehydration wymagany

Redundancy Options:

Opcja Opis Durability
LRS 3 kopie w jednym data center 11 dziewiątek
ZRS 3 kopie w różnych AZ 12 dziewiątek
GRS LRS + async kopia do paired region 16 dziewiątek
GZRS ZRS + async kopia do paired region 16 dziewiątek

Czym jest Cosmos DB i jakie ma consistency levels?

Odpowiedź w 30 sekund:

Cosmos DB to globalnie dystrybuowana, multi-model baza NoSQL. Wspiera API: SQL, MongoDB, Cassandra, Gremlin, Table. Kluczowa cecha: 5 tuneable consistency levels od Strong (najsilniejsza) przez Session (domyślna) do Eventual (najsłabsza). Silniejsza consistency = wyższe latency.

Odpowiedź w 2 minuty:

Cosmos DB wyróżnia się możliwością wyboru poziomu consistency - to unikalna cecha często pytana na rozmowach:

Consistency Levels (od najsilniejszego do najsłabszego):

Level Gwarancja Latency
Strong Linearizable (zawsze najnowszy write) Najwyższe
Bounded Staleness Consistent w ramach K wersji lub T czasu Wysokie
Session Consistent w ramach sesji Średnie (domyślne)
Consistent Prefix Odczyty nigdy nie widzą out-of-order writes Niskie
Eventual Brak gwarancji kolejności Najniższe

Pytanie rekrutacyjne: "Kiedy wybrałbyś Strong consistency w Cosmos DB?"

Gdy absolutnie nie możesz odczytać stale data - transakcje finansowe, systemy inventory gdzie overselling jest kosztowny. Strong consistency ogranicza do single-region writes i dodaje latency. Większość aplikacji działa dobrze z Session consistency (domyślne).

Partitioning - wybierz partition key który równomiernie dystrybuuje dane i pasuje do wzorców zapytań. Zły partition key = hot partitions = throttling.

Kiedy Azure SQL vs Cosmos DB?

Odpowiedź w 30 sekund:

Azure SQL dla relacyjnych danych z ACID, złożonymi query i joinami, pionowym skalowaniem. Cosmos DB dla dokumentów/key-value z flexible schema, globalną dystrybucją, poziomym skalowaniem. SQL gdy potrzebujesz transakcji i complex queries, Cosmos gdy potrzebujesz scale i global reach.

Odpowiedź w 2 minuty:

To częste pytanie porównawcze - rekruterzy chcą sprawdzić czy rozumiesz trade-offs:

Czynnik Azure SQL Cosmos DB
Model danych Relacyjny, joins Document, key-value
Schema Fixed Flexible
Skalowanie Głównie vertical Horizontal (nieograniczone)
Consistency Strong (ACID) Tunable
Globalna dystrybucja Geo-replication Multi-region writes
Najlepsze dla Transakcyjne, complex queries Scale, global apps, flexible schema

Azure SQL opcje:

Opcja Opis
Azure SQL Database Pojedyncza baza, fully managed
Elastic Pool Wiele baz współdzielących zasoby
SQL Managed Instance ~100% kompatybilność z SQL Server

Pytanie rekrutacyjne: "Kiedy użyjesz SQL Managed Instance zamiast Azure SQL Database?"

Gdy potrzebujesz funkcji pełnego SQL Server: cross-database queries, SQL Agent, CLR, Service Broker. Managed Instance zapewnia prawie pełną kompatybilność z SQL Server dla migracji lift-and-shift.


Kontenery - AKS

Azure Kubernetes Service (AKS) to managed Kubernetes. Azure zarządza control plane, ty zarządzasz worker nodes.

Co Azure zarządza w AKS, a co ty?

Odpowiedź w 30 sekund:

Azure zarządza control plane: API server, etcd, scheduler, controller manager. Ty zarządzasz: worker nodes (VM scale sets), deployments aplikacji, konfiguracja node pools. Azure oferuje też integrację z Azure AD, networking i monitoring.

Odpowiedź w 2 minuty:

Podział odpowiedzialności w AKS jest kluczowy dla zrozumienia co musisz monitorować i zarządzać:

Co Azure zarządza:

  • Control plane (API server, etcd, scheduler, controller manager)
  • Upgrades i patching (opcjonalnie dla nodes)
  • Integracja z Azure AD, networking, monitoring

Co ty zarządzasz:

  • Worker nodes (VM scale sets)
  • Deployments aplikacji
  • Konfiguracja node pools

Node Pools - grupy nodes o tej samej konfiguracji:

AKS Cluster
├── System Node Pool (Linux, system pods)
├── User Node Pool 1 (Linux, general workloads)
└── User Node Pool 2 (Windows, .NET apps)

Jakie są opcje networkingu w AKS?

Odpowiedź w 30 sekund:

Kubenet: prosty networking, nodes dostają Azure VNet IPs, pods dostają IPs z innego range z NAT. Azure CNI: pods dostają IPs bezpośrednio z Azure VNet subnet. CNI wymagane dla Windows nodes i pełnej VNet integration.

Odpowiedź w 2 minuty:

Wybór modelu networkingu w AKS ma istotne implikacje:

Cecha Kubenet Azure CNI
Pod IPs NAT'd za node Bezpośrednie VNet IPs
Zużycie IP Efektywne Wymaga dużego subnetu
Windows support Nie Tak
Network policies Tylko Calico Azure lub Calico
VNet integration Ograniczona Pełna

Pytanie rekrutacyjne: "Jak bezpiecznie pullować images z ACR do AKS?"

Podłącz ACR do AKS używając managed identity. Uruchom az aks update --attach-acr <acr-name>. AKS dostaje rolę AcrPull automatycznie. Brak potrzeby image pull secrets.

# Podłączenie ACR do AKS
az aks update \
  --resource-group myRG \
  --name myAKS \
  --attach-acr myACR

Infrastructure as Code

IaC jest standardem w DevOps. Azure wspiera ARM templates, Bicep i Terraform.

ARM Templates vs Bicep vs Terraform - co wybrać?

Odpowiedź w 30 sekund:

ARM Templates to natywny format Azure (JSON) - verbose ale pełna kompatybilność. Bicep to DSL Microsoft który kompiluje do ARM - czystszy, rekomendowany dla nowych projektów Azure-only. Terraform to multi-cloud tool od HashiCorp - najlepszy dla środowisk hybrid/multi-cloud.

Odpowiedź w 2 minuty:

Wybór IaC tool zależy od kontekstu - rekruterzy często pytają o trade-offs:

Tool Plusy Minusy
ARM Templates Natywny, pełna kompatybilność Verbose JSON, trudny do czytania
Bicep Czysty, Microsoft-recommended Azure-only
Terraform Multi-cloud, duży ekosystem Zewnętrzny state management

Bicep - rekomendowany dla nowych projektów Azure:

// Znacznie czystszy niż ARM JSON
param location string = resourceGroup().location
param storageAccountName string

resource storage 'Microsoft.Storage/storageAccounts@2021-02-01' = {
  name: storageAccountName
  location: location
  sku: { name: 'Standard_LRS' }
  kind: 'StorageV2'
}

output storageId string = storage.id

Terraform - dla multi-cloud lub gdy zespół już go zna:

provider "azurerm" {
  features {}
}

resource "azurerm_resource_group" "main" {
  name     = "my-rg"
  location = "West Europe"
}

resource "azurerm_storage_account" "main" {
  name                     = "mystorageaccount"
  resource_group_name      = azurerm_resource_group.main.name
  location                 = azurerm_resource_group.main.location
  account_tier             = "Standard"
  account_replication_type = "LRS"
}

Monitoring i observability

Jakie są główne narzędzia monitoring w Azure?

Odpowiedź w 30 sekund:

Azure Monitor to centralna platforma - zbiera metrics i logs z wszystkich zasobów Azure. Application Insights to APM dla aplikacji (traces, dependencies, exceptions). Log Analytics to workspace dla logów z KQL query language. Azure Alerts dla powiadomień na podstawie metryk lub logów.

Odpowiedź w 2 minuty:

Azure ma zintegrowany stack monitoring - ważne jest zrozumienie jak komponenty współpracują:

flowchart TB subgraph "Źródła danych" Apps[Aplikacje] VMs[Virtual Machines] AKS[AKS] PaaS[Usługi PaaS] end subgraph "Azure Monitor" Metrics[Metrics] Logs[Log Analytics] AI[Application Insights] end subgraph "Akcje" Alerts[Alerts] Dashboards[Dashboards] Workbooks[Workbooks] end Apps --> AI VMs --> Metrics VMs --> Logs AKS --> Metrics AKS --> Logs PaaS --> Metrics Metrics --> Alerts Logs --> Alerts AI --> Alerts Metrics --> Dashboards Logs --> Workbooks style AI fill:#fff3e0 style Metrics fill:#e3f2fd style Logs fill:#e3f2fd

Application Insights kluczowe funkcje:

  • Distributed tracing (end-to-end request tracking)
  • Dependency tracking (SQL, HTTP, Redis)
  • Live metrics stream
  • Smart detection (anomaly detection)
  • Failure analysis

KQL (Kusto Query Language) - język zapytań dla Log Analytics:

// Błędy w ostatniej godzinie
requests
| where timestamp > ago(1h)
| where success == false
| summarize count() by resultCode, bin(timestamp, 5m)
| render timechart

// Wolne requesty
requests
| where duration > 1000
| project timestamp, name, duration, resultCode
| order by duration desc
| take 20

Porównanie Azure vs AWS

Jeśli masz doświadczenie z AWS, ta tabela pomoże ci szybko mapować usługi:

Azure AWS Zastosowanie
Virtual Machines EC2 Compute
App Service Elastic Beanstalk PaaS web hosting
Azure Functions Lambda Serverless compute
Blob Storage S3 Object storage
Azure SQL RDS Managed relational DB
Cosmos DB DynamoDB NoSQL
VNet VPC Virtual networking
Azure AD / Entra ID IAM + Cognito Identity
AKS EKS Managed Kubernetes
Azure DevOps CodePipeline + CodeBuild CI/CD
Key Vault Secrets Manager + KMS Secrets i klucze
Azure Monitor CloudWatch Monitoring

Scenariusze architektoniczne

Rekruterzy często pytają o design scenariuszy. Oto typowe pytania:

Zaprojektuj highly available web application na Azure

Rozwiązanie:

  • App Service w wielu regionach lub VMs w Availability Zones
  • Azure Front Door lub Traffic Manager dla global load balancing
  • Azure SQL z geo-replication lub Cosmos DB dla bazy danych
  • Blob Storage dla static assets, CDN dla caching
  • Azure AD dla autentykacji
  • Key Vault dla secrets, Managed Identity dla dostępu
  • Application Insights dla monitoringu

Jak migrować on-premises .NET app do Azure?

Kroki:

  1. Assess: Azure Migrate do discovery dependencies
  2. Wybór target: App Service (najłatwiej), AKS (kontenery), VMs (lift-and-shift)
  3. Database: SQL Managed Instance dla kompatybilności lub Azure SQL Database
  4. Identity: Azure AD Connect do sync on-premises AD
  5. Networking: VPN lub ExpressRoute dla hybrid connectivity
  6. Migracja: Azure Site Recovery dla VMs lub deploy bezpośrednio dla App Service

Na co rekruterzy naprawdę zwracają uwagę

Zrozumienie hierarchii zasobów - Tenant, Subscription, Resource Group. Kandydaci którzy nie rozumieją podstaw organizacji Azure często mają problemy z bardziej zaawansowanymi tematami.

Identity jako fundament - Azure AD/Entra ID jest centralny dla wszystkiego. Managed Identity, RBAC, Conditional Access. Rekruterzy chcą wiedzieć, że rozumiesz jak bezpiecznie łączyć usługi.

Networking - VNet, subnety, NSG, Private Endpoints. Umiejętność projektowania bezpiecznej architektury sieciowej jest kluczowa dla DevOps/Cloud Engineer.

IaC - Znajomość przynajmniej jednego narzędzia (Bicep, Terraform). Rekruterzy cenią umiejętność automatyzacji infrastruktury.

Porównanie z AWS - Jeśli masz doświadczenie z AWS, pokaż że rozumiesz różnice i podobieństwa. To pokazuje dojrzałość i umiejętność adaptacji.


Zadania praktyczne

  1. Utwórz VNet z trzema subnetami (web, app, data) i skonfiguruj NSG dla każdego z odpowiednimi regułami.
  2. Wdróż App Service z deployment slots i przeprowadź blue-green deployment.
  3. Skonfiguruj Managed Identity na Azure Function do bezpiecznego dostępu do Key Vault.
  4. Napisz Bicep template który tworzy Storage Account z Private Endpoint.
  5. Zaprojektuj architekturę dla e-commerce aplikacji z HA i DR wymaganiami.

Zobacz też


Ten artykuł jest częścią serii przygotowującej do rozmów rekrutacyjnych na stanowiska DevOps i Cloud Engineer. Sprawdź nasze fiszki z pytaniami i odpowiedziami do nauki: Fiszki Online.

Chcesz więcej pytań rekrutacyjnych?

To tylko jeden temat z naszego kompletnego przewodnika po rozmowach rekrutacyjnych. Uzyskaj dostęp do 800+ pytań z 13 technologii.

Kup pełny dostęp Zobacz bezpłatny podgląd
Powrót do blogu

Zostaw komentarz

Pamiętaj, że komentarze muszą zostać zatwierdzone przed ich opublikowaniem.