Hər kəsin 2020-ci ildə öyrənməli olduğu DevOps Alətləri

Bu gün ən yaxşı DevOps alətlərindən istifadə etməyə başlayın!

Hər kəsin 2020-ci ildə öyrənməli olduğu DevOps Alətləri
DevOps inqilabı nəhayət dünyanı ələ keçirdi və DevOps alətləri inanılmaz dərəcədə populyarlaşdı. Xidmətə görə Google Trends, “DevOps alətləri” üçün müraciətlərin sayı durmadan artır və bu tendensiya davam edir.

DevOps metodologiyası bütün proqram təminatının işlənməsinin həyat dövrünü əhatə edir, beləliklə, peşəkarlar müxtəlif alətlər arasından seçim edə bilərlər. Ancaq bildiyiniz kimi, heç bir alət hər kəs üçün universal alət ola bilməz. Bununla belə, bəzi həllər o qədər geniş funksiyalar təklif edir ki, onlar demək olar ki, istənilən vəzifəni yerinə yetirə bilirlər.

Gəlin DevOps alətlərini kateqoriyalara ayıraq və analoqları ilə müqayisə edək:

  • alətlərin hazırlanması və qurulması
  • test avtomatlaşdırma vasitələri
  • yerləşdirmənin təşkili üçün alətlər
  • İcra zamanı alətləri
  • əməkdaşlıq alətləri.

Uğurlu və düşünülmüş icra DevOps praktikantı yuxarıda sadalanan bütün beş qrupun alətlərini əhatə edir. CI/CD boru kəmərinin mühüm elementini qaçırmamaq üçün layihənizdə mövcud alətlər dəstini təhlil edin.

İnkişaf və Quraşdırma Alətləri

Hər kəsin 2020-ci ildə öyrənməli olduğu DevOps Alətləri
Bu, CI/CD boru kəməri yığınının əsasını təşkil edir. Hər şey elə buradan başlayır! Bu kateqoriyadakı ən yaxşı alətlər çoxsaylı hadisə axınını idarə edə və digər məhsullarla asanlıqla inteqrasiya edə bilər.

İnkişafın həyat dövrünün bu mərhələsində üç qrup alət var:

  • versiyaya nəzarət sistemi (SCM)
  • davamlı inteqrasiya (CI)
  • Məlumatların idarə olunması

GIT 2020-ci ildə müsbət nəticə əldə etdi, buna görə də SCM alətiniz GIT üçün qüsursuz dəstəyə sahib olmalıdır. CI üçün ilkin şərt təcrid olunmuş konteyner mühitində konstruksiyaları icra etmək və işə salmaq bacarığıdır. Məlumatların idarə edilməsinə gəldikdə, verilənlər bazası sxeminə dəyişikliklər etmək və proqram versiyasına uyğun olaraq verilənlər bazasını saxlamaq bacarığı tələb olunur.

SCM + CI Aləti №1

Qalib: GitLab və GitLab-CI

Hər kəsin 2020-ci ildə öyrənməli olduğu DevOps Alətləri
2020 DevOps dövrünün ən yaxşı vasitəsi, şübhəsiz ki, GitLab-dır və o, mütləq yaxın gələcəkdə innovasiyalara rəhbərlik etməyə davam edəcəkdir.

GitLab-ın əsas funksiyası Git repozitoriyasının rahat idarə olunmasını təmin etməkdir. Veb interfeysi intuitivdir və istifadəsi asandır. GitLab sizə lazım olan hər şeyi pulsuz versiyada təqdim edir və SaaS və yerli olaraq təqdim olunur (proqramı yerləşdirmək üçün öz resurslarınızdan istifadə etməklə).

Heç bir başqa SCM aləti birbaşa deponuzda davamlı inteqrasiyadan (CI) istifadə etməyib və GitLab bunu uzun müddətdir ki, edir. GitLab-CI-dən istifadə etmək üçün mənbə kodunuzun kökünə .gitlab-ci.yml faylı əlavə etməlisiniz və layihəyə edilən hər hansı dəyişiklik məhz sizin göstərdiyinizə əsaslanan hərəkətləri işə salacaq. GitLab və GitLab-CI davamlı inteqrasiya (CI-as-code) sahəsində liderlər kimi layiqincə tanınırlar.

Əsas üstünlüklər

  • Etibarlılıq - Məhsul 2013-cü ildən bazardadır; sabit; yaxşı dəstəklənir.
  • Açıq Mənbə - GitLab-ın pulsuz versiyası inkişaf komandalarının ehtiyac duyduğu əsas funksionallığı məhdudlaşdırmır. Ödənişli xidmət paketləri müxtəlif ölçülü və ehtiyacları olan şirkətlər üçün əlavə faydalı xüsusiyyətlər təqdim edir.
  • Oyulmuş CI - Bazarda heç bir başqa alət GitLab-CI kimi birbaşa SCM-ə davamlı inteqrasiya qurmamışdır. Docker-dən istifadə əngəlsiz izolyasiya edilmiş quruluşları təmin edir və daxili hesabatlar sazlamağı asanlaşdırır. Biz eyni zamanda birdən çox alətin kompleks inteqrasiyasını və idarə olunmasını tələb etmirik.
  • Limitsiz İnteqrasiyalar - GitLab sizə lazım olan bütün DevOps alətlərinin asan inteqrasiyasını təmin edir. Bu, inkişaf və texniki xidmət qruplarının istənilən mühitdə tətbiqi ilə bağlı vahid məlumat mənbəyinə malik olmasını təmin edir.

