DevOps metodologiyası nədir və kimə lazımdır

Metodologiyanın mahiyyətinin nə olduğunu və kimə fayda verə biləcəyini anlayaq.

DevOps mütəxəssisləri haqqında da danışacağıq: onların vəzifələri, maaşları və bacarıqları.

DevOps metodologiyası nədir və kimə lazımdır
foto Matt Moore /Flickr/CC BY-SA

DevOps nədir

DevOps proqram təminatının inkişaf etdirilməsi metodologiyasıdır, vəzifəsi şirkətdə proqramçılar və sistem administratorları arasında qarşılıqlı əlaqə yaratmaqdır. Əgər müxtəlif şöbələrin İT mütəxəssisləri bir-birinin tapşırıqlarını başa düşmürlərsə, onlar üçün yeni tətbiqlərin və yeniləmələrin buraxılması gecikir.

DevOps “kesintisiz” inkişaf dövrü yaradır və bununla da proqram məhsulunun buraxılışını sürətləndirməyə kömək edir. Sürətləndirməyə avtomatlaşdırma sistemlərinin tətbiqi ilə nail olunur. Üstəlik, proqramçılar serverlərin qurulmasında və səhvlərin tapılmasında iştirak etməyə başlayırlar, məsələn, avtomatlaşdırılmış testlər yaza bilərlər.

Bu, şöbələr arasında qarşılıqlı əlaqəni yaxşılaşdırır. İşçilər proqram məhsulunun istifadəçinin əlinə keçməzdən əvvəl hansı mərhələlərdən keçdiyini daha yaxşı anlamağa başlayırlar.

Tərtibatçı bir server qurarkən administratorun nə ilə üzləşdiyini başa düşdükdə koddakı mümkün "kəskin küncləri" hamarlaşdırmağa çalışacaq. Bu, bir tətbiqi yerləşdirərkən səhvlərin sayını azaldır - statistikaya görə, bu azalır təxminən beş dəfə.

Metodologiya kimə lazımdır və lazım deyil

Çox İT mütəxəssisləri inanırlarDevOps proqram təminatını inkişaf etdirən hər hansı bir təşkilata fayda verəcəkdir. Bu, şirkət İT xidmətlərinin sadə istehlakçısı olsa da və öz proqramlarını inkişaf etdirməsə belə doğrudur. Bu halda, DevOps mədəniyyətinin tətbiqi diqqətinizi innovasiyaya yönəltməyə kömək edəcək.

İstisna makiyaj etmək startaplar, lakin burada hər şey layihənin miqyasından asılıdır. Məqsədiniz yeni ideyanı sınaqdan keçirmək üçün minimum etibarlı məhsul (MVP) təqdim etməkdirsə, DevOps olmadan edə bilərsiniz. Məsələn, Groupon-un qurucusu xidmət üzərində əl ilə işləməyə başladı yerləşdirilmişdir veb saytındakı bütün təkliflər və toplanmış sifarişlər. O, heç bir avtomatlaşdırma alətindən istifadə etməyib.

Tətbiq populyarlıq qazanmağa başlayanda yalnız avtomatlaşdırma metodologiyasını və alətlərini tətbiq etmək məna kəsb edir. Bu, biznes proseslərini sadələşdirməyə və yeniləmələrin buraxılmasını sürətləndirməyə kömək edəcək.

DevOps-u necə tətbiq etmək olar

Aşağıda yeni metodologiyaya keçid üçün bəzi tövsiyələr verilmişdir.

Biznes proseslərində problemləri müəyyən edin. Metodologiyanı tətbiq etməzdən əvvəl təşkilatın məqsəd və problemlərini vurğulayın. DevOps-a keçid strategiyası onlardan asılı olacaq. Bunu etmək üçün sualların siyahısını tərtib edin, məsələn:

  • Proqram təminatını yeniləyərkən ən çox nə vaxt tələb olunur?
  • Bu prosesi avtomatlaşdırmaq mümkündürmü?
  • Təşkilatın strukturu buna təsir edirmi?

Təşkilatdakı problemləri müəyyən etmək haqqında daha çox məlumat əldə edin kitablarda oxumaq olar «"Feniks" layihəsi"Və"DevOps Bələdçisi» metodologiyasının müəlliflərindən.

