N-are cum să fie asta, nu?

Publicat la N-are cum să fie asta, nu? – DevForum Blogs

Acum aproape trei săptămâni fac un deploy în organizația cu care lucrez. După câteva ore, lucrurile încep să o ia la vale: procesoarele serverelor erau la 100%, memoria și baza de date abia erau atinse. Interludiu Înainte să intru în detalii, să spun întâi despre cum funcționează bestia. Mediul în care rulează toată povestea este…

8 Likes

Ce a mai evoluat tehnologia, 320CPU pentru 100 vizitatori. Amazon isi freacă mainile cu bucurie ca a mai incasat $1000 pe un bug.

După ce am rezolvat-o, problema s-a dat mai departe la departamentul legal, vedem cum evoluează treaba în direcția aia.

Sunt curios dacă New Relic are vreo acoperire legală pentru situații de genul :confused:

Apropo de AWS vs Digitalocean, am si eu o poveste scurta. Un client vrea o estimare de hardware pentru platforma lui, asa ca iau niste pachete preconfigurate de la DO, un server, o baza de date, un backup, chestii obisnuite, si trimit estimarea in resurse si cost. Vine cu intrebarea: de ce am pus X Gb pentru baza de date? Ma apuc sa ii scriu in detaliu cat estimez ca ocupa datele lui pe o perioada de 5 ani. Revine cu “de ce DO, cum se compara cu alte oferte?”. Aici a inceput nebunia, sa faci un tabel cu exact 3 provideri (coloane) si 5 functionalitati (randuri) mi-a luat ceva mai mult de 2h. Am luat AWS si Google ca si comparatie, dar e aproape ca si cu comparatia de “mere cu pere”, si alea ascunse printre nuci si prune. Nu se poate obtine clar o comparatie, iar AWS e teribil prin multitudinea de detalii. Google pe de alta parte te lasa sa alegi un server dintr-un dropdown cu 100 de optiuni neordonate logic. Parca le fac intentionat, sa nu stii ce sa cumperi, sau sa platesti cat nu face. Sper sa iasa DO victorios din batalia asta a furnizorilor de hosting, prin simplitatea/claritatea lor.

1 Like

E o meserie in sine, AWS a fost facut pentru corporatii…

Eu am story-uri cu AWS mancand milioane de euro pe dev servere pe care nu le-a folosit nimeni. De atunci trebuie sa treci prin N procese si sa te rogi de cel de sus ca sa iti dea un custom dev env.

1 Like

Am patit si eu ceva, orecum asemanator. Procesorul era timut in 100% de abrtd si aplicatiile mergeau extrem de greu.

https://bugzilla.redhat.com/show_bug.cgi?id=1416310

am dat kill la proces ca sa isi revina.

Se poate face o schimbare de flow cred cred că te-ar fi scos din impas: deploy pe server/e de staging de la zero conform playbook-urilor din GIT. Asta înainte de deploy pe productie. Astfel chiar ai fi avut medii identice.

Plus, version freeze in GIT. Nu știu dacă are legătură cu problema de aici, dar e un best practice.

De ex., nu pui in Dockerfile FROM mariadb sau mariadb:latest sau mariadb:10 sau 10.5, ci FROM mariadb:10.5.3. Imaginea Docker de MariaDB chiar a avut o gherla mare la un update de patch (al 3-lea număr din versiune). La fel cu requirements.txt in Python, definești clar Django==4.1.1, etc. alte limbaje.

Pomenesc de asta in caz că nu era definită versiune foarte precisa de newrelic.

2 Likes

Plus, au început să îmi placă containerele. In pipeline in joburi de build bați in cuie imaginile de containere. Alea sunt pe orice server, dev, staging producție. Ce tine de codul tau și biblioteci e sigur identic peste tot.

Eventual pe host te asiguri că ai același distro, versiune, versiune Docker (sau ce container o fi).

Nu mai zic că e de vis sa testezi orice commit cu imaginile builduite automat și tag-uite cu commit ID in registry-ul lui GitLab. Cu ceva scripting minimal rulezi in WSL ./finstall.sh COMMIT_ID sau ./fupgrade COMMIT_ID.

2 Likes

Versionarea corectă e una din cele mai complexe lucruri în programare. :smiley:

Am acces foarte limitat la infrastructură. Foarte multe idei trebuiau puse în practică de sys admin.

Eu am intuit încă din primele zile că este buba la server, dar admin repeta continuu că n-are cum, că rebuild etc. De fapt, cam de asta mă loveam de fiecare dată când sugeram că ar putea fi legat de infrastructură :sweat_smile:

Ajunsesem să cred că suntem pe vreo listă neagră aws și cineva face mișto de noi :joy_cat: