• Početna
  • O nama
  • LimundoGrad
  • Limundo
  • Kupindo
  • Sigurnost
  • IT
  • Zabava i učenje
  • Plaćanje
  • API
LimundoGrad blog
  • Početna
  • O nama
  • LimundoGrad
  • Limundo
  • Kupindo
  • Sigurnost
  • IT
  • Zabava i učenje
  • Plaćanje
  • API
Home  /  IT  /  Godišnjica preseljenja servera Limunda i Kupinda u Srbiju

Godišnjica preseljenja servera Limunda i Kupinda u Srbiju

Autor:Miodrag Stefanović
6. децембра 2013. IT 7 komentara

Za koji dan se navršava godinu dana od “preseljenja” Limunda i Kupinda u Srbiju i pravi je trenutak da se osvrnemo i prisetimo celog procesa pripreme i izvedbe preseljenja gledano iz tehničkog ugla.

Pre same priče o preseljenju bitno je znati da Limundo i Kupindo zajedno beleže oko deset miliona pageview-ova dnevno sa po deset hiljada korisnika u sekundi tokom udarnih vremena, uz zahtev da se stranice sajta otvaraju u proseku za manje od dve sekunde, a sve to na sistemu kome se podaci menjaju bukvalno iz sekunde u sekundu. To su standardi koji su morali biti zadržani, pa i poboljšani nakon preseljenja.

Sama migracija je izvršena 6. decembra 2012. godine u 12:00 uz planirani downtime od 12 sati. Zanimljvost je da je planirano vreme puštanja zakazano nekih tri meseca ranije i da je ispoštovano u minut, uz napomenu da je sistem zaista bio spreman za puštanje bukvalno u 11:59, tako da je rok pogođen “u minut do dvanaest” 🙂

Tome je prethodilo devet meseci planiranja, istraživanja i razvoja.

Ušteda na duže staze
Via xkcd


Prva ideja da je migracija neophodna izneta je krajem februara 2012, nakon što smo primetili “rane znakove” upozorenja u smislu da su od našeg tadašnjeg hosting partnera, gde smo imali oko 30 fizičkih servera, počela da stižu oprečna objašnjenja za nepravilnosti u mreži koje smo sve češće uočavali. U tom periodu sajtovi su radili brzo i stabilno, ali je nakon mesec dana analize dostupnih podataka naša procena rizika bila da će u sledećih godinu dana doći do ozbiljnih problema prilikom skaliranja hardverske infrastrukture i da će migracija potrajati bar 4-5 meseci. Krajem marta je doneta “Go!” odluka da se projekat pokrene, kako bismo na vreme predupredili predviđene probleme.

Sledeća dva meseca imali smo intenzivne kontakte sa raznim potencijalnim partnerima i krajem maja doneta je odluka da se uđe u projekat sa domaćim housing provajderom. Domaći partner je izabran između ostalog i zbog toga što bi samo zahvaljujući premeštanju sajtova u Srbiju, kod provajdera koji ima odličan peering sa praktično svim regionalnim ISP-ovima, dobili direktno povećanje brzine sajta za naše članove koji su prvenstveno iz Srbije i regiona. Tada je i poručena nova oprema sa ciljem da svi neophodni serveri i prateći uređaji budu isporučeni u sledeća dva do tri meseca.

Odlučeno je da se migracija izvrši u privatni cloud i da najveći deo servera bude virtuelizovan. Zapravo, virtuelizovani su svi cluster-i osim servera za MySQL baze podataka, jer smo procenili da je rizik virtuelizovanja ovih ključnih servera preveliki, sa obzirom na sve ostale rizike skopčane za migraciju. Virtuelizacija servera je zahtevala i značajnu promenu arhitekture sistema, a odlučili smo da promenu hardverske arhitekture iskoristimo i za delimičnu promenu i unapređenje softverske arhitekture.
Projektovanje nove arhiteture je trajalo sledeća tri meseca i predstavljao je najzahtevniji deo. Bilo je potrebno predvideti sve ili što više mogućih problema i pripremiti novi sistem za prihvat stotina miliona postojećih podataka i pet terabajta slika. Projekat je završen krajem avgusta i tada je usvojen konkretan datum i vreme migracije – 06. decembar 2012. između ponoći i podneva, dvanaest sati downtime-a nakon kojih su Limundo i Kupindo morali da prorade u Srbiji i to brže i bolje nego što su radili u Nemačkoj. Blok šemu nove arhitekture možete pogledati ovde:
http://prezi.com/fb1r2anjb4jj/arhitektura-high-performance-php-aplikacije/

Sledeća dva i po meseca su provedena na razvoju i implementaciji nove arhitekture. Neki od zanimljivijih problema koje smo morali da rešavamo su:
– Podizanje realnog sandbox-a u kome smo mogli da razvijamo i testiramo novu arhitekturu i module. Za sandbox smo prirodno iskoristili opremu koja je poručena za novi datacentar. Kako je oprema stizala iz segmenata, odlučili smo da podižemo jedan po jedan cluster sukcesivno. Razvoj je organizovan tako da je rađen na modulima i serverima koji su bili vezani za trenutno dostupan cluster, sa ciljem da izbegnemo čekanje isporuke i instalacije svih servera i tako izbacimo vreme praznog hoda.
– Osmišljavanje načina da prebacimo sve potrebne podatke za 12 sati, koliko je bio zahtev za maksimalno trajanje downtime-a. Ovo je bio ozbiljan problem, jer je prebacivanje preko dvadeset miliona fajlova i import nekoliko stotina miliona slogova u baze podataka prema merenju trajalo pet do sedam dana realnog vremena. Problem sa fajlovima smo prevazišli dovlačenjem preseka stanja mesec dana pre migracije i paralelnim pisanjem novih fajlova u oba datacentra (u Srbiji i Nemačkoj). Import baze smo maksimalno optimizovali i prema našim proračunima trebalo je da traje oko sedam sati.
– Testiranje sistema pod punim opterećenjem pre puštanja, jer smo iz iskustva znali da u praksi uvek iskrsnu problemi koji ni u najboljim teorijskim modelima nisu mogli da budu predviđeni – the best laid schemes of mice and men often go awry.
Gađali smo rok za završetak svih radova dve nedelje pred puštanje 6. decembra, sa ciljem da imamo dovoljno vremena da propustimo simulaciju opterećenja kroz ApacheBenchmark i ispravimo eventualne probleme.

Konačno, 22. novembra smo imali gotov novi Limundo i Kupindo, sa izmenjenim softverom i potpuno novom virtuelizovanom arhitekturom. Sistem je napunjen sa realnim podacima iskopiranim sa živog sistema i nad njim smo pustili AB simulaciju realne posete. Na naš užas, desilo se najgore – pod simulacijom realnog opterećenja novi sistem se potpuno “raspao”. Ovde se pokazalo da je jedna od najboljih odluka u celom devetomesečnom procesu bila ta da se svim silama potrudimo da završimo sistem dve nedelje ranije i da ga propustimo kroz simulaciju. Sledeće dve nedelje su bile dovoljne da ispravimo nekoliko ozbiljnijih problema koji su iskrsli u realnom okruženju (prvenstveno vezanih za više nivoa keširanja koje smo koristili).

Konačno, 5. decembra je sve bilo spremno, u ponoć 6. decembra je oboren stari sistem u Nemačkoj i pokrenuta migracija u novi cloud u Srbiji.

Limundo migracija u noći 5. na 6. decembar.
Limundo migracija u noći 5. na 6. decembar.

