Qanday qilib olti oy ichida yoki undan ham tezroq DevOps muhandisi bo'lish mumkin. 1-qism. Kirish

Maqsadli auditoriya

Siz o'z martabangizni yanada ilg'or DevOps modeliga yo'naltirmoqchi bo'lgan dasturchimisiz? Siz klassik Ops muhandisisiz va DevOps nimani anglatishini bilmoqchimisiz? Yoki siz ham, IT sohasida ishlagan vaqtingizdan so'ng, martabani o'zgartirishni xohlaysizmi va qaerdan boshlashni bilmayapsizmi?
Ha bo'lsa, olti oy ichida qanday qilib o'rta darajadagi DevOps muhandisi bo'lishingiz mumkinligini bilish uchun o'qing! Va nihoyat, agar siz DevOps-da ko'p yillar davomida ishtirok etgan bo'lsangiz, integratsiya va avtomatlashtirish sanoati hozir qayerda va qayerga ketayotganini bilish uchun ushbu maqolalar seriyasidan ko'p narsalarni olasiz.

Qanday qilib olti oy ichida yoki undan ham tezroq DevOps muhandisi bo'lish mumkin. 1-qism. Kirish

Bu nimani anglatadi?

Birinchidan, DevOps nima? Siz Google ta'riflarini topishingiz va barcha so'zlarni ko'rib chiqishingiz mumkin, lekin bilingki, ta'riflarning aksariyati soddalashtirilgan shaklda o'ralgan so'zlar jumboqidir. Shuning uchun, men sizga ushbu ta'riflarning qisqacha mazmunini beraman: DevOps dasturiy ta'minotni etkazib berish usuli bo'lib, unda bosh og'rig'i va mas'uliyat barcha ishtirokchilar tomonidan taqsimlanadi. Ana xolos.