Rəqiblər

Döyüşdə iştirak etdi, lakin qalib gəlmədi

Bu kateqoriyada başqa məşhur alətlər də var, lakin onlar GitLab qədər yaxşı deyil. Və buna görə də:

Github — Bu, kiçik şirkətlər və inkişafın ilkin mərhələləri üçün əla SaaS versiyasına nəzarət sistemidir. İP ünvanlarını öz şəbəkələrində saxlamağın vacib olduğu böyük şirkətlər üçün GitHub-dan yeganə həll yolu yüksək əlçatanlıq sistemlərinə dəstək olmayan .OVA virtual maşını idi. Bundan əlavə, .OVA yalnız orta ölçülü müəssisələr üçün uyğundur, əks halda server daha çox yük altında çökəcək. GitHub Actions (son vaxtlara qədər və hələlik yerli versiyada deyil) və ya CI-as-code-un olmaması o deməkdir ki, siz ayrıca CI aləti seçməli və sonra həmin inteqrasiyanı idarə etməlisiniz. Nəhayət, GitHub GitLab-ın hər iki versiyasından qat-qat bahadır.

Jenkins — Jenkins standart olaraq davamlı inteqrasiya alətləri arasında standart hesab edilsə də, həmişə versiyaya nəzarət imkanlarından məhrum olmuşdur. Məlum oldu ki, siz Jenkins plus bir növ SCM alətindən istifadə edirsiniz. GitLab hər ikisini edə biləndə çox çətindir. Orta səviyyəli UX dizaynı müasir veb tətbiqi üçün uyğun deyil və arzuolunan çox şey yaradır.

BitBucket/Bambuk — Mən onu avtomatik itirən kimi tanımalıyam: GitLab hər şeyi tamamilə müstəqil edərkən niyə iki alət. BitBucket Cloud GitLab-CI / GitHub Action funksionallığını dəstəkləyir, lakin başlanğıcdan daha böyük heç bir şirkət onu asanlıqla həyata keçirə bilməz. Yerli BitBucket serveri BitBucket boru kəmərlərini belə dəstəkləmir!

№1 Məlumat İdarəetmə Aləti

Qalib: FlywayDB

Hər kəsin 2020-ci ildə öyrənməli olduğu DevOps Alətləri
Veb proqramlarının hazırlanmasında verilənlər bazasının avtomatlaşdırılmasına adətən əhəmiyyət verilmir. Tətbiqin yeni versiyaları üçün verilənlər bazası sxeminin dəyişdirilməsi ideyası gec gəlir. Sxem dəyişiklikləri çox vaxt sütunların və ya cədvəllərin əlavə edilməsi və adının dəyişdirilməsi ilə nəticələnir. Tətbiq versiyası sxem versiyasına uyğun gəlmirsə, proqram çökə bilər. Əlavə olaraq, iki fərqli sistem olduğu üçün tətbiqi yeniləyərkən verilənlər bazası dəyişikliklərini idarə etmək çətin ola bilər. FlyWayDB bütün bu problemləri həll edir.

Əsas üstünlüklər

  • Database versioning - Flyway sizə verilənlər bazası versiyalarını yaratmağa, verilənlər bazası miqrasiyasını izləməyə və bunun üçün əlavə alət olmadan sxem dəyişikliklərini asanlıqla köçürməyə və ya geri qaytarmağa imkan verir.
  • Binar və ya Daxili - Biz Flyway-i proqramın bir hissəsi kimi və ya ikili icra olunan kimi işlətməyi seçə bilərik. Flyway başlanğıcda versiya uyğunluğunu yoxlayır və verilənlər bazası və proqram versiyalarını sinxronlaşdıraraq müvafiq miqrasiyaya başlayır. Cmd line ad-hoc əmrini işlətməklə biz bütün tətbiqi yenidən qurmadan mövcud verilənlər bazalarına çeviklik veririk.

Rəqiblər

Döyüşdə iştirak etdi, lakin qalib gəlmədi

Bu sahədə çoxlu alətlər yoxdur. Onlardan bəzilərinə nəzər salaq:

LiquiBase — Liquibase FlywayDB-yə bənzəyir. Komandamda Liquibase ilə daha çox təcrübəsi olan biri olsaydı, onu Flyway-in üstünə qurmaq istərdim.

Flocker - Yalnız konteynerləşdirilmiş proqramlar üçün işləyə bilər. Konteynerləşdirilmiş verilənlər bazalarını uğurla idarə etmək üçün hər şey mükəmməl şəkildə planlaşdırılmalıdır. Mən verilənlər bazası üçün RDS (Relational Database Service) istifadə etməyi məsləhət görürəm və vacib məlumatları konteynerdə saxlamağı məsləhət görmürəm.

Test avtomatlaşdırma alətləri

Hər kəsin 2020-ci ildə öyrənməli olduğu DevOps Alətləri
Test piramidasına əsaslanaraq onları təsnif etməklə test avtomatlaşdırma vasitələri haqqında müzakirəmizə başlayaq.

Test piramidasının (testlər) 4 səviyyəsi var:

  • Vahid Testləri - Bu, bütün avtomatlaşdırılmış sınaq prosesinin əsasını təşkil edir. Digər test növləri ilə müqayisədə vahid testlər daha çox olmalıdır. Tərtibatçılar proqramın bir hissəsinin ("vahid" kimi tanınan) onun dizaynına uyğun olmasını və gözlənildiyi kimi davranmasını təmin etmək üçün vahid testləri yazır və icra edirlər.
  • Komponent Testləri - Komponent testinin əsas məqsədi test obyektinin giriş/çıxış davranışını yoxlamaqdır. Test obyektinin funksionallığının spesifikasiyaya uyğun olaraq düzgün şəkildə həyata keçirilməsini təmin etməliyik.
  • İnteqrasiya testləri - Fərdi proqram modullarının birləşdirildiyi və qrup şəklində sınaqdan keçirildiyi test növü.
  • End-to-End Tests - Bu addım özünü izah edir. Biz bütün proqrama nəzarət edirik və onun planlaşdırıldığı kimi işləməsinə əminik.

Vahid testləri və komponent testləri yalnız tərtibatçılar tərəfindən həyata keçirildiyindən və çox vaxt xüsusi proqramlaşdırma dili olduğundan, biz DevOps domeni üçün bu alətləri qiymətləndirməyəcəyik.

№1 İnteqrasiya Test Aləti

Qalib: Xiyar

Hər kəsin 2020-ci ildə öyrənməli olduğu DevOps Alətləri
Xiyar spesifikasiyaları və sınaq sənədlərini tək canlı sənəddə birləşdirir. Xiyar tərəfindən avtomatik sınaqdan keçirildiyi üçün spesifikasiyalar həmişə yenilənir. Sıfırdan avtomatlaşdırılmış sınaq çərçivəsi qurmaq və veb proqramında istifadəçi davranışını modelləşdirmək istəyirsinizsə, Java və Cucumber BDD ilə Selenium WebDriver layihədə Xiyar öyrənmək və həyata keçirmək üçün əla yoldur.

Əsas üstünlüklər

  • BDD yanaşması ("Davranışa əsaslanan inkişaf" - "test əsaslı inkişaf" yanaşmasından fərqli olaraq "davranış vasitəsilə inkişaf") - Xiyar BDD testi üçün nəzərdə tutulmuşdur, o, əvvəlcə məhz bu vəzifə üçün yaradılmışdır.
  • Living Documentation - Sənədləşmə həmişə ağrıdır! Testləriniz kod kimi yazıldığından, Cucumber testlərin və sənədlərin sinxron olmasını təmin etmək üçün avtomatik yaradılan sənədləri sınaqdan keçirir.
  • Dəstək - Biz bir çox alətlər arasından seçim edə bilərik, lakin Xiyar istənilən çətin vəziyyətdə istifadəçilərə kömək etmək üçün lazımi maliyyə resurslarına və yaxşı təşkil edilmiş dəstək sisteminə malikdir.

Rəqiblər

Döyüşdə iştirak etdi, lakin qalib gəlmədi

Digər çərçivələr və texnologiyaya aid alətlər arasında yalnız Xiyar universal bir həll hesab edilə bilər.

Başdan Uca Test Alətləri

Başdan sona test apararkən iki əsas məqama diqqət yetirməlisiniz:

  • funksional sınaq
  • Stress Testi.

Funksional testdə istədiyimiz hər şeyin həqiqətən baş verib-vermədiyini yoxlayırıq. Məsələn, mən SPA-nın (bir səhifə tətbiqi) müəyyən elementlərinə kliklədikdə, formaları doldurub “Göndər” seçimini etdikdə, verilənlər bazasında məlumatlar görünür və ekranda “Uğur!” mesajı görünür.

Eyni ssenari ilə işləyən müəyyən sayda istifadəçinin səhvsiz işlənə biləcəyini yoxlamaq da bizim üçün vacibdir.

Bu 2 növ testin olmaması CI/CD boru kəmərinizdə əhəmiyyətli çatışmazlıq olacaq.

# 1 uçdan-uca sınaq aləti. Funksional sınaq

Qalib: SoapUI Pro

Hər kəsin 2020-ci ildə öyrənməli olduğu DevOps Alətləri
SOAP əsaslı veb xidmətləri standart olduğundan, SoapUI uzun müddət API sınaq məkanında olmuşdur. Biz artıq yeni SOAP xidmətləri yaratmasaq və alətin adı dəyişməsə də, bu onun təkamül etmədiyi demək deyil. SoapUI avtomatlaşdırılmış backend funksional testləri yaratmaq üçün əla çərçivə təqdim edir. Testlər asanlıqla davamlı inteqrasiya alətləri ilə birləşdirilə və CI/CD boru kəmərinin bir hissəsi kimi istifadə edilə bilər.

Əsas üstünlüklər

  • Ətraflı sənədlər - SoapUI kifayət qədər uzun müddətdir ki, bazardadır, ona görə də testlərin necə qurulacağını anlamağa kömək edə biləcək bir çox onlayn resurs var.
  • İstifadə Asanlığı - Alət API-lərin sınaqdan keçirilməsi üçün çoxsaylı protokolları dəstəkləsə də, SoapUI-nin çoxsaylı xidmətlər üçün ümumi interfeysinin olması testlərin yazılmasını asanlaşdırır.

Rəqiblər

Döyüşdə iştirak etdi, lakin qalib gəlmədi