Şirkətdə mədəniyyəti dəyişdirin. Bütün işçiləri adi iş üsullarını dəyişməyə və səlahiyyət dairəsini genişləndirməyə inandırmaq vacibdir. Məsələn, Facebook-da bütün proqramçılar cavab ver bütün tətbiqin həyat dövrü üçün: kodlaşdırmadan tətbiqə qədər. Həmçinin, Facebook-da ayrıca test şöbəsi yoxdur - testləri tərtibatçılar özləri yazır.

Kiçik başlayın. Yeniləmələri buraxarkən ən çox vaxt və səy tələb edən prosesi seçin və onu avtomatlaşdırın. Bu bəlkə də sınaq və ya tətbiqin yerləşdirilməsi prosesi. Ekspertlər məsləhət verin İlk addım paylanmış versiyaya nəzarət alətlərini tətbiq etməkdir. Onlar mənbələri idarə etməyi asanlaşdırır. Belə həllər arasında ən məşhurları Git, Mercurial, Subversion (SVN) və CVS-dir.

Son məhsulun yığılması və sınaqdan keçirilməsinə cavabdeh olan davamlı inteqrasiya sistemlərinə də diqqət yetirməyə dəyər. Belə alətlərə nümunələr: Jenkins, TeamCity və Bamboo.

Təkmilləşdirmələri qiymətləndirin. Həyata keçirilən həllər üçün performans göstəricilərini hazırlayın və yoxlama siyahısı yaradın. Metriklərə buraxılış tezliyi, proqram xüsusiyyətlərinə sərf olunan vaxt və koddakı səhvlərin sayı daxil ola bilər. Nəticələri təkcə menecerlərlə deyil, həm də layihədə iştirak edən komandanın qalan üzvləri ilə müzakirə edin. Hansı alətlərin çatışmadığını soruşun. Proseslərinizi daha da optimallaşdırarkən bu sorğuları nəzərə alın.

DevOps-un tənqidi

Metodologiya olsa da kömək edir təşkilatlar tətbiqlərin inkişafı ilə bağlı daha sürətli qərarlar qəbul edə bilər, kəsiklər Proqramdakı səhvlərin sayı işçiləri yeni şeylər öyrənməyə təşviq edir, onu tənqid edənlər də var.

Yoxdur fikirproqramçılar sistem administratorlarının işinin təfərrüatlarını başa düşməməlidirlər. İddialara görə, DevOps ona gətirib çıxarır ki, inkişaf və ya idarəetmə mütəxəssisləri əvəzinə şirkətdə hər şeyi anlayan, lakin səthi insanlar var.

DevOps olduğuna da inanılır işləmirəm zəif idarəetmə ilə. Əgər inkişaf və idarəedici komandaların ümumi məqsədləri yoxdursa, komandalar arasında ünsiyyətin təşkil edilməməsində günahkar menecerlərdir. Bu problemi həll etmək üçün yeni metodologiya deyil, tabeliyində olanların rəyi əsasında menecerlərin qiymətləndirilməsi sistemi lazımdır. Burada oxuya bilərsiniz, işçilərin sorğu formalarına hansı suallar daxil edilməlidir.

DevOps metodologiyası nədir və kimə lazımdır
foto Ed İvanuşkin /Flickr/CC BY-SA

DevOps Mühəndisi kimdir

DevOps mühəndisi DevOps metodologiyasını tətbiq edir. O, proqram məhsulunun yaradılmasının bütün mərhələlərini sinxronlaşdırır: kodun yazılmasından tutmuş tətbiqin sınaqdan keçirilməsinə və buraxılmasına qədər. Belə bir mütəxəssis inkişaf və idarəetmə şöbələrinə nəzarət edir, üstəlik müxtəlif proqram vasitələrini tətbiq etməklə onların tapşırıqlarının icrasını avtomatlaşdırır.

DevOps mühəndisinin hiyləsi ondadır ki, o, bir çox peşələri birləşdirir: administrator, developer, tester və menecer.

Joe Sanchez, virtuallaşdırma proqram şirkəti olan VMware-də DevOps evangelisti, seçildi DevOps mühəndisinin sahib olmalı olduğu bir sıra bacarıqlar. DevOps metodologiyası ilə bağlı açıq biliklərə əlavə olaraq, bu şəxs Windows və Linux əməliyyat sistemlərini idarə etmək təcrübəsi və avtomatlaşdırma alətləri ilə işləmək təcrübəsi olmalıdır. ChefkuklaYoxdur. O, həmçinin bir neçə dildə skript və kod yazmağı və şəbəkə texnologiyalarını başa düşməyi bacarmalıdır.

DevOps mühəndisi proqramların konfiqurasiyası və yerləşdirilməsi ilə bağlı tapşırıqların istənilən avtomatlaşdırılmasına cavabdehdir. Proqram təminatının monitorinqi də onun çiyninə düşür. Bu problemləri həll etmək üçün o, müxtəlif konfiqurasiya idarəetmə sistemlərindən, virtuallaşdırma həllərindən və resursları balanslaşdırmaq üçün bulud alətlərindən istifadə edir.

Kim işə götürür

DevOps mühəndisləri proqramlar hazırlayan və ya çoxlu sayda serverləri idarə edən istənilən təşkilatdan faydalana bilər. DevOps mühəndisləri işə götürürlər Amazon, Adobe və Facebook kimi İT nəhəngləri. Onlar həmçinin Netflix, Walmart və Etsy-də işləyirlər.

İşə götürmə DevOps mühəndisləri yalnız startaplardır. Onların işi yeni ideyanı sınaqdan keçirmək üçün minimum məhsuldar məhsul buraxmaqdır. Əksər hallarda startaplar DevOps olmadan edə bilərlər.

Nə qədər maaş

DevOps mühəndisləri qazanmaq sənayedəki hər kəsdən daha çox. Belə mütəxəssislərin dünya üzrə orta qazancı ildə 100-125 min dollar arasında dəyişir.

ABŞ-da onlar almaq İldə 90 min dollar (ayda 500 min rubl). Kanadada onlar ödənilir İllik 122 min dollar (ayda 670 min rubl), Böyük Britaniyada isə ildə 67,5 min funt sterlinq (ayda 490 min rubl).

O ki qaldı Rusiya, Moskva şirkətlərinə hazırdır DevOps mütəxəssislərinə ayda 100-200 min rubl ödəyin. Sankt-Peterburqda işəgötürənlər bir az daha səxavətli - ayda 160-360 min rubl təklif edirlər. Bölgələrdə maaşlar ayda 100-120 min rubl təşkil edir.

Necə DevOps mütəxəssisi olmaq olar

DevOps İT-də nisbətən yeni bir istiqamətdir, ona görə də DevOps mühəndisləri üçün müəyyən edilmiş tələblər siyahısı yoxdur. Vakansiyalarda bu vəzifəyə qoyulan tələblər arasında həm Debian, həm də CentOS idarəetmə bacarıqlarını və disk sürücüləri ilə işləmək bacarığını tapa bilərsiniz. RAID massivləri.

Buna əsaslanaraq belə nəticəyə gələ bilərik ki, ilk növbədə DevOps mühəndisinin yaxşı texniki dünyagörüşü olmalıdır. Belə bir insanın daim yeni alətlər və texnologiyalar öyrənməsi vacibdir.

DevOps mühəndisi olmağın ən asan yolu sistem administratoru və ya tərtibatçıdır. Onların artıq bir sıra bacarıqları var ki, onları sadəcə inkişaf etdirmək lazımdır. Əsas vəzifə DevOps-da minimum bilik dəstini təkmilləşdirmək, avtomatlaşdırma vasitələri ilə necə işləməyi başa düşmək və idarəetmə, proqramlaşdırma və virtuallaşdırma bacarıqlarında boşluqları doldurmaqdır.

Biliyin hələ də çatışmadığı yerləri anlamaq üçün istifadə edə bilərsiniz GitHub-da mini Vikipediya və ya zehni xəritə. Hacker News rezidentləri də məsləhətdir kitab oxumaq ""Feniks" layihəsi"Və"DevOps Bələdçisi"(yuxarıda qeyd etdiyimiz) və"DevOps fəlsəfəsi. İT İdarəetmə Sənəti» O'Reilly Media möhürü altında.

Siz də abunə ola bilərsiniz Devops Weekly bülleteni, aktual məqalələri oxuyun portal DZone və DevOps mühəndisləri ilə ünsiyyətə başlayın Yavaş söhbət. Pulsuz kursları da nəzərdən keçirməyə dəyər Udacity və ya EDX.

Bloqumuzdan yazılar:



Mənbə: www.habr.com

Добавить комментарий