DevOps muhandisi yo‘li — devoops
1. Asos: Linux va terminal
Server infratuzilmasining deyarli barchasi Linuxda ishlaydi va u bilan ishlash asosan terminal orqali kechadi. Bu bosqichsiz keyingi har bir qadam internetdan buyruq ko‘chirishga aylanadi.
- Fayl tizimida erkin harakatlanish va ruxsatlarni shpargalkasiz o‘qish
- Jarayon nega ishga tushmaganini aniqlash: loglar, qaytish kodi, band port
- Fayl nomidagi bo‘shliqdan buzilmaydigan skript yozish
- Yadro va distributiv o‘rtasidagi farqni tushuntirish
Linux, Terminal
2. Git va tarmoqlar
Git — infratuzilmadagi har qanday o‘zgarish o‘tadigan joy. Tarmoqlar esa «menda ishlaydi, serverda yo‘q» holatining eng ko‘p sababi. Nosozliklarni tuzatishda eng ko‘p vaqt tejaydigan ikki ko‘nikma.
- Merge konfliktini qo‘lda yechish va nimani tanlayotganingni tushunish
- Qachon merge, qachon rebase kerakligini va bu did masalasi emasligini tushuntirish
- So‘rov yo‘lini DNSdan ilova javobigacha kuzatib, qayerda buzilishi mumkinligini aytish
- dig, curl va ss yordamida «ochilmayapti» holatini tekshirish
Git, Tarmoqlar
3. Konteynerlar
Aynan shu bosqichdan DevOps qismi boshlanadi: ilova endi muayyan mashinada nima o‘rnatilganiga bog‘liq bo‘lmaydi. Shu yerda ruxsatlar, tarmoqlar va fayl tizimini bilish birinchi marta amalda kerak bo‘ladi.
- Birovning Dockerfile’ini o‘qib, har bir qatlam nega kerakligini tushuntirish
- Obraz hajmini bir necha barobar kichraytirish va buning sababini bilish
- compose orqali bir nechta bog‘liq xizmatni ishga tushirish
- Konteyner ishga tushgach nega darhol yiqilayotganini topish
Konteynerlar
4. CI/CD va Kubernetes
Avtomatik yig‘ish va chiqarish, so‘ng orkestratsiya. Kubernetes aynan shu yerda turadi: konteyner va tarmoqlarni bilmasdan u hujjatdan ko‘chiriladigan tushunarsiz YAML to‘plamiga o‘xshaydi.
- O‘zgarishni o‘zi tekshirib chiqaradigan pipeline yig‘ish
- Continuous delivery va continuous deployment farqini tushuntirish
- Deployment manifestini o‘qib, uni qo‘llaganda nima bo‘lishini aytish
- Tugun ishdan chiqqanda klaster nima qilishini tushunish
CI/CD, Kubernetes
5. Prod: kuzatuvchanlik, ishonchlilik, IaC
«Ishga tushira olaman» bilan «prodni ishonib topshirsa bo‘ladi» o‘rtasidagi farq. Bu yerda yagona to‘g‘ri javobi yo‘q savollar paydo bo‘ladi: loglarni qancha saqlash, nimani intsident deb hisoblash, qachon orqaga qaytish kerak.
- Qachon metrika, qachon log, qachon trace kerakligini tushunish
- Infratuzilmani noldan qayta yaratish mumkin bo‘ladigan tarzda kod bilan tasvirlash
- Zaxira nusxa haqiqatan tiklanishini tekshirish
- Bitta tugun yiqilishiga chidaydigan chiqarish jarayonini loyihalash
Avtomatlashtirish, Kuzatuvchanlik, Ekspluatatsiya, Ma’lumotlar