Tokom migracije je došlo do još jednog manjeg problema, uzrokovanog ljudskom greškom, kada je pokrenuta dupla optimizacija već importovanih tabela. Ova dupla optimizacija je produžila proces importa podataka za oko četiri sata, što je sa sedam i po sati prebacivanja ostalih podataka celo vreme migracije produžilo na jedanaest i po sati. Uz još pola sata finalnih podešavanja servera, sistem je pušten u tačno 12:00 sati 6. decembra, kako je i planirano.
Limundo i Kupindo su radili skoro 50% brže u Srbiji nego u Nemačkoj, čime je ispunjen i drugi, mnogo važniji cilj. 🙂

Na kraju ove priče bih izdvojio dve stvari:
– Prva ključna stvar za uspeh celog projekta je bilo prihvatanje činjenice da će se desiti nepredviđeni događaji i da je neophodno unapred odvojiti vreme i resurse za njihovo saniranje. Zahvajujući tome, kada su se nepredviđene situacije zaista desile, imali smo dovoljno prostora da ih na vreme rešimo i ispoštujemo sve rokove i zahteve.
– Druga stvar za koju verujem da je bila od presudnog značaja je nešto što bih nazvao “suspension of disbelief”. Ogromno olakšanje koje smo osetili nakon uspešne migracije nas je podsetilo koliki nam je stres i pritisak ceo projekat zapravo proizveo. Mislim da je ključno bilo to što nismo sebi dozvolili da unapred razmišljamo o pritisku i koliko je u stvari ceo projekat imao prilika i mogućnosti za neuspeh. Verujem da bih sada za 15 minuta mogao argumentovano da ubedim bilo koga kako je ovakav projekat migracije u startu osuđen na neuspeh. Jednostavno, o neuspehu smo sebi dopustili da razmišljamo tek kada je sve bilo gotovo. 🙂

Ukupno vreme potrošeno na ovaj projekat je oko trideset čovek/meseci. Krajnji rezultat je sistem koji se skalira mnogo bolje, te stabilnije i brže radi nego pre migracije, čime su ispunjeni svi ciljevi.

Želim da se posebno zahvalim svim ljudima koji su naporno radili na ovom projektu i omogućili njegov uspeh, a najzaslužniji su:

– Nikola Krgović, glavni sistem inženjer, za projekat virtuelizovane arhitekture.
– Nikola Zagorac, Database Architect/senior programmer, za projekat upgrade-a softverskog framework-a.
– Milan Nićetin, Software Quality Assurance, za testiranje novog sistema i pravovremeno pronalaženje grešaka.
– Branislav Raić, Šef finansija, za sklapanje finansijske konstrukcije celog projekta.
– Partnerima iz Mainstream hosting kompanije.

I, naravno, zahvalan sam svim zaposlenim kompanije Limundo iz sektora IT, Marketing/PR, Finansije, Korisnička podrška i menadžmenta koji su učestvovali u različitim fazama projekta i bez čijeg rada ovaj projekat ne bi bio potpuno uspešan.

 

Podeli tekst
Share on Facebook
Share on Twitter
Share on Whatsapp
 Prethodni post Lista želja, Božić, Nova godina, rođendani i pokloni
Sledeći post   TOP pitanja u korisničkoj podršci Kupinda

Povezani postovi

  • Pogled ka Tajvanu

    16. септембра 2016.
  • Srećan SysAdmin day!

    29. јула 2016.
  • Kako kreirati sigurnu lozinku

    17. маја 2016.

  1. pjovano
    7. децембра 2013. at 08:32

    Sjajna i uzbudljiva priča!
    Uživao sam čitajući je i delimično (kroz cloud 🙂 proživeo ono što ste vi realno proživeli. Divim se vašoj hrabrosti, smelosti i odlučnosti na ovakav korak, bez obzira što je bio neophodan i neodložan. Divim se i vašem znanju, stručnosti i kompetentnosti za ovakav projekat koji ste uspešno završili za relativno kratko vreme i sa relativno malim brojem članova tima. Svaka čast!
    Ali da vas ne hvalim više, uobrazićete se! 😉 A i da ostavim prostora drugim članovima za komentare… Ne ustručavajte se, Limundovci/Kupindovci, već iznesite i vi vaše mišljenje, jer ova priča zaista zaslužuje apsolutno pozitivnu ocenu u svakom smislu. Ne budite ravnodušni i neutralni (neutralne ocene odoše u penziju).
    Da napomenem samo da je i meni ovo prvi komentar i da sam član Limundo/Kupindo zajednice manje od 2 meseca! Prema tome ne znam kako je sve ovo funkcionisalo ranije, ali za ovo kratko vreme, koliko sam ja prisutan, mogu da kažem da sam oduševljen! Sve je odlično osmišljeno i sve radi veoma brzo i stabilno, što je za svaku pohvalu, s obzirom na veličinu i živost celog sistema.
    Često licitiram u poslednjem minutu i ažurnost sistema je stvarno trenutna!
    Evo, opet vas hvalim, ali ne brinite, biće prilika i za kritike, razume se dobronamerne, koje će, nadam se, samo doprineti usavršavanju sistema.
    Još jednom sve pohvale za ceo tim koji je učestvovao u projektu i puna podrška za dalje unapređenje! Posebno se zahvaljujem autoru teksta koji je lepo i koncizno preneo i podelio sa svima nama ovo sjajno iskustvo.
    A za kraj evo i moje čuvene desetke koju stavljam u komentarima ocena (ali ne baš svima):
    ……▓▓………▓▓▓
    ▓▓▓▓….▓▓…….▓▓
    ……▓▓….▓▓…….▓▓
    ……▓▓….▓▓…….▓▓
    ……▓▓….▓▓…….▓▓
    ……▓▓………▓▓▓
    ……………………………..◄pjovano►

    Srdačan pozdrav,
    Pero Jovanović
    Jagodina

  2. Nenad.R
    7. децембра 2013. at 17:43

    BRAVO!!! Svaka čast narode, sve pohvale Vašem “Limundo” timu i organizaciji… Dokazali ste smelost i odlučnost u organizaciji kao i to da u Srbiji IT sektor može funkcionisati u ogromnom obimu i bez većih problema!!

    SVAKA ČAST još jednom…. samo tako nastavite.
    pozdrav

    Nenad.R

  3. Srdja Stojinovic
    7. децембра 2013. at 19:53

    Evo DOKAZA koliko ljudi su zaista sposobni nesto da stvore u Srbiji! Hrabar poduhvat! Pre 30 godina secam se kako su dolazili iz IBMa da nauce nase COBALT programiranje a vidi gde smo stigli……..svetsko dostignuce u programiranju……ne napustite nas za Cupetino please!! 🙂

  4. dimitrijevic75
    7. децембра 2013. at 23:19

    Obožavam paljevinske tekstove sa zaokruživanjem cifara na veću.
    A za munjevite brzine Limundo i Kupindo nemaju veze, to je stvar dostupne tehnologije za potrošačko društvo. Meni sa za sekund otvori Google pretraga. To znači ja na mom kompu, šaljem zahtev provaderu, on prosledjuje centru za jugoistočnu Evropu, oni na satelit satelit na satelit pa na onaj treći, pa oni tamo svoj centar pa Google pa Google prelista ša sam čukao pa me ispravlja, pa mi pošalju rezultat u kontra smeru. Sve za par sekundi. Dakle o čemu je reč?

  5. Ivan Mikarić
    11. децембра 2013. at 22:30

    Za mene je ovo zanimljiv tekst, možda “paljevinski”, ali sam nekako osetio duh akcije kroz njega, vrlo uzbudljivo napisano.
    limundo/kupindo rade solidno, i naravno da je sve to stvar dostupne tehnologije, ali džaba tehnologija koju nema ko da iskoristi – hoću da kažem da je potrebno znanje i veština da bi se tehnologije implementirale u koristan proizvod.

    @ dimitrijevic75
    Reč je u tome da iako Google otvori stranicu i stigne da koriguje tvoju/moju grešku za sekund , ipak ne može da uradi migraciju sajta (softvera i podataka) (doduše google nije za to ni namenjen 🙂 ) , a takođe ne može da ispuni sadržajem milijarde stranica sa danas dostupnim informacijama/dezinformacijama na internetu …
    Ja skidam kapu i piscu teksta i majstorima koji su uradili migraciju.

  6. dimitrijevic75
    12. децембра 2013. at 07:33

    Drago mi je da ste uspeli, nego jel iz prvog ili ste ipak pokušavali par puta? 😀
    Pozzz!

  7. SeeMeON
    12. децембра 2013. at 23:06

    Cool selidba se pamti – svaka čast!
    Verujem da je sad već vreme je za novu platformu – balkanski tj. regionalni sajt za aukcije.
    Gle zgodne stvari – pa Limundo će pre ući u EU nego Srbija, dovoljno da se u potpunosti otvorite za tržište Bugarske, Rumunije ili Hrvatske – i eto vas 🙂
    Puno uspeha sjajnom timu u Novoj godini!

Advertisement

Popularno na Kupindu

U potrazi ste za udžbenicima za osnovnu ili srednju školu? Pogledajte na Kupindu:

➡️ Udžbenici za osnovnu školu
➡️ Udžbenici za srednju školu

Ovde ćete pronaći udžbenike za svaki razred i izdanja gotovo svih izdavača koje današnje škole traže. Uštedite na kupovini udžbenika.

  • Najpopularnije
  • Poslednji postovi
  • Za sledećih 15 Vladimir Nikolić 22. маја 2021. Limundo 607
  • Hoću da znam šta je neko kupio i prodao Vladan Jović 16. децембра 2013. LimundoGrad 355
  • Kako da ocenim prodavca (a da to bude ispravno)? Ana Mladenović 12. марта 2013. LimundoGrad 248
  • Veštačko nuđenje – istine i laži Vladan Jović 11. јуна 2013. Limundo 234
  • Cenovnik + opcije + brzina Aleksandra Vuković 15. марта 2012. Blog 211
  • Dani ploča na Kupindu: Vinil ne izlazi iz mode! Dunja Stojković 13. марта 2025. Kupindo
  • Top 10 predmeta sa Limunda i Kupinda u 2024. godini! Dunja Stojković 31. децембра 2024. LimundoGrad
  • Digital Awards 2024: Limundo osvojio nagradu za najbolju radijsku kampanju! Dunja Stojković 30. септембра 2024. LimundoGrad
  • Polovna odeća kao znak stila: 10 vrhunskih modnih brendova koje nećete naći u tržnom centru Ivana Lučić 26. августа 2024. LimundoGrad
  • Uživanje u letnjem danu – detalji koji čine baštu posebnom Dunja Stojković 1. августа 2024. Zabava i učenje

Skorašnji komentari

  • Jovana Milenković Arizanović на Tri najjeftinija načina za slanje paketa u LimundoGradu
  • Marija Protic на Tri najjeftinija načina za slanje paketa u LimundoGradu
  • Jovana Milenković Arizanović на Tri najjeftinija načina za slanje paketa u LimundoGradu
  • janoš на Tri najjeftinija načina za slanje paketa u LimundoGradu
  • janoš на Tri najjeftinija načina za slanje paketa u LimundoGradu

Vremeplov

© 2008. LimundoGrad d.o.o. Creative Commons License Ovo delo je licencirano pod uslovima licence Creative Commons Autorstvo-Nekomercijalno-Bez prerada 4.0 Međunarodna licenca
LimundoGrad koristi kolačiće u statističke i marketinške svrhe. Nastavkom korišćenja sajta smatramo da ste pristali na upotrebu kolačića.OKViše informacija