Selenium bu qrupda başqa bir əla alətdir. Java əsaslı proqram qurur və işlədirsinizsə, ondan istifadə etməyi məsləhət görürəm. Bununla belə, birdən çox texnologiya ilə tam veb tətbiqi qurursunuzsa, bu, Java olmayan komponentlər üçün əlverişsiz ola bilər.

# 1 uçdan-uca sınaq aləti. Stress Testi

Qalib: LoadRunner

Hər kəsin 2020-ci ildə öyrənməli olduğu DevOps Alətləri
Şərhlər: Tətbiqinizin hər bir elementini sınaqdan keçirmək vaxtı gəldikdə, yalnız LoadRunner tapşırığı yerinə yetirə bilər. Bəli, əvvəlcə bahalı və çətindir, lakin LoadRunner texniki memar kimi mənə yeni kodun həddindən artıq yük şəraitində işləyəcəyinə tam əminlik verən yeganə vasitədir. Bundan əlavə, məncə LoadRunner-ın sınaq qrupları deyil, inkişaf qrupları tərəfindən ələ keçirilməsinin vaxtıdır.

Əsas üstünlüklər

  • Geniş sənədlər - LoadRunner kifayət qədər uzun müddətdir ki, bazardadır, ona görə də yükləmə testlərinin necə qurulacağını başa düşməyinizə kömək edəcək bir çox onlayn resurs var.
  • Protokol dəstəyi - Load Runner ODBC-dən AJAX, HTTPS və tətbiqinizin istifadə edə biləcəyi hər hansı digər qeyri-trivial protokola qədər hər şeyi dəstəkləyir. Yük testi üçün çoxlu alətlərdən istifadə etməməyə çalışırıq, çünki bu, prosesi çətinləşdirir.

Rəqiblər

Döyüşdə iştirak etdi, lakin qalib gəlmədi

Yenə də bu sahədə çoxlu universal vasitələr yoxdur, ona görə də ən yaxşı həll istənilən texnologiya ilə istənilən mühitdə işləyəcək bir həlldir.

Yerləşdirmə alətləri

Hər kəsin 2020-ci ildə öyrənməli olduğu DevOps Alətləri
Yerləşdirmə alətləri, yəqin ki, inkişafın ən az başa düşülən aspektidir. Tətbiqin kodunu və funksionallığını dərindən başa düşməyən əməliyyat qrupu üçün bu cür vasitələrdən istifadə etmək çətindir. Tərtibatçılar üçün yerləşdirmənin idarə edilməsi yeni məsuliyyətdir, ona görə də onların bu cür alətlərlə işləmək təcrübəsi hələ ki, yoxdur.

Əvvəlcə bütün yerləşdirmə alətlərini üç alt kateqoriyaya ayıraq:

  • artefakt idarə edilməsi
  • konfiqurasiyanın idarə edilməsi
  • yerləşdirmək.

#1 Artefakt İdarəetmə Aləti

Qalib: Nexus

Hər kəsin 2020-ci ildə öyrənməli olduğu DevOps Alətləri
Nexus artefakt anbarı Java-dan NPM-ə, Docker-ə qədər demək olar ki, bütün əsas texnologiyaları dəstəkləyir. İstifadə etdiyimiz bütün artefaktları saxlamaq üçün bu alətdən istifadə edə bilərik. Uzaqdan paket menecerlərinin proksiləşdirilməsi də CI qurma prosesini əhəmiyyətli dərəcədə sürətləndirir və paketləri qurmaq üçün daha əlçatan edir. Digər bir üstünlük, bir neçə proqram layihəsində istifadə olunan bütün paketlərin tam görünüşünü əldə etmək, təhlükəli açıq mənbə paketlərini bloklamaqdır (onlar hücum vektoru kimi çıxış edə bilər).

Əsas üstünlüklər

  • Texniki dəstək - Etibarlı məhsul; yaxşı dəstəklənir.
  • Open Source - Pulsuz versiya inkişaf komandalarının ehtiyac duyduğu əsas funksionallığı məhdudlaşdırmır.

№1 Konfiqurasiya İdarəetmə Aləti

Qalib: Yoxdur

Ansible bir sadə səbəbə görə liderdir: vətəndaşlığı olmayan. Əvvəllər oxşar alətlər konfiqurasiya vəziyyətinin idarə edilməsinə yönəldilmişdir. Başladıqda, belə bir alət istənilən konfiqurasiyanı əldə edərək, cari tətbiq konfiqurasiyasını düzəltməyə çalışacaq. Və yeni yanaşma ilə yalnız vətəndaşlığı olmayan komponentlər mövcuddur. Kodun yeni versiyaları mövcud olanları əvəz etmək üçün yerləşdirilən artefaktlardır. Bunu bir növ efemer, qısamüddətli mühit hesab etmək olar.

Əsas üstünlüklər

  • Vətəndaşsız - Playbook yerləşdirmə maşınından işə salınır və hədəf serverlərdə icra olunur. Yerləşdirilə bilən obyektlər yaratmaq üçün Packer kimi alətdən istifadə edərək uzaq obyektin vəziyyəti barədə narahat olmağa ehtiyacım yoxdur.
  • Açıq mənbə - CentOS kimi Ansible da RedHat tərəfindən dəstəklənir. O, icmanın saxlanmasına kömək edir və yüksək keyfiyyətli, istifadəsi asan modullar təqdim edir.
  • Molekulla sınaq (Ansible çərçivə) - Konfiqurasiya idarəçiliyi kod olduğundan, hər şey kimi, sınaq vacibdir. Molecule's Ansible rol testi çərçivəsi qüsursuz işləyir, konfiqurasiyanın eyni keyfiyyətdə olmasını və tətbiq kodu ilə eyni CI/CD boru xəttini izləməsini təmin edir.
  • YAML - Digər alətlərlə müqayisədə YAML anlamaq daha asandır. Konfiqurasiyanın idarə edilməsi adətən DevOps təcrübələrini tətbiq edənlər üçün yeni bir problem olduğundan, sadəlik onun kozır kartıdır.

