Why we use our own hardware at Fastmail

Două comentarii interesante de pe HN:

As the fortunes of AWS et al rose and rose and rose, I kept looking at their pricing at features and kept wondering what I was missing. They seemed orders of magnitude more expensive for something that was more complex to manage and would have locked us into a specific vendor’s tooling. But everyone seemed to be flocking to them.

In 2006 when the first aws instances showed up it would take you two years of on demand bills to match the cost of buying the hardware from a retail store and using it continuously.

Today it’s between 2 weeks for ML workloads to three months for the mid sized instances.

2 Likes

Deci mai adevarat de atat nu se poate. Traiesc aceasta experienta pe pielea mea. M-am angajat de 2 saptamani la SonarCloud si arhitectura lor e fully AWS, fully serverless. Arhitectura asta din punctul meu de vedere, e un cosmar.

Doar pe account-ul de prod se cheltuie 250k USD monthly. Si e un efort extraordinar sa administrezi, sa faci deploy, sa monitorizezi… atatea servicii.

Practic e o arhitectura de 10x mai complicata si de 10x mai expensive decat ar fi fost una cu Kubernetes.

2 Likes

De regula, partea aceasta de servicii de cloud vs onprem sunt decise la nivel de management al companiei si nu prea are de-a face cu partea tehnica.

Imaginati-va ca exista o parte de business in spatele deciziilor de folosire a serviciilor cloud, unde exista o multitudine de factori care favorizeaza cloud-ul - de unde si acest succes al providerilor.

Exemplu:

  • Balance sheet
  • Tax income
  • Depreciere contabila/ deduceri
  • Assets/ cashflow

Daca aruncati un ochi peste termenii capex vs opex, o sa intelegeti mai bine.

Eu am fost intr-o situatie similara unde faceam calcule simpliste cum sunt acestea pana a venit cineva cu experienta pe audit/ business si ne-a aprins lumina in bezna noastra.

Ca exemplu grosier, pe noi ne costa infrastructura onpremise cu management/hardware (adica tot) undeva la 200k pe 5 ani si pana la urma am mers cu cloud care avea un cost total ownership pe 5 ani de vreo 700k.

Ganditi-va ca in zona de desktop as a service, sunt companii cu 30k desktopuri care merg pe virtualizare/cloud pentru ca este mai bine/rentabil/ok decat cu propriul hardware.

Diferenta e ca dupa acei 5 ani si 200k investiti, hardware-ul este al tau. E o diferenta despre care putini vorbesc

La calculul capex/opex hardware-ul este o variabila.

Calculele astea tin de contextul fiecarei companii.

Pe de o parte, din proprie experienta, pot spune urmatoarea chestie:

Dupa 5 ani de folosire hardware-ul este uzat moral si fizic. Ce faci cu el? Proceduri de casare, distrugere, decomisionare.

O companie investeste in continuu in tehnologie si, ca sa nu ajunga cu aplicatii legacy, trebuie sa faca update tehnologic ca sa tina pasul. Deci, software mai mult, mai bun, mai nou cere hardware actualizat.

Uite un exemplu:

Am folosit o suita de aplicatii Microsoft cu chirie anuala 100k. A trebuit sa facem analize de sub/supra dimensionare si am hotarat sa investim 100k in hardware ca sa ne ajunga pentru urmatorii 5 ani+.

Numai ca, surpriza, dupa 2 ani, Microsoft a facut un update major de tehnologie folosind un sistem de paralelizare disponibil pe o noua serie de cpu care aducea +30% viteza.

Dupa experienta asta, am trecut pe cloud pentru ca… opex imbunatatit.

Acum, din cate imi aduc aminte, firma ar trebui sa-si optimizeze capex-ul pentru ca aplicatiile Microsoft au trecut sub un regim rent to own si alte detalii…

Am avut grija de un mini datacenter si singurele hardware care nu erau uzate dupa 5 ani erau rackul, patchpanels, fibra optica si media convertoare.

Tot hardware-ul a fost donat/ casat la asociatia “ateliere fata frontiere” pentru ca nu mai ce sa faci cu el in firma…

1 Like

Eu mă gândesc așa: dacă firma merge… ne-optim, s-ar putea ca 250k/an pentru aws să îi pună capac.

Pe de altă parte, dacă ai hardware tău, mai merge să tragi un pic de el, fără să arzi lunar 20k…

Nu?

1 Like

daca merge “ne-optim” fie aduci bani si restructurezi, fie inchizi.
altfel nu faci decat sa amani inevitabilul si sa cresti pierderea intre timp.

Eu gândesc asta din punctul de vedere al unui freelancer, sunt perioade mai bune și mai puțin bune (i.e. ne-optim :smiley: )

Sigur, nimic ce nu se rezolva cu puțină planificare și bugetare, dar au fost două cazuri în care eram f aproape de fundul sacului.

Eh, și situația este asemănătoare: cum aș putea să îmi iau PC de lucru în leasing știind că dacă vine o perioadă prelungită de nasoleli risc să rămân fără obiectul muncii? Soluția este să vin cu bani de acasă sau să închid?

Cred că se extinde și la o organizație, oricât de mare: nu e neapărat un produs rău ci doar este într-o perioadă proastă.

Sunt multe parti din infrastructura care tin si 10 poate chiar 20 de ani. Aici putem include rack-uri, routere, storage, surse, RAM, carcase, sisteme de racire, sisteme de backup de curent etc. Inca sunt datacentere cu Intel Skylake care au aproape 10 ani.

Adica, nu gresesti. La un moment dat si acel hardware nu va mai fi util. Dar poate dupa 10 ani, nu 5. Si nu pentru toate componentele de infrastructura.