Yaxshi, lekin bu qisqartma nimani anglatadi? Bu shuni anglatadiki, an'anaviy ravishda Ishlab chiquvchilar (dasturiy ta'minotni yaratadigan odamlar) Operatsiyalardan (dasturiy ta'minotni boshqaradigan odamlar) sezilarli darajada farq qiladigan rag'batlar orqali o'z ishlarini bajarishga undashgan. Masalan, ishlab chiquvchi sifatida men imkon qadar tezroq yangi xususiyatlarni yaratmoqchiman. Axir, bu mening ishim va mijozlar talab qiladigan narsa! Ammo, agar men Operatsiya xodimi bo'lsam, unda menga imkon qadar kamroq yangi xususiyatlar kerak bo'ladi, chunki har bir yangi xususiyat o'zgarishdir va har qanday o'zgarish muammolar bilan to'la. Rag'batlarning noto'g'ri taqsimlanishi natijasida DevOps paydo bo'ldi.

DevOps ishlab chiqish va operatsiyalarni (integratsiya va avtomatlashtirish) bir guruhga birlashtirishga harakat qiladi. G'oya shundan iboratki, endi bitta guruh mijozlarga mo'ljallangan dasturiy ta'minotni yaratish, joylashtirish va daromad olishning og'rig'i va mas'uliyatini (va ehtimol mukofotlarini) baham ko'radi.

Puristlar sizga "DevOps muhandisi" degan narsa yo'qligini aytadilar. "DevOps - bu rol emas, madaniyat", deb aytadilar. Albatta, texnik nuqtai nazardan ular to'g'ri, lekin xuddi shunday. Ko'pincha bu atama qo'ldan chiqib ketgan. Asl ma'nosidan tashqari, DevOps muhandisi "tizim muhandisi 2.0" ga o'xshaydi. Boshqacha qilib aytganda, u dasturiy ta'minotni ishlab chiqishning hayot aylanishini tushunadigan va dasturiy ta'minotni ishlab chiqish vositalari va jarayonlarini yaratadigan odamdir. klassik operatsion muammolarni hal qilish uchun.

Qanday qilib olti oy ichida yoki undan ham tezroq DevOps muhandisi bo'lish mumkin. 1-qism. Kirish

DevOps, oxir-oqibat, ishlab chiquvchining noutbukidan kod oladigan va uni yakuniy mahsulotdan foydalanishdan tushadigan daromadga aylantiradigan raqamli quvurlarni yaratishni anglatadi, buning hammasi shu. E'tibor bering, DevOps karerasini tanlash moliyaviy mukofotlar bilan to'lanadi, deyarli har bir kompaniya "DevOps" bilan shug'ullanadi yoki o'zini shunday deb da'vo qiladi. Ushbu kompaniyalar qayerda joylashganidan qat'i nazar, DevOps sifatida umumiy ish imkoniyatlari ancha yuqori va ko'p yillar davomida "qiziqarli" va mazmunli bandlikni taklif qiladi.

Biroq, "DevOps jamoasi" yoki "DevOps bo'limi"ni yollayotgan kompaniyalardan ehtiyot bo'ling. To'g'rirog'i, bunday narsalar mavjud bo'lmasligi kerak, chunki oxir-oqibatda DevOps hali ham madaniyat va dasturiy ta'minotni yetkazib berish usuli bo'lib, yangi jamoani kadrlar bilan ta'minlash yoki bo'lim yaratish emas. chiroyli ism.

Ogohlantirish

Endi “Kool-Aid” stakanini bir zumga chetga surib, quyidagini o‘ylab ko‘raylik. Qadimgi maqolni eshitganmisiz: "Kichik DevOps muhandislari yo'q?" Agar yo'q bo'lsa, bilingki, bu Reddit va StackOverflow-da mashhur trope. Lekin bu nimani anglatadi?

Oddiy qilib aytganda, bu ibora oxir-oqibatda DevOps bo'yicha chinakam samarali mutaxassis bo'lish uchun ko'p yillik tajriba va vositalarni to'g'ri tushunish kerakligini anglatadi. Va, afsuski, maqsadga erishish uchun hech qanday yorliq yo'q. Demak, bu tizimni o'ynashga urinish emas - menimcha, o'zini sohada bir necha oylik tajribaga ega katta DevOps muhandisi sifatida ko'rsatish mumkin emas. Tez o'zgaruvchan vositalar va metodologiyalarni chuqur tushunishga erishish ko'p yillik tajribani talab qiladi va uni aylanib o'tishning iloji yo'q. Biroq, ko'pchilik kompaniyalar foydalanadigan vositalar va tushunchalarning deyarli izchil (moda, agar xohlasangiz) menyusi mavjud va biz bu haqda gaplashamiz.

Shunga qaramay, asboblar ko'nikmalardan farq qiladi, shuning uchun asboblarni o'rganayotganda, o'z mahoratingizni e'tiborsiz qoldirmasligingizga ishonch hosil qiling (so'rov, tarmoq, yozma muloqot, muammolarni bartaraf etish va h.k.). Eng muhimi, biz topmoqchi bo'lgan narsani e'tibordan chetda qoldirmang - g'oyalarni qabul qiladigan va ularni daromad keltiruvchi kod qismlariga aylantiradigan to'liq avtomatlashtirilgan raqamli quvurni yaratish usuli. Bu butun maqoladan eng muhim xulosa!

Suhbat yetarli, qachon boshlashim mumkin?

Quyida DevOps Fundamental Knowledge yo'l xaritasi keltirilgan. U erda tasvirlangan hamma narsani o'zlashtirganingizdan so'ng, siz xavfsiz va halollik bilan o'zingizni DevOps muhandisi deb atashingiz mumkin! Yoki siz "DevOps" nomini yoqtirmasangiz, bulut muhandisi.

Qanday qilib olti oy ichida yoki undan ham tezroq DevOps muhandisi bo'lish mumkin. 1-qism. Kirish

Ushbu xarita mening (va, ehtimol, bu sohada ishlaydigan ko'pchilik odamlar) DevOps vakolatli muhandisi nimani bilishi kerakligi haqidagi fikrimni ifodalaydi. Biroq, bu faqat fikr va bunga rozi bo'lmaganlar ham bo'ladi, albatta. Bu odatiy! Biz bu erda mukammallikka intilmayapmiz, biz haqiqatda qura oladigan mustahkam poydevorga intilamiz.

Siz bu yo'ldan asta-sekin, qatlam-qatlam o'tishingiz kerak. Keling, ko'k rangdagi elementlarni - Linux, Python va AWS haqida bilib, asoslardan boshlaylik (va davom ettiramiz!). Keyin, agar vaqt yoki mehnat bozori talabi imkon bersa, binafsha narsalarni qiling - Golang va Google Cloud.

Rostini aytsam, asosiy yuqori qatlam siz abadiy o'rganishingiz kerak bo'lgan narsadir. OS Linux juda murakkab va o'zlashtirish uchun yillar kerak bo'ladi. Python dolzarb bo'lib qolish uchun doimiy amaliyotni talab qiladi. AWS shu qadar tez rivojlanmoqdaki, bugun bilgan narsangiz bir yildan keyin umumiy bilim portfelingizning bir qismi bo'ladi. Asoslarni o'rganganingizdan so'ng, haqiqiy mahorat to'plamiga o'ting. E'tibor bering, har oyda bittadan jami 6 ta ko'k ustun (konfiguratsiya, versiya, qadoqlash, joylashtirish, ishga tushirish, monitoring) mavjud.

Qanday qilib olti oy ichida yoki undan ham tezroq DevOps muhandisi bo'lish mumkin. 1-qism. Kirish

Siz, albatta, bizning olti oylik quvur liniyasida muhim bosqich - sinov yo'qligini payqadingiz. Men uni ataylab yo'l xaritasiga kiritmadim, chunki modul, integratsiya va qabul testlarini yozish oson emas va an'anaviy ravishda ishlab chiquvchilarning yelkasiga tushadi. Va "sinov" bosqichini o'tkazib yuborish ushbu yo'l xaritasining maqsadi asosiy ko'nikmalar va vositalarni imkon qadar tezroq o'zlashtirish ekanligi bilan izohlanadi. Muallifning so'zlariga ko'ra, sinov tajribasining etishmasligi DevOps-dan to'g'ri foydalanishga ozgina to'sqinlik qiladi.

Shuni ham yodda tutingki, biz bu erda bir-biriga bog'liq bo'lmagan texnik gaplarni emas, balki aniq hikoya yaratish uchun birlashtirilgan vositalarni tushunishni o'rganmoqdamiz. Bu hikoya jarayonni oxirigacha avtomatlashtirish - bitlarni yig'ish liniyasi kabi harakatga keltiradigan raqamli yig'ish liniyasi haqida. Siz bir nechta vositalarni o'rganishni va to'xtashni xohlamaysiz! DevOps vositalari tez o'zgaradi, ammo tushunchalar kamroq o'zgaradi. Shu sababli, yuqori darajadagi tushunchalar uchun vositalarni o'rgatuvchi proksi sifatida foydalanishga harakat qilishingiz kerak.

Mayli, keling, biroz chuqurroq qazaylik!

Asosiy bilim

Foundation degan yuqori bosqich ostida har bir DevOps muhandisi egallashi kerak bo'lgan ko'nikmalarni ko'rishingiz mumkin. Ushbu ko'nikmalar sanoatning uchta ustunini ishonchli boshqarishdir, ular: operatsion tizim, dasturlash tili va ommaviy bulut. Bu narsalar siz tezda o'rganishingiz va davom ettirishingiz mumkin bo'lgan narsa emas. Sohada yetakchi bo‘lish va atrofingizdagi professional muhitga mos kelish uchun bu ko‘nikmalar doimiy ravishda takomillashtirib borilishi va o‘zlashtirilishi kerak. Keling, ularni birma-bir ko'rib chiqaylik.

Linux bu erda hamma narsa ishlaydi. Siz butunlay Microsoft ekotizimida qolib, ajoyib DevOps amaliyotchisi bo'la olasizmi? Albatta qila olasiz! Faqat Linuxdan foydalanishni talab qiladigan qonun yo'q. Ammo shuni yodda tutingki, barcha Linux ishlari Windows-da bajarilishi mumkinligiga qaramay, u erda bu juda og'riqli va kamroq funksionallik bilan sodir bo'ladi. Shu nuqtada, Linuxni bilmasdan, haqiqiy DevOps mutaxassisi bo'lish mumkin emas deb taxmin qilish mumkin, shuning uchun Linux siz o'rganishingiz va o'rganishingiz kerak bo'lgan narsadir.

Rostini aytsam, buni qilishning eng yaxshi yo'li oddiygina Linuxni (Fedora yoki Ubuntu) uyda o'rnatish va undan iloji boricha foydalanishdir. Albatta, siz ko'p narsalarni buzasiz, ish jarayonlarida qolib ketasiz, hamma narsani tuzatishingiz kerak bo'ladi, lekin Linuxni o'rganasiz!

Qanday qilib olti oy ichida yoki undan ham tezroq DevOps muhandisi bo'lish mumkin. 1-qism. Kirish

Aytgancha, RedHat variantlari Shimoliy Amerikada keng tarqalgan, shuning uchun Fedora yoki CentOS-dan boshlash mantiqan. Agar siz KDE yoki Gnome nashrini sotib olishingiz kerakligi haqida qiziqsangiz, KDE ni tanlang. Bu Linus Torvaldsning o'zi foydalanadi.

Python hozirgi kunlarda ustunlik qiluvchi tildir. Boshlash oson va keng qo'llaniladi. Python sun'iy intellekt va mashinani o'rganish sohasida juda keng tarqalgan, shuning uchun agar siz boshqa issiq maydonga o'tmoqchi bo'lsangiz, siz to'liq tayyor bo'lasiz.

Qanday qilib olti oy ichida yoki undan ham tezroq DevOps muhandisi bo'lish mumkin. 1-qism. Kirish

Amazon veb-xizmatlari: Yana, ommaviy bulut qanday ishlashini yaxshi tushunmasdan, tajribali DevOps mutaxassisi bo'lish mumkin emas. Va agar siz bu haqda ko'proq bilmoqchi bo'lsangiz, Amazon Web Services-ga qarang. U ushbu xizmatlar sohasida etakchi o'yinchi bo'lib, eng boy ishchi asboblar to'plamini taklif qiladi.

Buning o'rniga Google Cloud yoki Azure bilan boshlash mumkinmi? Albatta qila olasiz! Ammo oxirgi moliyaviy inqirozni eslab, shuni ta'kidlash kerakki, AWS hech bo'lmaganda 2018 yilda eng xavfsiz variant hisoblanadi, chunki u hisobni bepul ro'yxatdan o'tkazish va bulutli xizmatlar imkoniyatlarini o'rganishni boshlash imkonini beradi. Bundan tashqari, AWS konsoli foydalanuvchiga tanlash uchun oddiy va tushunarli menyuni taqdim etadi. Yaxshi xabar shundaki, buning uchun Amazonning barcha texnologiyalarini bilish shart emas.

Qanday qilib olti oy ichida yoki undan ham tezroq DevOps muhandisi bo'lish mumkin. 1-qism. Kirish

Quyidagilardan boshlang: VPC, EC2, IAM, S3, CloudWatch, ELB (EC2 soyaboni ostida elastik yuk balansi) va xavfsizlik guruhi. Bular sizni boshlash uchun etarli va har bir zamonaviy, bulutga asoslangan korxona ushbu vositalardan juda faol foydalanadi. AWSning shaxsiy o'quv sayti - boshlash uchun yaxshi joy.

Men sizga har kuni 20-30 daqiqa vaqtingizni Python tili, Linux operatsion tizimi va AWS bulutli xizmati bilan oʻrganishingiz va mashq qilishingizni tavsiya qilaman, shuningdek, oʻrganishingiz kerak boʻlgan boshqa narsalar. Umuman olganda, men kuniga bir soat, haftada besh marta sarflash DevOps sanoatini 6 oy yoki undan kamroq vaqt ichida tushunish uchun etarli deb hisoblayman. Jami 6 ta asosiy komponent mavjud bo'lib, ularning har biri bir oylik mashg'ulotlarga to'g'ri keladi. Bu sizga asosiy bilimlarni olish uchun kerak bo'lgan narsadir.
Keyingi maqolalarda biz murakkablikning keyingi darajasini ko'rib chiqamiz: dasturiy ta'minotni konfiguratsiya, versiyalar, qadoqlash, joylashtirish, ishga tushirish va monitoringini to'liq avtomatlashtirish.

Davomi tez orada...

Ba'zi reklamalar 🙂

Biz bilan qolganingiz uchun tashakkur. Bizning maqolalarimiz sizga yoqdimi? Ko'proq qiziqarli tarkibni ko'rishni xohlaysizmi? Buyurtma berish yoki do'stlaringizga tavsiya qilish orqali bizni qo'llab-quvvatlang, 4.99 dollardan boshlab ishlab chiquvchilar uchun bulutli VPS, Siz uchun biz tomonidan ixtiro qilingan boshlang'ich darajadagi serverlarning noyob analogi: VPS (KVM) E5-2697 v3 (6 yadroli) 10GB DDR4 480GB SSD 1Gbps 19 dollardan yoki serverni qanday almashish haqida butun haqiqat? (RAID1 va RAID10, 24 tagacha yadro va 40 Gb gacha DDR4 bilan mavjud).

Amsterdamdagi Equinix Tier IV ma'lumotlar markazida Dell R730xd 2 baravar arzonmi? Faqat shu yerda 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 televizor 199 dollardan Gollandiyada! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - 99 dollardan! Haqida o'qing Infratuzilma korporatsiyasini qanday qurish kerak. bir tiyinga 730 evroga teng Dell R5xd E2650-4 v9000 serverlaridan foydalanish bilan sinf?

Manba: www.habr.com

a Izoh qo'shish