Rəqiblər

Döyüşdə iştirak etdi, lakin qalib gəlmədi

OpsCode Chef — Mən DevOps karyerama yemək kitabı tərtibçisi kimi başlamışam. Ruby və Chef, əlbəttə ki, mənim ürəyim üçün çox əzizdir, lakin onlar sadəcə olaraq müasir vətəndaşlığı olmayan, buludda yerli proqramların problemlərini həll etmirlər. OpsCode Chef daha ənənəvi tətbiqlər üçün əla vasitədir, lakin bu məqalədə biz gələcəyə diqqət yetirmişik.

kukla — Kuklanın heç vaxt çox pərəstişkarı olmayıb, xüsusən də Chef və Ansible ilə müqayisədə. Təchizat və avadanlıqla işləmək üçün əladır, lakin veb tətbiqi üçün müasir konfiqurasiya idarəetmə dəstəyi yoxdur.

Yerləşdirmə aləti №1

Qalib: Terraform

Hər kəsin 2020-ci ildə öyrənməli olduğu DevOps Alətləri
Terraform şəbəkə komponentlərindən tutmuş tam server şəkillərinə qədər infrastrukturunuzu kod kimi təsvir etmək problemini həll edir. Bu məhsul ilk buraxılışından bəri çox yol keçmişdir, o qədər çox plaginlər yaradılmışdır və o qədər güclü bir cəmiyyət qurulmuşdur ki, istənilən yerləşdirmə ssenarisində kömək alacağınıza əmin olacaqsınız. İstənilən növ mühiti (yerdə, buludda və ya başqa yerlərdə) dəstəkləmək bacarığı misilsizdir. Nəhayət, ən son versiya HCL-də hər hansı digər ənənəvi proqramlaşdırma dili ilə eyni məntiq funksiyalarının və siniflərinin çoxunu təmin edərək, Terraform-u tərtibatçıların tez və asanlıqla qavramasını asanlaşdırır.

Əsas üstünlüklər

  • Ətraf mühit aqnostik - Terraform infrastruktur provayderi ilə əlaqə saxlamaq üçün Terraform kodunuz, bütün API-lər və daxili məntiq arasında interfeys rolunu oynayan funksiyalardan istifadə edir. Bu o deməkdir ki, mən yalnız bir alətə yiyələnəcəm və sonra hər yerdə işləyə bilərəm.
  • Open Source - Pulsuz alətləri məğlub etmək çətindir! Ən yüksək səviyyədə icma dəstəyi.

Rəqiblər

Döyüşdə iştirak etdi, lakin qalib gəlmədi

AWS Bulud Formasiyası — Yalnız AWS bulud mühitində işləsəniz belə, növbəti işiniz fərqli alətdən istifadə edə bilər. Bütün vaxtınızı və enerjinizi yalnız bir platforma həsr etmək uzaqgörən bir qərardır. Bundan əlavə, bir çox yeni AWS xidmətləri tez-tez CloudFormation-da mövcud olmadan əvvəl Terraform modulları kimi mövcuddur.

İcra zamanı alətləri

Hər kəsin 2020-ci ildə öyrənməli olduğu DevOps Alətləri

Hər hansı bir inkişaf layihəsinin son məqsədi tətbiqi istehsala başlamaqdır. DevOps dünyasında biz ətraf mühitimizlə bağlı bütün mümkün problemlərdən tam xəbərdar olmaq və əl ilə müdaxiləni minimuma endirmək istəyirik. Tətbiq inkişafı nirvanasına nail olmaq üçün düzgün iş vaxtı alətlərinin seçilməsi vacibdir.

İş vaxtı alətlərinin alt kateqoriyaları:

  • X-as-a-service (XaaS)
  • orkestr
  • monitorinqi
  • giriş.

X-aləti xidmət kimi №1

Qalib: Amazon Web Services

Hər kəsin 2020-ci ildə öyrənməli olduğu DevOps Alətləri
Amazon həmişə bulud texnologiyaları sahəsində lider olub, lakin bununla da bitmir: tərtibatçılar üçün yeni xidmətlərin müxtəlifliyi göz açır. İstənilən texnologiya və şablonu AWS-ə gətirin və o qurulacaq və işləyəcək. Alətin qiyməti olduqca məqbuldur: onu öz məlumat mərkəzinizdə avadanlığın yığılması, idarə edilməsi və saxlanması ilə müqayisə edin. Pulsuz versiya pul xərcləməzdən əvvəl sınaqdan keçirməyə və düzgün qərar qəbul etməyə imkan verir.