Din punctul meu de vedere, atata timp cat ai persoane pricepute, ori nu e mai dificil decat cloud-ul (dedicated servers) ori e de zeci sau sute de ori mai ieftin. Hardware folosit in servere e aproape acelasi din PC-ul de pe care programezi doar cu cateva adaugari pentru a-l face mai stabil, extensibil si eficient.

3 Likes

@iamntz, si eu tot din perspectiva de freelancer si mic antreprenor care se pricepe sa butoneze apelez la strategia cu hardware propriu. :sweat_smile:

Mai gasesc un sysadmin/devops, ma descurc cumva. Si cand se uzează hardware-ul gasesc io ce sa fac cu el, eventual il dau pe olx.

Intr-adevar, sunt scenarii si scenarii.

Banuiesc ca cei care opteaza mai degraba pentru onpremise sunt cei care au produse de tehnologie si optimizarea este oarecum la indemana.

Chestiile la care majoritatea dintre noi nu ne gandim sunt deciziile de business pe care nu le cunoastem decat din practica.

Ai indicatori financiari de atins, cashflow, credite, amortizari, echilibrare de bugete, chestii care te imping sa optimizezi altfel decat sa faci economie pe hardware.

Sa vezi ce exercitii de creativitate, ingeniozitate si matematica financiara sunt necesare de la un chief financial officer/ contabil ca sa echilibreze toate astea.

Era vorba aia cu:

Intreaba un matematician cat face 1+1 si iti va spune 2, pe cand contabilul intreaba cat vrei sa faca.

asta e ca dicutia aia cu microservicii vs monolit.
pana la urma ai nevoie de solutia potrivita pentru problema data, nu alegi una pentru ca e universal mai buna oriunde si oricand.

de asta avem si statii de lucru acasa / birou dar avem si spatiu inchiriat pentru birou / sedinte / intalniri + digitalocean / google workspace / ai / backup / alte abonamente la diferite unelte.

infrastructura proprie vine cu avantaje (prin comparatie cu cloud) de felul: control, ownership, cost pe termen lung, etc
dar vine si cu dezavantaje de genul: scalabilitate / timp de remediere in caz de problema / cost pe termen scurt (poate ai un proiect cu timp limitat) / etc.

/parerea mea

Cred ca e important si sa intelegem dezavantajele acestea mai bine:

  • Scalabiliatea: Atata timp cat planifici putin din timp achizitionarea de hardware, nu prea este o diferenta. Inca devine din ce in ce mai usor cu cat ai mai multa infrastructura. Also, serverele din ziua de azi sunt destul de puternice pentru 99% din aplicatii software (atata timp cat e dezvoltata cu cap) si foarte greu ajungi sa le folosesti complet capacitatea.
  • Timpul de remediere: Din experienta pot spune ca downtime-ul, predominant, e cauzat de software. Deci chiar daca ai elimina tot timpul de remediere a problemelor, utilizatorul ar vedea o imbunatatire relativ mica la downtime.
  • Cost pe termen scurt: In principiu, banii pentru hardware-ul on-premise se recupereaza in mai putin de 2 ani fata de un server inchiriat. In cateva luni fata de AWS, Firebase, Azure etc. Deci in cazul proiectelor sub 2 ani, iti dau dreptate… se merita. Dar care firma face proiect pe 2 ani si nu mai continua alt proiect care, la randul lui, necesita hardware? Ideea e ca hardware-ul propriu poate fi folosit pentru cate proiecte vrei.

On-prem nu inseamna ca tu trebuie sa detii/cumperi hardware-ul. Nu inseamna ca tu trebuie sa ai datacenter-ul tau.

Poti sa cumperi/inchiriezi putere de calcul dintr-un datacenter de la un provider. Ti se pune la dispozitie ca si cum ar fi hardware-ul tau, iar tu mai departe poti sa-ti faci infrastructura de tip on-premise, dar nu ai batai de cap cu achizitionarea si mentenanta hardware-ului.

Asa fac multe companii mari precum ar fi Booking.com.

1 Like

Altii care au crezut ca serverless e the way to go :face_with_head_bandage:

Poti detalia cum s-a ajuns la aceasta solutie dpdv business/costuri?

Reducerea veniturilor impozabile pe scurt.

Sau pentru a atinge niste indicatori care însemnau continuarea unor programe de finantare in conditii de dificultate economică.

1 Like

Care este opinia ta despre motivele firmelor mari care caseaza tot hardware dupa maximum 5 ani?

Eu cred ca:

Daca esti o companie mare, atunci cand investesti in hardware trebuie sa ai redundanta, ceea ce inseamna achizitia a 2 sisteme identice care ar trebui sa ruleze in acelasi timp pentru a se face replication in timp real pentru mitigare downtime, fallback si disaster recovery.

Aici eu mai facut ceva manțocării cu masini virtuale, dar nu e metoda by the book.

Daca lucrezi intr-un mediu mai sensibil, iti faci si un stoc de piese de schimb, sa fii cat mai sigur?

Serviciile post-vanzare, piese de schimb si suport tehnic sunt iarăși foarte relevante. La HP pe partea de echipamente pentru business se oferea garantie 3yr NBD (next business day), ceea ce era de ajutor. Dupa astia 3 ani, Dumnezeu cu mila, trebuie sa cauti spare parts prin stocuri cu livrari peste cateva zile.

Mai cred ca (mi-e lene sa caut acum ca sa analizez) componentele de pe echipamente isi cam ating MTBF (mean time before failure) cam in maximum 5 ani.