Keling, metodologiyaning mohiyati nima ekanligini va u kimga foyda keltirishi mumkinligini aniqlaylik.
Biz DevOps mutaxassislari haqida ham gaplashamiz: ularning vazifalari, maoshlari va malakalari.
foto /Flickr/CC BY-SA
DevOps nima
DevOps dasturiy ta'minotni ishlab chiqish metodologiyasi bo'lib, uning vazifasi kompaniyada dasturchilar va tizim ma'murlari o'rtasida o'zaro aloqani o'rnatishdir. Agar turli bo'limlarning IT-mutaxassislari bir-birlarining vazifalarini tushunmasalar, ular uchun yangi ilovalar va yangilanishlarni chiqarish kechiktiriladi.
DevOps "uzluksiz" ishlab chiqish tsiklini yaratadi va shu bilan dasturiy mahsulot chiqarilishini tezlashtirishga yordam beradi. Tezlashtirishga avtomatlashtirish tizimlarini joriy etish orqali erishiladi. Bundan tashqari, dasturchilar serverlarni o'rnatish va xatolarni topishda ishtirok etishni boshlaydilar, masalan, ular avtomatlashtirilgan testlarni yozishlari mumkin.
Bu bo'limlar o'rtasidagi o'zaro aloqani yaxshilaydi. Xodimlar dasturiy mahsulot foydalanuvchi qo'liga tushgunga qadar qaysi bosqichlardan o'tishini yaxshiroq tushuna boshlaydi.
Ishlab chiquvchi serverni o'rnatishda ma'mur nimaga duch kelishini tushunsa, u koddagi mumkin bo'lgan "o'tkir burchaklarni" tekislashga harakat qiladi. Bu dasturni joylashtirishda xatolar sonini kamaytiradi - statistika ma'lumotlariga ko'ra, bu taxminan besh marta.
Metodologiya kimga kerak va kerak emas
Ko'pchilik DevOps dasturiy ta'minotni ishlab chiquvchi har qanday tashkilotga foyda keltiradi. Agar kompaniya IT xizmatlarining oddiy iste'molchisi bo'lsa va o'z ilovalarini ishlab chiqmasa ham, bu to'g'ri. Bunday holda, DevOps madaniyatini joriy qilish innovatsiyalarga e'tiboringizni qaratishga yordam beradi.
Istisno startaplar, lekin bu erda hamma narsa loyihaning ko'lamiga bog'liq. Agar sizning maqsadingiz yangi g'oyani sinab ko'rish uchun minimal hayotiy mahsulotni (MVP) ishga tushirish bo'lsa, u holda DevOpssiz qilishingiz mumkin. Misol uchun, Groupon asoschisi xizmatda qo'lda ishlay boshladi veb-saytdagi barcha takliflar va yig'ilgan buyurtmalar. U hech qanday avtomatlashtirish vositalaridan foydalanmagan.
Ilova mashhurlikka erisha boshlagandagina avtomatlashtirish metodologiyasi va vositalarini amalga oshirish mantiqan to'g'ri keladi. Bu biznes jarayonlarini soddalashtirishga va yangilanishlarni chiqarishni tezlashtirishga yordam beradi.
DevOps-ni qanday amalga oshirish kerak
Quyida yangi metodologiyaga o'tish bo'yicha ba'zi tavsiyalar keltirilgan.
Biznes jarayonlaridagi muammolarni aniqlang. Metodologiyani amalga oshirishdan oldin tashkilotning maqsadlari va muammolarini ta'kidlab o'ting. DevOps-ga o'tish strategiyasi ularga bog'liq bo'ladi. Buning uchun savollar ro'yxatini tuzing, masalan:
- Dasturiy ta'minotni yangilashda ko'proq vaqt nima oladi?
- Bu jarayonni avtomatlashtirish mumkinmi?
- Tashkilotning tuzilishi bunga ta'sir qiladimi?
Tashkilotdagi muammolarni aniqlash haqida ko'proq bilib oling «"Va"» metodologiyasi mualliflaridan.
Kompaniyadagi madaniyatni o'zgartiring. Barcha xodimlarni odatdagi ish usullarini o'zgartirishga va ularning vakolat doirasini kengaytirishga ishontirish muhimdir. Masalan, Facebookda barcha dasturchilar ilovaning butun hayotiy tsikli uchun: kodlashdan boshlab amalga oshirishgacha. Shuningdek, Facebook’da alohida test bo‘limi mavjud emas – testlarni ishlab chiquvchilarning o‘zlari yozadilar.
Kichikdan boshlang. Yangilanishlarni chiqarishda eng ko'p vaqt va kuch talab qiladigan jarayonni tanlang va uni avtomatlashtiring. Bu sinov yoki dasturni joylashtirish jarayoni. Mutaxassislar Birinchi qadam taqsimlangan versiyani boshqarish vositalarini amalga oshirishdir. Ular manbalarni boshqarishni osonlashtiradi. Bunday echimlar orasida eng mashhurlari Git, Mercurial, Subversion (SVN) va CVSdir.
Yakuniy mahsulotni yig'ish va sinovdan o'tkazish uchun mas'ul bo'lgan uzluksiz integratsiya tizimlariga ham e'tibor qaratish lozim. Bunday vositalarga misollar: Jenkins, TeamCity va Bamboo.
Yaxshilanishlarni baholang. Amalga oshirilgan yechimlar uchun ishlash ko'rsatkichlarini ishlab chiqish va nazorat ro'yxatini yaratish. Ko'rsatkichlar chiqarish chastotasini, dasturiy ta'minot xususiyatlariga sarflangan vaqtni va koddagi xatolar sonini o'z ichiga olishi mumkin. Natijalarni nafaqat menejerlar, balki loyihada ishtirok etgan boshqa jamoalar bilan ham muhokama qiling. Qanday vositalar etishmayotganligini so'rang. Jarayonlaringizni yanada optimallashtirishda ushbu so'rovlarni hisobga oling.
DevOps tanqidi
Metodologiya bo'lsa-da tashkilotlar ilovalarni ishlab chiqish bo'yicha tezroq qarorlar qabul qilishlari mumkin, dasturiy ta'minotdagi xatolar soni va xodimlarni yangi narsalarni o'rganishga undaydi, u ham tanqidchilarga ega.
mavjud dasturchilar tizim ma'murlari ishining tafsilotlarini tushunmasligi kerak. Taxminlarga ko'ra, DevOps ishlab chiqish yoki ma'muriyat mutaxassislari o'rniga kompaniyada hamma narsani tushunadigan, ammo yuzaki odamlar borligiga olib keladi.
Bundan tashqari, DevOps deb ishoniladi yomon boshqaruv bilan. Rivojlanish va boshqaruv guruhlari umumiy maqsadlarga ega bo'lmasa, jamoalar o'rtasidagi aloqani tashkil etmaslik uchun menejerlar aybdor. Ushbu muammoni hal qilish uchun yangi metodologiya emas, balki bo'ysunuvchilarning fikr-mulohazalari asosida menejerlarni baholash tizimi kerak. Bu yerda oʻqishingiz mumkin, .

