DevOps və SRE haqqında bir daha

Çatdakı müzakirələrdən ilhamlanaraq AWS Minsk İcması

Son dövrlərdə DevOps və SRE anlayışlarının müəyyən edilməsi mövzusunda əsl döyüşlər baş verir.
Bu mövzuda müzakirələrin artıq bir çox insanlar üçün darıxdırıcı olduğu halda, yenə də bu mövzunu Habr icmasının mühakiməsinə təqdim etməyə qərar verdim. Maraqlananlar, keçid edin. Və hər şey yenidən başlasın!

Tarixçə

Beləliklə, qədim zamanlarda ayrı bir proqramçılar və server idarəçilərindən ibarət bir komanda yaşadı. Proqramçılar kodu yazırdılar, idarəçilər isə onlara müxtəlif şəfqət dolu sözlər deyərək serverləri qururdular. Proqramçılar düz yolda olan "kompüterimdə hər şey yaxşı işləyir" cavabını alırdı. Biznes proqram təminatı gözləyirdi, hər şey dayandı, bəzən pozuldu, hamı narahat oldu. Xüsusilə də bütün bu qarışıqlığı ödəyən adam. Şirin, nostalgik dövr. Yaxşı, siz artıq DevOps-un kökün harada olduğunu bilirsiniz.

DevOps praktikalarının doğulması

Sonra ciddi adamlar gəldi və dedilər — bu, sənaye deyil, belə iş olmaz. Ticarət dövrləri gətirildi. Məsələn, V-modeli.

DevOps və SRE haqqında bir daha
Beləliklə, nə görürük? Biznes bir konsepsiya ilə gəlir, memarlar həllər dizayn edir, proqramçılar kod yazır, sonrasında isə — çöküş. Kimlərsə məhsulu test edir, kimlərsə onu son istifadəçiyə çatdırır, və bu möcüzə modelinin sonunda tək bir biznes sifarişçisi oturub, gözləyir. Nəticəyə gəldilər — bu prosesi düzəltməyə imkan verən metodlar lazımdır. Və həyata keçirmək üçün praktikalar yaratmağa qərar verdilər.

Praktika anlayışı ilə bağlı bir lirik parça
Mən praktikayı texnologiyanın və disiplinin birləşməsi kimi başa düşürəm. Məsələn — terraform ilə infrastrukturun kodla təsvir edilməsi praktikası. Disiplin — infrastrukturun kodla necə təsvir ediləcəyidir, bu proqramçının başında, texnologiya isə faktiki terraform-dır.

Və bunları DevOps praktikaları adlandırmağa qərar verdilər — düşünürəm, "Development-dan Operations-a" demək istədilər. Müxtəlif çətin şeylər fikirləşdilər — CI/CD praktikaları, IaC prinsipinə əsaslanan praktikalar, minlərlə bunlar. Və işlər başladı, proqramçılar kod yazdı, DevOps mühəndisləri sistemi işləyən sistemlərə çevirmək üçün kod təsvirini çevirdi (bəli, kod, təəssüf ki, yalnız təsvir, lakin sistemin reallaşması deyil), çatdırılma dövrü başladı, və s. Dünənki idarəçilər yeni praktikaları mənimsəyərək, qürurla DevOps mühəndislərinə çevrildi, və bütün işlərin gedişatına başladı. Və axşam oldu, və səhər oldu… təəssüf ki, oradan deyil.

Hər şey yenə yaxşı deyil