Əsas üstünlüklər

  • Yayılma - AWS-də tətbiqlər yaratmaq təcrübəniz varsa, istənilən yerdə işləyə bilərsiniz. Müəssisələr AWS-ni sevir və startaplar da onun aşağı qiymətini yüksək qiymətləndirirlər.
  • Pulsuz versiya AWS-ni həmyaşıdlarından fərqləndirən həqiqətən əhəmiyyətli bir amildir. İcazə verin, satın alma qərarı verməzdən əvvəl xidməti sınayım və onun necə işlədiyinə baxım, lazımsız bir şeyə minlərlə dollar xərcləmək istəmirəm. Pulsuz versiya mənim üçün hər hansı bir konsepsiyanı sınaqdan keçirmək üçün həmişə kifayətdir.

Rəqiblər

Döyüşdə iştirak etdi, lakin qalib gəlmədi

Azure “Azure ilk buraxılışından bəri uzun bir yol keçib və bu, təqdirəlayiqdir. Bununla belə, fərqli olmaq istəyi xidmətlər üçün qəribə adların yaranmasına səbəb olub ki, bu da çox vaxt işi çətinləşdirir. "Blob saxlama" nə deməkdir? Və .NET kodu Microsoft ekosistemində daha yaxşı performans göstərsə də, tətbiqinizin hər bir komponenti üçün yalnız .NET-dən istifadə etməyiniz çətin deyil.

Heroku — Etibarlılıq və şəffaflığın aşağı səviyyəsinə görə heç vaxt Heroku-da şəxsi layihədən başqa heç nə işlətməzdim, ona görə də şirkətlər ondan platforma kimi istifadə etməməlidirlər. Heroku bloqda bir şey nümayiş etdirmək üçün əladır, lakin praktik istifadə üçün - "Xeyr, təşəkkürlər!"

№1 Orkestr Aləti

Qalib: OpenShift

Hər kəsin 2020-ci ildə öyrənməli olduğu DevOps Alətləri
Çox güman ki, tətbiq yığınınızda Docker və ya digər konteynerlərdən istifadə edirsiniz. Serversiz proqramlar əladır, lakin onlar hər arxitekturaya uyğun gəlməyə bilər. Orkestr platforması olmadan konteynerlərin işlədilməsi sadəcə işləməyəcək. Kubernetes Core (K8s) təhlükəsizlik və alətlər baxımından rakipsizdir. OpenShift, Source2Image toplaya bilən, podlara avtomatlaşdırılmış yerləşdirməni dəstəkləyən və izləmə və monitorinqi dəstəkləyən yeganə Kubernetes əsaslı platformadır. OpenShift eyni vaxtda şirkətdə, buludda və ya şirkətdə və buludda işlədilə bilər.

Əsas üstünlüklər

  • Daxili Təhlükəsizlik - K8s təhlükəsizliyini idarə etmək qabaqcıl dərəcə tələb edə bilər. Hər bir detal diqqətlə düşünülməli və nəzərə alınmalıdır! OpenShift ilə standart olaraq qurulmuş təhlükəsizlik mexanizmləri tərtibatçıların yükünü götürür və tətbiqlər üçün daha təhlükəsiz platforma təmin edir.
  • Hamısı bir yerdə həll - Defolt olaraq yük balanslaşdırma alətlərini daxil etməyən əsas K8-lərdən fərqli olaraq, OpenShift-də hər şey var. Mən ondan konteynerlər yaratmaq və yerləşdirmək, CI/CD alətlərini idarə etmək, xarici prosesləri idarə etmək, açarları idarə etmək və daha çox şey üçün istifadə edə bilərəm. GUI hələ mükəmməl olmaqdan uzaq olsa da, API-yə əsaslanan yanaşma hər şeyi skriptdə təsvir etmək deməkdir. K8-lər üçün digər GUI-lərdən fərqli olaraq, OpenShift Kubernetes-in əsaslarını öyrənməyi çox asanlaşdırır. Hətta diplom almağa ehtiyac yoxdur!

Rəqiblər

Döyüşdə iştirak etdi, lakin qalib gəlmədi

Docker sürüsü — Docker Swarm bir çox şeydən qurtularaq K8-ləri sadələşdirməyə çalışdı. Kiçik proqramlar üçün əladır, lakin müəssisə proqramları üçün sadəcə işləmir. Bundan əlavə, AWS ECS kimi həllər oxşar yanaşma tətbiq edir, lakin mənim də qarşılıqlı əlaqədə ola biləcəyim digər xidmətlərlə (Lambda, IAM və s.) işləməyi asanlaşdırır.

Monitorinq aləti №1

Qalib: Yeni Relikt

Hər kəsin 2020-ci ildə öyrənməli olduğu DevOps Alətləri
New Relic-in erkən buraxılışları bir şeyi yaxşı etdi - APM (Application Performance Monitoring) monitorinqi. İndi o, serverə, konteynerə, verilənlər bazası performansına, son istifadəçi təcrübəsinin monitorinqinə və əlbəttə ki, proqram performansının monitorinqinə imkan verən tam funksiyalı monitorinq vasitəsidir.

Əsas üstünlüklər

  • İstifadə Asanlığı - Sistem mühəndisi kimi işlədiyim zaman bir çox monitorinq alətlərindən istifadə etdim, lakin New Relic qədər sadə və istifadəsi asan olanla heç vaxt rastlaşmamışam. Bu SaaS-dır, ona görə də onu özünüz quraşdırmanıza ehtiyac yoxdur.
  • Başdan sona görünürlük - Digər alətlər tətbiqinizin bir xüsusi elementini izləməyə çalışır. Məsələn, prosessor istifadəsi və ya şəbəkə trafikinin metrikası, lakin tətbiqin düzgün işləməsi üçün bütün bunlara hərtərəfli nəzarət edilməlidir. New Relic sizə baş verənləri hərtərəfli görmək üçün bütün məlumatlarınızı bir araya gətirmək imkanı verir.

