DevOps
Dasturlash, infratuzilma, SEO, AI va biznes uchun IT — qisqa va lo‘nda.
89 ta maqola
- DevOps3 daq
Bildirishnomalardan charchamasdan alertlarni qanday sozlash kerak
Odamni faqat foydalanuvchilar allaqachon qiynalayotganda yoki tez orada qiynalishi mumkin bo‘lganda va harakat talab qilinganda uyg‘oting; qolganini tiket yoki dashboardga yuboring, shovqinli alertlarni esa muntazam tozalang.
Chuqur - DevOps3 daq
Ansible playbook yordamida server sozlashni qanday avtomatlashtirish
Ansible SSH orqali serverlarni YAML’da tasvirlangan holatga keltiradi: inventory xostlarni, playbook vazifalarni sanaydi, shablonlar konfiglarni yaratadi, handlers servislarni faqat o‘zgarish bo‘lganda qayta ishga tushiradi, rollar esa hammasini qayta ishlatiladigan qiladi.
Amaliyot - DevOps3 daq
Blue-green yoki canary deploy: reliz strategiyalarini solishtirish
Blue-green butun trafikni ikki to‘liq muhit o‘rtasida birdaniga almashtiradi — orqaga qaytish bir zumda, lekin ikki baravar infratuzilma kerak. Canary trafikni yangi versiyaga bosqichma-bosqich o‘tkazadi — xavf kamroq, lekin versiyalar bo‘yicha metrikalar va avtomatik tahlil kerak.
Chuqur - DevOps4 daq
Kesh invalidatsiyasi strategiyalari: TTL, write-through, stampede
Ko‘pchilik tizimlar uchun TTL’li cache-aside va har bir yozuvda kalitni o‘chirish mos keladi; issiq kalitlarni lock yoki single-flight bilan himoyalang, TTL’ga jitter qo‘shing va fonda yangilanayotganda eskirgan ma’lumotni bering.
Chuqur - DevOps3 daq
Keshlash darajalari: brauzer, CDN, reverse proxy va ilova keshi
Kesh to‘rt darajada ishlaydi — brauzer, CDN, reverse proxy va ilova; statika foydalanuvchiga imkon qadar yaqin keshlanadi, shaxsiy ma’lumotlar faqat ilovada, asosiy qiyinchilik esa hamma joyda bitta: eskirganini o‘z vaqtida tozalash.
Asoslar - DevOps3 daq
Markazlashgan loglar: Grafana Loki yoki ELK Stack
Loki faqat label’larni indekslaydi va loglarni arzon saqlaydi — Grafana ishlatadigan ko‘pchilik jamoalarga mos; ELK butun matnni indekslaydi, kuchliroq qidiradi, lekin ancha ko‘p resurs va e’tibor talab qiladi.
Amaliyot - DevOps3 daq
Konteyner reyestri nima: Docker Hub, GHCR va xususiy registry
Container registry — Docker obrazlari ombori bo‘lib, serverlar va CI undan ilovaning tayyor yig‘masini yuklab oladi. Reyestrni CI yoki bulutingizga yaqin tanlang, obrazlarni kommit yoki versiya bo‘yicha teglang va eskilarini avtomatik tozalashni sozlang.
Asoslar - DevOps3 daq
Linux’da cron: jadval bo‘yicha vazifalarni to‘g‘ri sozlash
Vazifani crontab -e orqali qo‘shing, absolyut yo‘llarni ko‘rsating, chiqishni logga yo‘naltiring va uzoq vazifalarni parallel ishlamasligi uchun flock bilan o‘rang.
Amaliyot - DevOps3 daq
Ma’lumotlar bazasini Docker va Kubernetes’da ishga tushirish kerakmi
Docker lokal ishlab chiqish va CI’dagi bazalar uchun juda mos; production’da kichik jamoalarga odatda managed baza yaxshiroq, Kubernetes’da ishga tushirish esa faqat yetuk operator va uni boshqara oladigan odamlar bo‘lsa o‘zini oqlaydi.
Chuqur - DevOps3 daq
Ilovani Kubernetes’ga qanday deploy qilish: bosqichma-bosqich
Image’ni registry’ga joylang, Deployment, Service va konfiguratsiyani YAML’da tasvirlang, kubectl apply bilan qo‘llang, rollout status’ni tekshiring va ilovani image tegini almashtirib yangilang.
Amaliyot - DevOps3 daq
Dev, staging va production muhitlari: har biri nima uchun kerak
Dev — ishlab chiqish uchun, staging — relizni jangovarga yaqin sharoitda tekshirish uchun, production — haqiqiy foydalanuvchilar uchun. Muhitlarni ajratish xatolarni mijozlardan oldin topadi, staging esa bir xil konfiguratsiya va haqiqiy shaxsiy ma’lumotlarsiz foydali bo‘ladi.
Asoslar - DevOps3 daq
Kichik jamoalarda DevOps xatolari va ulardan qanday qochish mumkin
Kichik jamoalar murakkab vositalar yetishmasligidan emas, balki qo‘lda deploy, monitoring yo‘qligi, tekshirilmagan bekaplar va noyob serverlardan aziyat chekadi. Bularning har birini oddiy va arzon amaliyotlar bilan hal qilish mumkin.
Asoslar - DevOps3 daq
Docker Compose: ko‘p konteynerli ilovalarni qanday ishga tushirish
Docker Compose loyihaning barcha konteynerlarini bitta YAML faylda tasvirlaydi va ularni bitta docker compose up buyrug‘i bilan ishga tushiradi. Servislar bir-birini nomi bo‘yicha ko‘radi, ma’lumotlar volume’da, sozlamalar .env’da saqlanadi.
Amaliyot - DevOps3 daq
Bitta VPS’da prodakshnda Docker Compose: qanday to‘g‘ri qilish kerak
Bitta VPS’dagi Docker Compose prodakshn uchun yetarli, agar avtomatik qayta ishga tushish, healthcheck, loglar rotatsiyasi, reverse proxy orqali HTTPS, tomlarning muntazam zaxirasi va aniq yangilash tartibi sozlangan bo‘lsa.
Amaliyot - DevOps4 daq
Docker konteynerlar xavfsizligi: non-root, Trivy bilan skanerlash
Konteynerni minimal image’da non-root foydalanuvchidan ishga tushiring, fayl tizimini read-only qiling, barcha capabilities’ni olib tashlang, Docker soketini ulamang va Trivy tuzatiladigan HIGH yoki CRITICAL zaifliklarni topsa, CI’ni to‘xtating.
Amaliyot - DevOps4 daq
Docker image va konteyner: qatlamlar, teglar va hayotiy sikl
Docker image — read-only qatlamlardan iborat o‘zgarmas shablon, konteyner esa shu image ning o‘z yozish qatlamiga ega ishga tushirilgan nusxasi; konteynerlar image dan mustaqil ravishda yaratiladi, ishga tushiriladi, to‘xtatiladi va o‘chiriladi.
Asoslar - DevOps3 daq
Docker’da multi-stage build: yig‘ish va ishga tushirishni ajratish
Bitta Dockerfile’da bir nechta bosqich yoziladi: barcha vositalari bor og‘ir bosqich ilovani yig‘adi, yakuniy yengil image’ga esa faqat tayyor natija ko‘chiriladi — kompilyator, manba kod va dev-bog‘liqliklarsiz.
Amaliyot - DevOps3 daq
Docker tarmoqlari: bridge, host va maxsus tarmoqlar
Bitta maxsus tarmoqdagi konteynerlar bir-birini servis nomi orqali topadi, tashqaridan esa ilovaga faqat ochilgan port (-p) orqali kirish mumkin. Host tarmog‘i izolyatsiyani olib tashlaydi va kam hollarda kerak bo‘ladi.
Asoslar - DevOps3 daq
Docker’da volume va bind mount: konteyner ma’lumotlarini saqlash
Konteyner qatlamiga yozilgan hamma narsa u o‘chirilganda yo‘qoladi. Ilova ma’lumotlari uchun named volume, ishlab chiqishda manba kodi uchun bind mount ishlating, bekapni esa alohida qiling va tiklashni tekshiring.
Amaliyot - DevOps3 daq
Docker yoki virtual mashina: farqi nimada va qaysini tanlash kerak
Virtual mashina o‘z OTsi bilan butun kompyuterni emulyatsiya qiladi, Docker konteyneri esa xostning umumiy yadrosidagi izolyatsiyalangan jarayon. Konteynerlar yengilroq va tezroq, virtual mashinalar esa kuchliroq izolyatsiya va OT tanlash erkinligini beradi.
Asoslar - DevOps3 daq
Dockerfile bo‘yicha eng yaxshi amaliyotlar: tez va toza obrazlar
Yaxshi Dockerfile bog‘liqlik fayllarini koddan oldin nusxalaydi, versiyasi qotirilgan ixcham bazaviy obrazdan foydalanadi, ortiqchani .dockerignore orqali chiqarib tashlaydi va ilovani root bo‘lmagan foydalanuvchidan ishga tushiradi.
Amaliyot - DevOps3 daq
DORA metrikalari: DevOps samaradorligini qanday o‘lchash mumkin
DORA metrikalari dasturiy ta’minot yetkazib berishni to‘rtta raqam bilan o‘lchaydi: qanchalik tez-tez deploy qilasiz, commit prodga qanchalik tez yetadi, o‘zgarishlar prodni qanchalik tez-tez buzadi va qanchalik tez tiklanasiz; birgalikda ular tezlikni ham, barqarorlikni ham ko‘rsatadi.
Asoslar - DevOps3 daq
Feature flags nima va ular relizlarni qanday xavfsizroq qiladi
Feature flag — koddagi almashtirgich bo‘lib, yangi deploysiz funksiyani yoqadi yoki o‘chiradi. U kodni oldindan chiqarish, funksiyani avval foydalanuvchilarning bir qismiga ochish va muammo bo‘lsa darhol o‘chirish imkonini beradi.
Asoslar - DevOps3 daq
Forward proxy va reverse proxy: farqi nimada va har biri nima uchun
Forward proxy mijozlar oldida turadi va ularning so‘rovlarini o‘z nomidan internetga yuboradi; reverse proxy serverlar oldida turadi va internetdan kelgan so‘rovlarni ular o‘rniga qabul qiladi.
Asoslar - DevOps3 daq
GitHub Actions va SSH orqali VPS’ga avtomatik deploy
Deploy uchun alohida foydalanuvchi va SSH kalit yarating, yopiq kalitni GitHub secret’lariga qo‘ying, main’ga push bo‘lganda workflow serverga ulanib kodni yangilaydi, build qiladi va servisni qayta ishga tushiradi; production muhitini qoidalar bilan himoyalang.
Amaliyot - DevOps3 daq
GitHub Actions orqali Docker image yig‘ish va nashr qilish
Docker’ning rasmiy action’laridan (setup-buildx, login, metadata, build-push) type=gha cache bilan foydalaning — image tez yig‘iladi, commit va versiya teglarini oladi va GHCR yoki Docker Hub’ga chiqadi.
Amaliyot - DevOps3 daq
GitHub Actions’da sirlar va muhitlar: xavfsiz deploy sozlamasi
Production kirish ma’lumotlarini majburiy reviewer va branch cheklovi bor muhit sirlarida saqlang, uzoq muddatli bulut kalitlarini OIDC bilan almashtiring, GITHUB_TOKEN huquqlarini qisqartiring va fork kodini hech qachon sirlar yonida ishga tushirmang.
Amaliyot - DevOps3 daq
Yangi boshlovchilar uchun GitHub Actions: birinchi CI-payplayn
GitHub Actions repozitoriyadagi hodisalarda .github/workflows’dagi YAML faylni ishga tushiradi; birinchi CI-payplayn — har bir push va pull request’da kodni yuklab, bog‘liqliklarni o‘rnatib, linter, testlar va build’ni ishga tushiradigan bitta job.
Amaliyot - DevOps3 daq
GitHub Actions, GitLab CI yoki Jenkins: CI/CD vositalarini taqqoslash
Kod GitHub’da bo‘lsa — GitHub Actions, GitLab’da bo‘lsa yoki hammasi bitta self-hosted tizimda kerak bo‘lsa — GitLab CI; Jenkins maksimal moslashuvchanlik kerak va unga xizmat ko‘rsatadigan odam bo‘lsa tanlanadi.
Asoslar - DevOps3 daq
GitOps nima va uni Argo CD bilan qanday joriy qilish mumkin
GitOps — infratuzilmaning kerakli holati Git’da tavsiflanadigan yondashuv; klaster ichidagi agent (masalan, Argo CD) o‘zgarishlarni o‘zi tortib oladi va klasterni shu holatga keltiradi.
Chuqur - DevOps3 daq
Konteynerlarda graceful shutdown: SIGTERM, drenaj va taymautlar
SIGTERM kelganda ilova yangi ishni qabul qilishni to‘xtatishi, joriy so‘rovlarni tugatishi va grace period tugashidan oldin chiqishi kerak; signal jarayonga PID 1 sifatida yetib borishini ta’minlang va Kubernetes’da qisqa preStop qo‘shing.
Chuqur - DevOps3 daq
Helm: Kubernetes’da ilovalarni qanday paketlash va o‘rnatish
Helm — Kubernetes uchun paket menejeri: chart manifest shablonlarini values.yaml’dagi sozlamalar bilan birlashtiradi, install, upgrade va rollback buyruqlari esa o‘rnatilgan ilova versiyalarini reliz sifatida boshqaradi.
Amaliyot - DevOps3 daq
Gorizontal va vertikal masshtablash: ilovani qanday kengaytirish
Vertikal masshtablash — kuchliroq server, gorizontal — balanslovchi ortidagi ko‘proq serverlar. Vertikaldan boshlash osonroq, lekin o‘sish va barqarorlik uchun ilova stateless va gorizontal kengayishga tayyor bo‘lishi kerak.
Asoslar - DevOps3 daq
Insidentlar tahlili va blameless postmortem: amaliy qo‘llanma
Insident paytida mas’ul shaxsni tayinlang va avval servisni tiklang, so‘ng aybdor qidirmasdan tahlil o‘tkazing, tizimli sabablarni toping va har bir vazifani bajarilguncha nazorat qiling.
Chuqur - DevOps2 daq
Production uchun Ubuntu serverni dastlabki sozlash: chek-list
Yangi serverda tizimni yangilang, SSH kalit bilan kiradigan sudo foydalanuvchi yarating, root va parol bilan kirishni yoping, ufw’ni yoqing, vaqtni sozlang, swap qo‘shing, fail2ban va xavfsizlik avtoyangilanishlarini o‘rnating.
Amaliyot - DevOps4 daq
journalctl va logrotate: Linux’da loglarni o‘qish va rotatsiya qilish
systemd servislari loglari journalctl’da -u, --since va -p filtrlari bilan o‘qiladi, jurnal hajmi journald.conf’da belgilanadi, /var/log’dagi fayl loglarini esa /etc/logrotate.d qoidalari bo‘yicha logrotate aylantiradi.
Amaliyot - DevOps4 daq
k3s, Minikube yoki kind: qaysi yengil Kubernetes’ni tanlash kerak
Minikube addon’lar bilan lokal ishlab chiqish uchun qulay, kind — CI’dagi tez bir martalik klasterlar uchun, k3s esa VPS yoki edge-serverdagi haqiqiy yengil klaster uchun; klasterni yuritish servisning o‘zidan qimmatga tusha boshlaganda managed Kubernetes’ga o‘tish kerak.
Asoslar - DevOps3 daq
kubectl shpargalkasi: har kuni kerak bo‘ladigan buyruqlar
Kubernetes bilan kundalik ishning deyarli hammasi o‘nga yaqin kubectl buyrug‘iga sig‘adi: get, describe, logs, exec, port-forward, scale, rollout hamda kontekst va namespace’ni almashtirish.
Amaliyot - DevOps4 daq
Kubernetes’da avtomasshtablash: HPA, VPA va Cluster Autoscaler
HPA pod’lar sonini, VPA har bir pod’ning CPU va xotira so‘rovlarini o‘zgartiradi, Cluster Autoscaler esa node qo‘shadi yoki olib tashlaydi; HPA’ni Cluster Autoscaler bilan birga ishlating va HPA bilan VPA’ni bitta resurs metrikasida ishlatmang.
Chuqur - DevOps4 daq
Kubernetes’da ConfigMap va Secret: ilova konfiguratsiyasini boshqarish
Oddiy sozlamalarni ConfigMap’da, parol va tokenlarni Secret’da saqlang, ularni env yoki fayl orqali uzating va base64 shifrlash emas, kodlash ekanini unutmang: sirlarni RBAC, etcd shifrlash va Sealed Secrets yoki External Secrets Operator bilan himoyalang.
Amaliyot - DevOps3 daq
Kubernetes’da nosozliklarni aniqlash: CrashLoopBackOff, Pending, OOMKilled
Pod holati qayerdan qidirishni ko‘rsatadi: Pending — rejalashtirish muammosi, CrashLoopBackOff — konteyner ishga tushib qulaydi, OOMKilled — xotira yetmadi. Ko‘p holatlar to‘rtta buyruq bilan aniqlanadi: get, describe, logs --previous va get events.
Chuqur - DevOps2 daq
Kubernetes’da Ingress: tashqi trafikni servislarga yo‘naltirish
Ingress — HTTP(S) trafik uchun yagona kirish nuqtasi bo‘lib, so‘rovlarni domen va yo‘l bo‘yicha servislarga taqsimlaydi; u Ingress-kontroller (masalan, ingress-nginx) talab qiladi, sertifikatlarni esa cert-manager chiqaradi.
Amaliyot - DevOps3 daq
Kubernetes’da liveness, readiness va startup proba: sozlash
Liveness qotib qolgan konteynerni qayta ishga tushiradi, readiness tayyor bo‘lmagan podni trafikdan olib tashlaydi, startup esa sekin ilovaga ishga tushish uchun vaqt beradi — liveness sodda bo‘lishi va hech qachon ma’lumotlar bazasiga bog‘liq bo‘lmasligi kerak.
Amaliyot - DevOps3 daq
Kubernetes’da Pod, Deployment va Service: misollar bilan tushuntirish
Pod — ishlab turgan konteyner, Deployment kerakli sondagi podlar doim ishlashini va to‘xtovsiz yangilanishini ta’minlaydi, Service esa ularga doimiy manzil beradi. Ular metkalar (labels) va selektorlar orqali bog‘lanadi.
Asoslar - DevOps3 daq
Kubernetes’da requests va limits: resurslarni to‘g‘ri belgilash
Requests scheduler’ga pod qaysi node’ga sig‘ishini aytadi, limits esa yadroga qancha ishlatish mumkinligini. Requests’ni real foydalanishga qarab qo‘ying, memory limit’ga zaxira bering, CPU limit’ni esa ehtiyotkorlik bilan belgilang — u throttling’ga olib keladi.
Chuqur - DevOps3 daq
Kubernetes yoki Docker Swarm: qaysi orkestratorni tanlash kerak
Docker Swarm bir necha serverdagi kichik loyihalar uchun soddaroq va tezroq ishga tushadi, Kubernetes esa servislar ko‘p bo‘lsa, moslashuvchan avtomasshtablash kerak bo‘lsa va uni boshqaradigan mutaxassis bo‘lsa, o‘z murakkabligini oqlaydi.
Asoslar - DevOps3 daq
Serverni boshqarish uchun asosiy Linux buyruqlari
Server bilan kundalik ishlash uchun yigirmatacha buyruq yetarli: fayllar uchun ls, df, du, jarayonlar uchun ps, top, systemctl, tarmoq uchun ss, curl, loglar uchun journalctl, tail, paketlar uchun apt yoki dnf va huquqlar uchun adduser, chmod.
Asoslar - DevOps3 daq
Linux’da diskda joy tugadi: uni qanday topish va bo‘shatish
df -h va df -i ni tekshiring, du yoki ncdu bilan katta papkalarni toping, eski loglar, Docker qoldiqlari va paket keshlarini tozalang, so‘ng muammo qaytmasligi uchun logrotate’ni sozlang.
Amaliyot - DevOps4 daq
Linuxda kirish huquqlari: chmod, chown va foydalanuvchilar
Linuxdagi har bir faylning egasi, guruhi va ega, guruh hamda boshqalar uchun uchta huquq to‘plami (o‘qish, yozish, bajarish) bor; chmod huquqlarni, chown esa egasini o‘zgartiradi.
Asoslar - DevOps4 daq
Linux server CPU yoki xotirani yuklayapti: sababini qanday topish
Aybdorni ko‘rish uchun top yoki htop’dan boshlang, vmstat va iostat bilan CPU yuklamasini disk kutishdan ajrating, free va dmesg esa xotira yetarliligini va OOM killer ishlaganini ko‘rsatadi.
Amaliyot - DevOps4 daq
Yuklama balanslash algoritmlari: round robin, least connections
Stateless API uchun odatda round robin yetarli, uzoq ulanishlar (WebSocket, striming) uchun least connections yaxshiroq, quvvati har xil serverlar uchun vaznli variantlar, IP hash esa faqat «yopishqoq» sessiyalarsiz iloji bo‘lmasa kerak.
Asoslar - DevOps4 daq
k6 bilan yuklama testi: ilova chegaralarini qanday aniqlash
k6’da real foydalanuvchi harakatlarini takrorlaydigan skript yozing, p95 kechikish va xatolar uchun chegaralar bilan yuklamani bosqichma-bosqich oshiring, server metrikalarini parallel kuzating va qayta testdan oldin birinchi tor joyni tuzating.
Amaliyot - DevOps3 daq
Monitoring va observability: metrikalar, loglar va treyslar
Monitoring oldindan belgilangan tekshiruvlar orqali nimadir buzilganini bildiradi; observability esa uch manba — metrikalar (qancha), loglar (nima bo‘ldi) va treyslar (aynan qayerda) yordamida sababini topishga imkon beradi.
Asoslar - DevOps4 daq
Nginx’da 502 Bad Gateway va 504 Gateway Timeout: sabablari va yechimi
502 Nginx backend’dan to‘g‘ri javob olmaganini (u o‘chgan, soketni tinglamayapti yoki huquq yo‘q), 504 esa backend o‘z vaqtida javob bermaganini bildiradi; sababni deyarli doim error.log ko‘rsatadi.
Amaliyot - DevOps3 daq
Nginx’da Gzip va Brotli siqishni qanday yoqish mumkin
Gzip o‘rnatilgan gzip on va gzip_types direktivalari bilan yoqiladi, Brotli uchun ngx_brotli moduli kerak; matnli formatlarni o‘rta darajada siqing, statikani oldindan siqing va natijani Content-Encoding sarlavhasi orqali tekshiring.
Amaliyot - DevOps3 daq
Nginx’da yuklamani taqsimlash (load balancing) qanday sozlanadi
Ilova serverlarini upstream blokida sanab chiqing, usulni tanlang (round-robin, least_conn, ip_hash yoki hash), max_fails va fail_timeout’ni belgilang va proxy_pass’ni unga yo‘naltiring — Nginx so‘rovlarni taqsimlaydi va ishlamayotgan serverni chetlab o‘tadi.
Amaliyot - DevOps3 daq
Nginx’da keshlash: backend javoblarini qanday keshlash mumkin
proxy_cache_path orqali kesh zonasini e’lon qiling, proxy_cache va proxy_cache_valid’ni yoqing, avtorizatsiyadan o‘tganlarni proxy_cache_bypass va proxy_no_cache bilan chetlang, proxy_cache_use_stale esa backend ishlamay qolganda ham saytni ochiq saqlaydi.
Amaliyot - DevOps3 daq
Nginx’ni reverse proxy sifatida qanday sozlash kerak
Nginx location blokidagi proxy_pass direktivasi orqali reverse proxy’ga aylanadi; unga Host va X-Forwarded-* sarlavhalari, WebSocket qo‘llab-quvvatlash va mos taymautlar qo‘shiladi, so‘ng konfiguratsiya nginx -t bilan tekshiriladi.
Amaliyot - DevOps3 daq
Statik saytlar va SPA uchun Nginx sozlamalari
SPA uchun Nginx’da yig‘ilgan fayllar bilan root va try_files $uri $uri/ /index.html ko‘rsatish yetarli; heshlangan assetlarga uzoq kesh beriladi, index.html esa keshlanmaydi.
Amaliyot - DevOps3 daq
Nginx yoki Apache: unumdorlik, sozlash va qo‘llash holatlari
Nginx statik fayllar va ko‘plab bir vaqtdagi ulanishlar bilan yaxshiroq ishlaydi va odatda teskari proksi sifatida qo‘yiladi, Apache esa .htaccess va o‘rnatilgan modullar kerak joyda, masalan shared-xostingda va eski PHP loyihalarda qulay.
Asoslar - DevOps4 daq
OpenTelemetry nima va taqsimlangan trassirovka qanday ishlaydi
OpenTelemetry — trace, metrika va loglarni yig‘ish uchun ochiq standart va vositalar to‘plami; taqsimlangan trassirovka u orqali har bir chaqiruv bilan umumiy trace ID uzatib, bitta so‘rovni barcha servislar bo‘ylab kuzatadi.
Asoslar - DevOps4 daq
OpenTofu, Terraform yoki Pulumi: qaysi IaC vositasini tanlash kerak
HashiCorp’ning tijoriy ekotizimiga tayansangiz Terraform’ni, xuddi shu HCL yondashuvi ochiq litsenziya ostida kerak bo‘lsa OpenTofu’ni, jamoangiz infratuzilmani TypeScript, Python, Go yoki boshqa umumiy tilda yozishni afzal ko‘rsa Pulumi’ni tanlang.
Asoslar - DevOps4 daq
Platform engineering, DevOps va SRE: rollar va yondashuvlar farqi
DevOps — ishlab chiqish va ekspluatatsiyaning umumiy mas’uliyati madaniyati, SRE ishonchlilikka SLO va error budget orqali muhandislik usullarini qo‘llaydi, platform engineering esa dasturchilar ops ni kutmasdan kod chiqarishi uchun ichki self-service platforma quradi.
Asoslar - DevOps3 daq
PM2: Node.js ilovalarini prodakshnda qanday ishga tushirish
PM2 Node.js ilovasini doim ishlab turishini ta’minlaydi, yiqilganda qayta ishga tushiradi, cluster mode’da yuklamani yadrolar bo‘ylab taqsimlaydi va server qayta yuklangandan keyin jarayonlarni tiklaydi.
Amaliyot - DevOps3 daq
Loyihani production’ga chiqarishdan oldingi DevOps cheklisti
Ishga tushirishdan oldin deploy avtomatlashtirilganiga, nosozliklar aniq odamga alert yuborishiga, loglarda qidirish mumkinligiga, backup kamida bir marta tiklanganiga, quvvat zaxirasi borligiga, orqaga qaytish daqiqalar olishiga va runbook’lar yozilganiga ishonch hosil qiling.
Amaliyot - DevOps3 daq
Prometheus va Grafana’da monitoringni qanday sozlash mumkin
Prometheus eksporterlardan HTTP orqali metrikalarni yig‘adi, Grafana ularni vizuallashtiradi; ikkalasi bitta docker-compose.yml bilan ko‘tariladi, birinchi foydali dashboard uchun esa besh-olti PromQL so‘rov yetarli.
Amaliyot - DevOps3 daq
Docker image hajmini qanday kamaytirish mumkin: amaliy usullar
Eng katta natijani multi-stage build va yengil bazaviy image (slim, alpine yoki distroless) beradi; so‘ng paket keshlarini o‘sha qatlamda tozalang, .dockerignore qo‘shing va qatlamlarni dive bilan tekshiring.
Amaliyot - DevOps4 daq
Veb-ilovani trafikning keskin o‘sishiga qanday tayyorlash kerak
Yuklama testi bilan tor joyni toping, kesh va ulanishlar puli orqali bazani yengillating, og‘ir ishlarni navbatlarga chiqaring, avtomasshtablashni sozlang va qaysi funksiyalarni o‘chirish mumkinligini oldindan hal qiling.
Chuqur - DevOps3 daq
Server va ilovaning qaysi metrikalarini monitoring qilish kerak
Server resurslarini (CPU, xotira, disk, tarmoq) USE usuli bilan, ilova xatti-harakatini esa to‘rtta oltin signal — kechikish, trafik, xatolar, to‘yinish bo‘yicha kuzating; alertlarni foydalanuvchi sezadigan narsalarga qo‘ying.
Asoslar - DevOps3 daq
CI pipeline’ni tezlashtirish: keshlash, parallelizm va boshqalar
Avval qaysi qadamlar vaqt olishini o‘lchang, keyin dependency’larni keshlang, ishni parallel job’larga bo‘ling, faqat ta’sirlangan testlarni ishga tushiring va Docker image’larni kichraytiring.
Amaliyot - DevOps3 daq
SLI, SLO va error budget: SRE ishonchliligi asoslari amalda
SLI — servis sifatining o‘lchanadigan ko‘rsatkichi, SLO — unga qo‘yilgan maqsad, error budget esa jamoa relizlar va tajribalarga «sarflashi» mumkin bo‘lgan ruxsat etilgan nosozliklar ulushi.
Chuqur - DevOps3 daq
Serverga SSH kalitlar orqali kirishni qanday sozlash mumkin
ssh-keygen bilan ed25519 kalit yarating, ssh-copy-id orqali ochiq qismini serverga nusxalang, kalit bilan kirishni tekshiring va shundan keyingina sshd_config’da parol bilan kirishni o‘chiring.
Amaliyot - DevOps3 daq
Strukturalangan loglash: qidirish oson bo‘lgan loglarni qanday yozish
Loglarni doimiy maydonlar to‘plami bilan JSON’da yozing — vaqt, daraja, servis, xabar va request ID; shunda har qanday xato minglab qatorlarni o‘qish bilan emas, filtr bilan topiladi.
Amaliyot - DevOps3 daq
Linux’da ilovani systemd servis sifatida qanday ishga tushirish
/etc/systemd/system ichida ExecStart, User, WorkingDirectory, EnvironmentFile va Restart=on-failure bilan unit fayl yarating, daemon-reload va enable --now bajaring, loglarni journalctl -u orqali ko‘ring.
Amaliyot - DevOps3 daq
Terraform modullari: qayta ishlatiladigan infratuzilmani tuzish
Yaxshi Terraform moduli infratuzilmaning bitta yaxlit qismini kichik tiplangan kirishlar va foydali chiqishlar orqali tavsiflaydi, versiyalanadi va mahkamlanadi, alohida state’ga ega yupqa muhit konfiguratsiyalaridan chaqiriladi.
Amaliyot - DevOps3 daq
Terraform’da state boshqaruvi: remote backend, locking va workspaces
State — kodingiz va real infratuzilma o‘rtasidagi xarita. Uni locking va shifrlash bilan remote backend’da saqlang, muhit va komponentlar bo‘yicha ajrating, nomuvofiqliklarni esa faylni qo‘lda tahrirlash bilan emas, plan, import va refresh orqali tuzating.
Chuqur - DevOps3 daq
Terraform yoki Ansible: farqi nimada va ularni birga qanday ishlatish
Terraform infratuzilmani (serverlar, tarmoqlar, bazalar, DNS) yaratadi va uning holatini saqlaydi, Ansible esa mavjud resurslarni sozlaydi (paketlar, fayllar, servislar); amalda Terraform resurslarni ko‘taradi, Ansible ularni ishga tayyorlaydi.
Asoslar - DevOps4 daq
Twelve-Factor App metodologiyasi: qulay deploy tamoyillari
Twelve-Factor App — ilovani istalgan muhitda bir xil ishga tushirish uchun o‘n ikki qoida: bitta kod bazasi, konfiguratsiya muhit o‘zgaruvchilarida, holatsiz jarayonlar, loglar stdout’ga va dev bilan prod o‘rtasida minimal farq.
Asoslar - DevOps4 daq
Service mesh nima: Istio, Linkerd va u qachon haqiqatan kerak
Service mesh — servislar o‘rtasidagi trafikni o‘z zimmasiga oladigan proksilar qatlami bo‘lib, koddagi o‘zgarishlarsiz mTLS, retry, trafikni bo‘lish va telemetriya qo‘shadi; u servislar ko‘p va xavfsizlik talablari qat’iy bo‘lganda o‘zini oqlaydi, kichik jamoa uchun esa odatda ortiqcha.
Asoslar - DevOps3 daq
Ansible nima: serverlarni agentlarsiz sozlash
Ansible — YAML’da tasvirlangan vazifalarni SSH orqali serverlarda bajaradigan avtomatlashtirish vositasi; serverlarga hech narsa o‘rnatish shart emas, idempotentlik tufayli qayta ishga tushirish xavfsiz.
Asoslar - DevOps3 daq
CI/CD nima: uzluksiz integratsiya va yetkazib berish oddiy tilda
CI/CD — har bir kod o‘zgarishida loyihani yig‘adigan, testlarni o‘tkazadigan va serverlarga chiqaradigan avtomatik konveyer. Relizlar tez-tez, kichik va oldindan aytib bo‘ladigan bo‘ladi, xatolar esa ertaroq topiladi.
Asoslar - DevOps3 daq
DevOps nima: tamoyillar, amaliyotlar va vositalar sodda tilda
DevOps — bu ishlab chiqish va ekspluatatsiya bitta jamoa bo‘lib ishlaydigan, yig‘ish, test, deploy va monitoring esa avtomatlashtirilgan yondashuv. Maqsad — o‘zgarishlarni tez-tez, kichik qismlarda va avariyasiz chiqarish.
Asoslar - DevOps3 daq
Docker nima va dasturchilarga konteynerlar nima uchun kerak
Docker ilovani barcha bog‘liqliklari bilan birga image’ga joylaydi, undan esa izolyatsiyalangan konteyner ishga tushadi. Shu sababli kod dasturchi noutbukida, CI’da va serverda bir xil ishlaydi.
Asoslar - DevOps3 daq
Infrastructure as Code nima va u nega muhim
Infrastructure as Code — serverlar, tarmoqlar va servislarni Git’da saqlanadigan va avtomatik qo‘llaniladigan matnli fayllarda tavsiflash; shunda infratuzilma qayta yaratiladigan, tekshiriladigan va hujjatlashtirilgan bo‘ladi.
Asoslar - DevOps3 daq
Kubernetes nima va u loyihaga qachon haqiqatan kerak
Kubernetes — konteynerlarni serverlar guruhida o‘zi ishga tushiradigan, qayta ishga tushiradigan, masshtablaydigan va yangilaydigan tizim. U ko‘p servislar, bir nechta server va uzluksiz ishlash talablari bo‘lganda o‘zini oqlaydi; kichik loyihaga odatda Docker Compose yoki PaaS yetarli.
Asoslar - DevOps3 daq
Yuklamani balansirovka qilish nima va balansirovkachi qanday ishlaydi
Balansirovkachi kiruvchi so‘rovlarni qabul qilib, ularni bir nechta server o‘rtasida taqsimlaydi va nosoz serverlarni chetlab o‘tadi, shunda servis ko‘proq trafikka bardosh beradi va bitta server ishdan chiqqanda to‘xtab qolmaydi.
Asoslar - DevOps3 daq
Nginx nima va u veb-server sifatida qanday ishlaydi
Nginx — hodisalarga asoslangan tezkor veb-server bo‘lib, statik fayllarni beradi hamda ilovangiz oldida teskari proksi, yuklama balanslovchi va kesh vazifasini bajaradi.
Asoslar - DevOps4 daq
Terraform nima: provayderlar, resurslar va plan/apply sikli
Terraform — Infrastructure as Code vositasi: siz kerakli infratuzilmani HCL fayllarida tasvirlaysiz, u esa uni haqiqiy holat bilan solishtirib, bulut API orqali resurslarni yaratadi, o‘zgartiradi yoki o‘chiradi.
Asoslar - DevOps4 daq
To‘xtovsiz deploy: usullar va bosqichma-bosqich sozlash
Yangi nusxalar eskilari to‘xtashidan oldin ishga tushib, tayyorlik tekshiruvidan o‘tishi, eskilari joriy so‘rovlarni tugatib chiqishi, baza sxemasi esa ikkala versiya bilan bir vaqtda ishlashi kerak.
Amaliyot
G‘oya yoki vazifangiz bormi? Bizga aytib bering
Ish kuni davomida javob beramiz va yechim taklif qilamiz. Konsultatsiya bepul.