foto /Flickr/CC BY-SA
DevOps muhandisi kim
DevOps muhandisi DevOps metodologiyasini amalga oshiradi. U dasturiy mahsulotni yaratishning barcha bosqichlarini sinxronlashtiradi: kod yozishdan tortib dasturni sinovdan o'tkazish va chiqarishgacha. Bunday mutaxassis ishlab chiqish va boshqaruv bo'limlarini nazorat qiladi, shuningdek, turli xil dasturiy vositalarni joriy qilish orqali ularning vazifalarini bajarishni avtomatlashtiradi.
DevOps muhandisining hiylasi shundaki, u ko'plab kasblarni birlashtiradi: administrator, ishlab chiquvchi, tester va menejer.
Jo Sanches, virtualizatsiya dasturiy ta'minot kompaniyasi VMware da DevOps injilchisi, DevOps muhandisi ega bo'lishi kerak bo'lgan bir qator ko'nikmalar. DevOps metodologiyasini aniq bilishdan tashqari, bu shaxs operatsion tizimni boshqarish tajribasiga ega bo'lishi kerak. Windows и Linux va avtomatlashtirish vositalari bilan ishlash tajribasi, masalan , , . Shuningdek, u bir nechta tillarda skriptlar va kodlarni yozishi va tarmoq texnologiyalarini tushunishi kerak.
DevOps muhandisi ilovalarni sozlash va joylashtirish bilan bog'liq har qanday vazifalarni avtomatlashtirish uchun javobgardir. Dasturiy ta'minot monitoringi ham uning yelkasiga tushadi. Ushbu muammolarni hal qilish uchun u turli xil konfiguratsiyalarni boshqarish tizimlari, virtualizatsiya echimlari va resurslarni muvozanatlash uchun bulut vositalaridan foydalanadi.
Kim ishga oladi
DevOps muhandislari ilovalarni ishlab chiqadigan yoki ko'p sonli serverlarni boshqaradigan har qanday tashkilotga foyda keltirishi mumkin. DevOps muhandislari Amazon, Adobe va Facebook kabi IT gigantlari. Ular Netflix, Walmart va Etsy-da ham ishlaydi.
DevOps muhandislari faqat startaplardir. Ularning vazifasi yangi g'oyani sinab ko'rish uchun minimal hayotiy mahsulotni chiqarishdir. Aksariyat hollarda startaplar DevOpssiz ishlay oladi.
Qancha to'lash
DevOps muhandislari sanoatdagi har kimdan ko'ra ko'proq. Dunyo bo'ylab bunday mutaxassislarning o'rtacha daromadi yiliga 100 dan 125 ming dollargacha.
AQShda ular Yiliga 90 ming dollar (oyiga 500 ming rubl). Kanadada ular Yiliga 122 ming dollar (oyiga 670 ming rubl), Buyuk Britaniyada esa yiliga 67,5 ming funt sterling (oyiga 490 ming rubl).
Rossiya, Moskva kompaniyalariga kelsak DevOps mutaxassislariga oyiga 100 dan 200 ming rublgacha to'lash. Sankt-Peterburgda ish beruvchilar biroz saxiyroq - ular oyiga 160-360 ming rubl taklif qilishadi. Hududlarda ish haqi oyiga 100-120 ming rubl miqdorida ko'rsatilgan.
Qanday qilib DevOps mutaxassisi bo'lish mumkin
DevOps IT sohasida nisbatan yangi soha, shuning uchun DevOps muhandislari uchun belgilangan talablar ro'yxati yo'q. Ish e'lonlarida ushbu lavozim uchun ma'muriy ko'nikmalar talab sifatida ko'rsatilishi mumkin. Debian и CentOS, shuningdek, disklar bilan ishlash qobiliyati .
Shunga asoslanib, biz, birinchi navbatda, DevOps muhandisi yaxshi texnik dunyoqarashga ega bo'lishi kerak degan xulosaga kelishimiz mumkin. Bunday odam uchun doimo yangi vositalar va texnologiyalarni o'rganish muhimdir.
DevOps muhandisi bo'lishning eng oson yo'li tizim administratori yoki dasturchi bo'lishi mumkin. Ular allaqachon ishlab chiqilishi kerak bo'lgan bir qator ko'nikmalarga ega. Asosiy vazifa DevOps-da minimal bilimlar to'plamini yaxshilash, avtomatlashtirish vositalari bilan qanday ishlashni tushunish va boshqaruv, dasturlash va virtualizatsiya ko'nikmalaridagi bo'shliqlarni to'ldirishdir.
Qaerda bilim hali etishmayotganini tushunish uchun siz foydalanishingiz mumkin yoki . Hacker News rezidentlari ham kitoblar o'qish ""Va""(biz yuqorida aytib o'tganmiz) va"» O'Reilly Media muhri ostida.
Siz ham obuna bo'lishingiz mumkin , dolzarb maqolalarni o'qing va DevOps muhandislari bilan muloqot qilishni boshlang . Shuningdek, bepul kurslarni ko'rib chiqishga arziydi yoki .
Bizning blogimizdan xabarlar:
Manba: www.habr.com