Rəqiblər

Döyüşdə iştirak etdi, lakin qalib gəlmədi

Zabbix — Mənim ilk və sevimli monitorinq sistemim, lakin bulud texnologiyalarında və APM tətbiqi performansının monitorinqi sahəsində inkişafın olmaması səbəbindən keçmişdə qaldı. Zabbix hələ də ənənəvi server infrastrukturunun monitorinqini yaxşı həyata keçirir, lakin bu, bununla bağlıdır.

DataDog — Kodun özünə deyil, tətbiqin istehsal mühitinin idarə edilməsi prosesinə çox diqqət yetirilir. Tərtibatçıları cəlb edən DevOps komandaları ilə yüksək səviyyəli dəstəyi təmin etmək üçün istifadəsi çətin alətlərə etibar etmək məcburiyyətində deyilik.

Giriş aləti №1

Qalib: Boşalmaq

Hər kəsin 2020-ci ildə öyrənməli olduğu DevOps Alətləri
Splunk ilə rəqabət aparmaq çətindir! Uzun müddətdir ki, o, hər kəsdən daha yaxşı etməyə davam edərək, ağac kəsmə sahəsində lider olaraq qalır. On-prem və SaaS təklifləri ilə siz Splunk-dan istənilən yerdə istifadə edə bilərsiniz. Böyük mənfi cəhət onun qiymətidir: Splunk hələ də bahadır!

Əsas üstünlüklər

  • Geniş yayılma - Müəssisələr Splunk-u sevir və şirkətlər onu almaq üçün pula malikdirlər.
  • Başlanğıclar xərcləri geri qaytarmağa çalışsalar da, açıq mənbə analoqları sayəsində bir çox funksiyaları həll etmək olar.
  • Davamlılıq - Sadə dillə desək, Splunk işləyir və bunu yaxşı edir. İstifadəyə hazır bir çox standart parametrlər və funksiyalar ilə gəlir. Sənədləri oxumağa və Splunk-u işə götürməyə və ya hər hansı bir şeyi deşifrə etməyə vaxt itirməyə ehtiyac yoxdur.

Rəqiblər

Döyüşdə iştirak etdi, lakin qalib gəlmədi

ELK Stack (ElasticSearch, LogStash və Kibana) "Bu alətlər favorit kimi görünür, çünki onlardan istifadə etmək üçün qaraciyərinizi satmağa belə ehtiyac yoxdur." Bununla belə, jurnallar dəsti böyüdükcə və bortda tətbiqlərin sayı artdıqca, iş getdikcə çətinləşir. Splunk ilə müqayisədə, ELK Stack ilə hər hansı bir tablosunu yaratmazdan əvvəl alətlərin qurulmasına əvvəlkindən daha çox vaxt sərf etdim.

Əməkdaşlıq Alətləri

Hər kəsin 2020-ci ildə öyrənməli olduğu DevOps Alətləri
DevOps ilk növbədə təşkilat daxilində mədəniyyətin dəyişdirilməsi ilə bağlıdır. Hər hansı bir alət almaq bir gecədə mövcud təcrübələri dəyişməyəcək, lakin bu, əlbəttə ki, əməkdaşlığı və yeni qarşılıqlı əlaqə üsullarını təşviq edə bilər.

Əməkdaşlıq vasitələrinin alt kateqoriyaları:

  • tapşırığın izlənməsi
  • ChatOps
  • sənədlər.

#1 Problem İzləmə Aləti

Qalib: Jira

Hər kəsin 2020-ci ildə öyrənməli olduğu DevOps Alətləri
Jira bu sahədə rəqabət artsa da, liderlik mövqeyini qoruyub saxlayır. Jira-nın inanılmaz çevikliyi inkişaf və texniki xidmət qruplarına layihə işlərini və sprint tapşırıqlarını idarə etməyə imkan verir. Agile terminologiyasından istifadə edən daxili standartlar ənənəvi iş üsullarından daha səmərəli proseslərə keçməyi asanlaşdırır.

Əsas üstünlüklər

  • Populyarlıq - Bir çox digər alətlər kimi Jira da demək olar ki, hər yerdə istifadə olunur. Kiçik komandalar daha ucuz, daha əlçatan versiyadan istifadə edir və onlara lazım olan hər şeyi alır, böyük şirkətlər isə daha bahalı lisenziyanı ödəyə bilirlər.
  • İnteqrasiyalar - Jira öz sahəsində qabaqcıldır. Bu fakt və məhsulun sürətli inkişafı ona gətirib çıxarır ki, digər şirkətlər öz inteqrasiyalarını yaratmaq üçün Jira-nı seçirlər və bununla da alətin dəyərini artırırlar. Jira-nı kiçik bir konfiqurasiya ilə qutudan kənarda bu məqalədə sadalanan bütün alətlərlə birləşdirə bilərik.

Rəqiblər

Döyüşdə iştirak etdi, lakin qalib gəlmədi

Trello — Trello pulsuz Kanban aləti sayəsində tez bir zamanda populyarlıq qazandı. Bununla belə, proseslər miqyas alanda və siz onlarla tapşırıqdan minlərlə tapşırığa keçdikdən sonra Trello-da naviqasiya, axtarış və hesabat vermək çətinləşir.

