Dramatický nárůst objemu dat aplikace - jak řešit?

vyvojar

Máte aplikaci - startup :). Aplikace umožňuje nahrávat fotky. Na začátku je aplikace neznámá a v pohodě stačí třeba nějaký větší disk. Ale teď hypotetická situace, že aplikace získá na popularitě a dostane se do celého světa. Jak najednou řešit ten dramatický nárůst objemu dat nahrávaných uživateli? Asi by ten nárůst nebyl nějak skokově ze dne na den, ale dalo by se to předpokládat trochu dopředu. I tak jak se to pak řeší? Nějakou službou jako amazon?


Jenda

Re:Dramatický nárůst objemu dat aplikace - jak řešit?
« Odpověď #1 kdy: 01. 07. 2017, 22:17:40 »
Nějakou službou jako amazon?
Někdo VPSkama v cloudu, někdo si pronajme dedikované servery, někdo si servery koupí a zahousuje sám.

Osobně mi přijde jako největší „trik“ předělat aplikaci, která s tím nepočítala, tak, aby dokázala pracovat současně na více serverech a rozkládala se zátěž. U těch fotek nejspíš docela dlouho můžeš mít jeden server, který bude řešit „management“, a většinu zátěže odpracují ostatní servery, kde bude jen storage (a to se distribuuje snadno). Ale až ti ten jeden centrální nebude stačit, tak bude zábava :).

Dev Null

Re:Dramatický nárůst objemu dat aplikace - jak řešit?
« Odpověď #2 kdy: 01. 07. 2017, 22:49:21 »
Zkus se kouknout na amazon S3 uloziste - muzes k nemu pristupovat odkad chces.

pekand

Re:Dramatický nárůst objemu dat aplikace - jak řešit?
« Odpověď #3 kdy: 01. 07. 2017, 23:56:57 »
Firebase od googlu ma taky koncept ze mozes vytvorit apku a ak sa chiti u zakaznikou a narastie objem dat tak uzivatelovi sa ponukne subscription. Ty dostavaš nejaku proviziu za aplikaciu.

John

Re:Dramatický nárůst objemu dat aplikace - jak řešit?
« Odpověď #4 kdy: 02. 07. 2017, 00:22:18 »
Cloud.

Priklad 50 TB dat cez:
- AWS S3 ~$1177.6/mesiac (+ cena podla poctu requestov/objemu datovej prevadzky) - https://aws.amazon.com/s3/pricing/
- Google storage ~$1024/mesiac (+ cena podla poctu requestov/objemu datovej prevadzky) - https://cloud.google.com/storage/pricing

Cena moze ist aj dole ak pouzijes storage s nizsou dostupnostou (typicky use case pre zalohy) aj hore ak napriklad budes tie iste data pre istotu dostupnosti replikovat aj do ineho regionu.

V pripade pouzitia cloudu hodis svoj problem s mnozstvom dat na plecia cloud providera a ty budes iba platit za to co pouzivas (CAPEX vs OPEX naklady). Casom mozno zistis ze budes kvoli latencii robit geolokacne routovanie, pripadne nasadis pre data CDN - v pripade cloudu to bude jednoduche a velki cloudovi provideri (AWS/GCP) to maju ako standardnu sluzbu. A samozrejme idealne ked mas aj serveri v cloude, kde ich mozes tiez pekne (automaticky) skalovat podla aktualnej potreby.

Ked uz budes poriadne uspesny startup, tak az potom sa ti oplati vlastne datove centrum (vid priklad Dropbox, ktori zacinal s AWS, ale dnes je uz na vlastnom zeleze).

Pekne citanie je este aj od Gitlabu:
https://about.gitlab.com/2016/11/10/why-choose-bare-metal/
ale nakoniec https://about.gitlab.com/2017/03/02/why-we-are-not-leaving-the-cloud/

Klasicka cesta vlastneho HW je hlavne pomala. Aj ked v SK/CZ koncinach je normalna a tak ocakavam, ze si tu niekto kopne do cloudu :-P


Re:Dramatický nárůst objemu dat aplikace - jak řešit?
« Odpověď #5 kdy: 02. 07. 2017, 11:23:12 »
To je problém čistě jen peněz. Hlavně tu aplikaci navrhnout tak, aby jí nedělalo problém škálování na nekonečno strojů.
Pokud aplikaci navrhnete tak, že nedokáže rozumně oddělovat data od sebe je třeba jí poté masivně přepisovat.
Na vstupu mít ideálně nějaký směrovač, který bude vědět, v které části té virtuální sítě se informace nachází.
„Řemeslo se naučí každý. Umění nikdo.“
„Jednoduchost je nejvyšší úroveň sofistikovanosti.“
- Leonardo Da Vinci