RƏSƏDXANA

Həftə 11 · 22/23

Deploy, sirlər, müşahidə

6 dəqiqəlik oxu

Məşq otağında tamaşa mükəmməl gedir. Səhnədə isə işıq başqadır, zal böyükdür, mikrofon var. Eyni mətn, başqa şərtlər.

Canlı mühit fərqli domenlər, fərqli limitlər və real istifadəçilər deməkdir. «Mənim kompüterimdə işləyir» bir mühit haqqında məlumatdır, proqram haqqında yox.

local:      http://localhost:3000  ->  http://localhost:8787   (same site)
production: https://site.example   ->  https://api.example.dev (cross-site)
Eyni kod, iki fərqli dünya. Cookie qaydaları ikinci sətirdə tamam başqa cür işləyir.

Çox deyilən söz: Mənim kompüterimdə işləyir, deməli yayımlaya bilərəm.

Canlı mühitin domenləri, limitləri, sirləri və istifadəçiləri fərqlidir. Senior bilir: necə deploy etmək, bir dəqiqədə necə geri qaytarmaq, sirlər harada yaşayır (heç vaxt repoda yox), və bir şey qırılanda bunu istifadəçi yazmazdan əvvəl necə öyrənmək.

Rollback məşq edilmiş addımdır

Geri qaytarma əmrini xəta baş verməzdən əvvəl bil və bir dəfə sına. Ən pis anda sənədləri oxumaq istəməzsən.

Sən bunu istə

npx wrangler deployments list     # what is live, and what was before
npx wrangler rollback             # back to the previous Worker version

Sirlər platformada yaşayır

Repoda yalnız sirrin adı olur. Dəyər platformanın sirr anbarındadır, lokal nüsxə isə gitignore-dadır.

Sən bunu istə

npx wrangler secret put RESEND_API_KEY   # prompts for the value
# .gitignore
.env*.local
.dev.vars

Xərci metrik kimi izlə

AI API-yə hər çağırış pula başa gəlir. Tapşırığa uyğun ən kiçik modeli seç, təkrarlanan konteksti keşlə, istifadəçi başına limit qoy və aylıq hesabı təxmin et.

Diff oxuyanda soruş: Deploy-dan əvvəl soruş: lokalla canlı arasında nə fərqlidir? Rollback əmri nədir və nə qədər çəkir?

Terminlər

environment
Lokal, test, canlı — hər birinin öz domeni, sirləri və limitləri var.
secret
API açarı, parol, token. Repoda yox, platformanın sirr anbarında saxlanılır.
rollback
Canlını əvvəlki işlək versiyaya qaytarmaq. Nə qədər çəkdiyini əvvəlcədən bilməlisən.
observability
Loglar, metriklər, xəbərdarlıqlar — sistemin içində nə baş verdiyini görmək bacarığı.
token cost
AI API-nin hər çağırışının qiyməti. Model seçimi, prompt keşi və qısa kontekst onu azaldır.
cron job
Cədvəl üzrə işləyən iş: məsələn, hər gecə köhnə logları silmək.

İndi sən yoxla

1Sıfırlama skripti hər addım üçün «uğurlu» yazır, amma məlumat dəyişməyib. İlk şübhə?

2Ödəniş provayderinin gizli açarı harada saxlanılır?

Hazır prompt

İngiliscədir, çünki terminlər ingiliscədir. Tərcümə etsən də terminləri saxla.

prompt
Write a deployment runbook for this project:

- how to deploy each part, and how to verify it is live
- how to roll back, and roughly how long that takes
- which secrets exist and where each one is set (never their values)
- what to check in the logs after a deploy
- everything that differs between local and production
  (domains, cookies, CPU and memory limits, environment variables)
- every AI API call the app makes: which model, how often,
  and an estimated monthly cost

Öz kodunda

  1. 1Runbook-u yaz və özün yoxla.
  2. 2Qəsdən bir rollback et və vaxtını ölç.
  3. 3Ən azı bir avtomatik xəbərdarlıq və ya gündəlik yoxlama əlavə et.

Bunu görəndə bitib: Deploy-u qəsdən geri qaytarmısan və bunun nə qədər çəkdiyini bilirsən.

Daha dərinə

Oxumaq üçün

  • Designing Data-Intensive Applications (2nd edition) · Martin Kleppmann, Chris Riccomini, 2026 · İstismar rahatlığı (operability)
  • Vibe Coding: Building Production-Grade Software With GenAI, Chat, Agents, and Beyond · Gene Kim, Steve Yegge, 2025 · Canlı mühitdə AI ilə qurulmuş proqram