Pivotal Tracker — Mən startapda işləyəndə bu alətin böyük pərəstişkarı idim. Bununla belə, Pivotal Tracker texniki tapşırıqlardan daha çox məhsulun idarə edilməsinə diqqət yetirir. Jira-da məhsulun idarə edilməsi bir az daha mürəkkəb olsa da, hələ də əlavə alətdən istifadə etmədən orada həyata keçirilə bilər.

ChatOps aləti # 1

Qalib: Ən çox

Hər kəsin 2020-ci ildə öyrənməli olduğu DevOps Alətləri
Şərhlər: Seçimimdə bəlkə də sizin üçün ən böyük sürpriz oldu və bu yaxşı xəbərdir! MatterMost, əvvəlki alətlərdən ən yaxşısını götürərək, lakin onları işə salmaqla populyarlıq qazandı. Bu şirkətlər üçün çox vacibdir: MatterMost sizə məlumatlarınızı idarə etməyə imkan verir və həmçinin onu yerli olaraq işləyən alətlərlə inteqrasiya etməyə kömək edir. İş söhbətlərini yoxlamaq üçün artıq firewalldan kənara çıxmağımıza ehtiyac yoxdur.

Əsas üstünlüklər

  • Açıq Mənbə – MatterMost-un açıq mənbə versiyası həm orta, həm də böyük komandalar üçün əla işləyir. Mesaj tarixçənizi silən Slack-in pulsuz planından fərqli olaraq, öz serverinizi idarə etmək bütün məlumatlarınızı saxlamağınız deməkdir.
  • İnteqrasiyalar - API demək olar ki, 100% Slack API-ə əsaslandığı üçün demək olar ki, bütün Slack inteqrasiyaları birbaşa MatterMost ilə istifadə edilə bilər.

Rəqiblər

Döyüşdə iştirak etdi, lakin qalib gəlmədi

Süstlük — Slack gözəldir, amma bu uşaqlar o qədər böyüyüblər ki, qazanc axtarmağa başlayıblar. Biznesin geri qaytarılma mərhələsi yaxınlaşır, bu da onların əsas dəyərini əlindən alır: Slack pulsuz xidmət göstərir; Pulsuz versiyanın ən vacib çatışmazlığı söhbət tarixinin silinməsidir.

Microsoft qrupları — Microsoft məhsulunu Microsoft-a məxsus olmayan bir şeylə birləşdirməyə çalışın... Uğurlar! Bu alət haqqında demək istədiyim hər şey budur!

Sənədləşdirmə Aləti №1

Qalib: qarışma

Hər kəsin 2020-ci ildə öyrənməli olduğu DevOps Alətləri
Hansı alətdən istifadə etməyinizdən asılı olmayaraq keyfiyyətli texniki sənədlərin yaradılması və saxlanması mürəkkəb prosesdir. Bu yaxınlarda bir çox SaaS sənədləşdirmə alətləri bazara çıxsa da, mən missiya baxımından kritik tətbiqlər haqqında texniki sənədlərin saxlanmasını üçüncü tərəfə təhvil verməkdə çətinlik çəkirəm. Məlumat və sənədləri yerində saxlamaq üstünlük təşkil edir və Confluence bunu belə həll edir.

Əsas üstünlüklər

  • İstifadəsi asandır - Tək-tək alətlərin əksəriyyəti quraşdırmaq və idarə etmək bir qədər mürəkkəb ola bilər və saxlanması üçün müəyyən bilik tələb olunur. Confluence Server 10 və ya 10,000 istifadəçi üçün əla işləyir.
  • Plugins - Qudosdan gözəl, istifadəsi asan naviqasiyaya və demək olar ki, hər şey üçün plagin əlavə etmək qabiliyyətinə görə Confluence üçün təşəkkür edirik.

Rəqiblər

Döyüşdə iştirak etdi, lakin qalib gəlmədi

Sənədləri oxuyun — Açıq mənbə üçün əladır, lakin tənqidi bilikləri burada saxlamaq barədə düşünməyin.

Markdown - Kodu sənədləşdirmək üçün əladır, lakin MarkDown-un xüsusi formatına görə arxitektura, proseslər və ya digər sənəd növlərini yerləşdirmək çətindir.

Jekyll — Texniki bilikləri sənədləşdirərkən, hər dəfə dəyişiklik olanda tətbiq olunacaq yeni statik sayt yaratmaq istəmirəm. Confluence-in sadə versiyaya nəzarət sistemi daxili sənədləri xeyli asanlaşdırır.

Yekunlaşdırmaq

Bazarda sözün həqiqi mənasında yüzlərlə DevOps aləti var ki, bunlardan hansının istifadə olunacağını və nə vaxt tətbiq olunacağını bilmək çətinləşir. Tam CI/CD boru kəməri üçün DevOps alətlərini seçmək üçün bu sadə təlimata əməl edin.

Bütün beş kateqoriyadan alətlər seçdiyinizə əmin olun:

  • alətlərin hazırlanması və qurulması
  • test avtomatlaşdırma vasitələri
  • yerləşdirmə alətləri
  • İcra zamanı alətləri
  • əməkdaşlıq alətləri.

Əsas tövsiyə: Hər şeyi avtomatlaşdırın!

Təşəkkürlər Zak Şapiro!

Mənbə: www.habr.com

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