İşlər tamamlanarkən, müxtəlif kəsbkar "metodologlar" DevOps praktikaları ilə bağlı qalın kitablar yazmağa başladılar, kimdir bu məşhur DevOps mühəndisi, DevOps-un bir istehsal mədəniyyəti olduğunu mübahisə etməyə başladılar, narazılıq yenidən birikdi. Birdən-birə proqram təminatını çatdırmaq - tamamilə qeyri-adi bir məsələ olduğunu kəşf etdilər. Hər bir inkişaf infrastrukturunun öz texnoloji yığını var, bəziləri toplamalıdır, bəziləri mühitləri açmalıdır, burada tomcat lazımdır, burada isə usta bir işçi üsulu istifadə etmək lazım - qısacası, baş ağrıyır. Daha da qəribəsi, problem ilk növbədə proseslərin təşkilində ortaya çıxdı - bu çatdırma funksiyası, bir şişkinlik kimi, prosesləri bloklayır. Həmçinin, əməliyyatların (Operations) əhəmiyyəti dəyişməzdir. V-modelində bu görünmür, orada hələ sağda bütün həyat dövrü var. Nəticədə infrastruktur da dəstəklənməlidir, monitorinqə baxılmalıdır, hadisələr həll olunmalıdır və çatdırma ilə məşğul olmalıdır. Yəni bir ayağı ilə həm inkişafda, həm də əməliyyatlarda oturmalısan - və beləliklə Development & Operations yarandı. Bunun üstündə bir də mikrosistemlərlə bağlı böyük bir heyacan dalğası gəldi. Onlarla birlikdə inkişaf da yerli maşınlardan buluda keçməyə başladı - əgər mikrosistemlərin onlarla və yüzlərlə olduğu yerdə bir şeylə mübarizə aparmağı bacarsan, davamlı çatdırma artıq hayatta qalma vasitəsinə çevrilir. "Kiçik mütəvazı şirkət üçün bu bəllidir, amma bəs? Google?

Google-dan SRE

Google gəldi, ən iri kaktusları yedi və qərara aldı - bizə belə lazım deyil, etibarlılıq lazım. Etibarlılıq idarə olunmalıdır. Və qərara aldı - bizə etibarlılığı idarə edəcək mütəxəssislər lazımdır. Onlara SR mühəndisləri adını verdi və dedi, buyurun, hər şey normal qaydada işinizi görün. Budur sizə SLI, budur sizə SLO, budur sizə monitorinq. Və əməliyyatlara işarə etdi. Və öz kitablar yaza bilərlər. Bəs siz Google deyilsinizsə, etibarlılığa nələrsə yatqınsa, nə etmək lazımdır?

DevOps ideyalarının inkişafı

Burada məhz Docker yetişdi, lxc-dən sonra böyüyərək, Docker Swarm və Kubernetes kimi fərqli orkestrasiya sistemlərinə keçərək, DevOps mühəndisləri dərin bir nəfəs aldı - təcrübələrin standartlaşması dağıtımı asanlaşdırdı. O qədər asanlaşdırdı ki, hətta çatdırılmanı developer-lərə vermək mümkün oldu - nə var ki, deployment.yaml. Konteynerləşdirmə problemi həll edir. Üstəlik, CI/CD sistemlərinin yetkinliyi artıq bir fayl yazıb hər şeyi etmək səviyyəsindədir - developer-lər öz başlarına işini həll edirlər. Və burada başlayırıq danışmağa ki, necə öz SRE-mizi quraq, bəlkə də… kiməsə.

SRE Google-da deyil

Yaxşı, çatdırmanı verdik, görünür rahatlaşa bilərik, köhnə yaxşı zamanlara qayıtmaq olar, adminlər CPU yüklənmələrini izləyirdilər, sistemləri tuninq edirdilər və sakitlikdə başqalarına mənasız içkilər içirdilər… Dayan. Biz bunu etməyə çalışmadıq (ələ keçirmişdik!). Birdən olur ki, Google yanaşmasında əla praktikalardan istifadə edə bilərik - CPU yüklənməsi vacib deyil, nə sıxlıqla diskləri dəyişdiyimiz, ya da buludda xərcləri optimallaşdırdığımız deyil, biznes metrikalarıdır - hamısı eyni məşhur SLx-lərdir. Və infrastrukturun idarə olunmasından heç kəs imtina etməyib, hadisələri də çözməli, vəzifə başında dövri olaraq mövcud olmalısınız, habelə biznes proseslərini də bilmək vacibdir. Və dostlar, yaxşı səviyyədə proqram yazmağa başlayın, Google artıq sizi gözləyir.

Yekunlaşdıraraq. Birdən, amma siz artıq oxumaqdan yoruldunuz və müəllifə şərh yazmaq üçün dözmürsünüz. DevOps çatdırılma praktikasını mənimsəyərək var olub, həmişə də olacaq. Heç bir yerə getməyəcək. SRE, istismar praktikasının birləşməsi bu çatdırmanı uğurlu edir.

Mənbə: habr.com

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster