Sta je prednost AWS:
Imas "Region". U okviru njega imas bar 3 "Availability Zone-a". Svaki AZ je jedan datacentar. Time si odma resio zahteve.
RDS je DBaaS, koji mozes da imas u sva 3 AZ-a. Dobijes jedan URI kojim gadjas "writer". Ako neka instanca ispadne, AWS ti prebaci taj URI da gadja trenutni writer. Ti ne mislis o tome. Nema nista da refaktorises, bukvalno je isto - samo promenis na sta se kacis.
EFS je, u sustini NFS. Imas file system, koji se replicira u sva 3 AZ-a, mount-ujes kao NFS, radi na svim instancama. Nema nista da menjas ni tu aplikaciju.
ELB prati dostupnost aplikativnih servera kroz health check. Ako umre izbaci ga, ti dobijes notifikaciju ako je podesis. Mozes i autoscale da se radi. Opet nista ne menjas. Automatski podrzava 3 AZ-a.
I da - imas i S3, naravno.
-----------
Alternative:
- Veza male latencije izmedju sva tri DC-a
-
GlusterFS cluster, 3 servera (moze virtuelna) u 3 DC-a. Onda radis mount na aplikativne servere.
-
Percona MySQL sa
Galera replikacijom, 3 servera u 3 DC-a, plus bar jedan slave za backup.
- Aplikativni serveri po jedan i svaki DC. Health check.
- CloudFlare kao LB je odlicno resenje za ovo.
----------
Sta je prednost/mana: Za odrzavanje ove alternative ti treba, realno, dva coveka. Ako uzmes konsulatnte placaces, realno, bar 40-60h mesecno posla na odrzavanje. Da se sve pregleda, prati, digne neki monitoring, rade update-i - ima puno posla. Sustina: to nije malo novca.
AWS ti je sve dostupno odma, da ti neko naplati odrzavanje za jedan RDS, jedan EFS, jedan ELB, S3 i par aplikativnih servera, realno, uzece ti 15-20h mesecno, maksimalno.
---------
Konacno, licno: Nisam hteo da impliciram nista lose oko tebe. Jednostavno, nemas iskustva. Sajt ti kaze da si developer. Ne mislim da ne mozes da naucis - zato i pisem, da bi pomogao, samo mislim da ne treba da krenes sa time "kako ja da napravim da MySQL radi.... X". Kreni sa "treba mi resenje za MySQL server i File System u 3 Data Centra. Kad pitas "kako da uradim ovo" ljudi ti kazu to - a to ne znaci da je to dobro resenje. Ja se trudim da ti predlozim bolje resenje - ne ono sto si trazio, vec ono sto ti treba. :)
Slobodno pitaj sve sto zelis, ja cu probati da odgovorim sta mogu. Meni nije tesko da ti napisem kako bi ja to resio, posto sam to vec radio, samo probam da izbegnem sistem gde ti ids sa svojim "resenjem" koje, opet ne tvojom krivicom, je zasnovano na onome sto si sam smislio - bez da znas sta postoji. Boldovao sam ti ovde kljucne reci za istraziti. :) Problem nije da li ovo znas da uradis - verujem da ces se snaci. Problem koji ja ocekujem je da, ako ovo sto pravis (sta god to bilo) bude imalo vece koriscenje, onda ces trebati da ga optimizujes - i tu mozes imati problema.
Please do not feed the Trolls!
Blasphemy? How can I blaspheme? I'm a god!'