Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

AWS spot instances

Na Budějovickém ČTVRTKONu jsme prezentovali, jak používáme v praxi SPOT INSTANCES servery na AWS a pracujeme na vyšší spolehlivosti celého systému při zachování ekonomického rozumu.

  • Login to see the comments

  • Be the first to like this

AWS spot instances

  1. 1. ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑AWS spot instances‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑ Aneb jak jsme z jednoho serveru udělali 9 pak 5 a navíc ušetřili. ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑ ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑ Dalibor Jaroš ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑ ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
  2. 2. Obsah Počáteční stav ‑ struktura aplikace Monitoring Docker pryč První škálování jedné části a první problémy První větší SI fail ‑ max bid price Druhá vlna škálování Odbočka ‑ handy využití RDS pro přepočet obřích dat Další využití na státním hackathonu Zkušenosti z provozu a ekonomika Kam dál?
  3. 3. AWS slovníček Instance ‑ jeden virtuální server Typ instance r4.2xlarge, m3.medium apod. Tři typy instance: on‑demand (nejdražší) reserved (rozum) spot instance (hazard ) https://www.ec2instances.info AWS spot instances, Dalibor Jaroš 3
  4. 4. Počáteční stav ‑ struktura aplikace Jedna on‑demand instance ‑ c4.2xlarge (0,4 USD/hod.) Vše v dockeru PHP, MYSQL, NGINX, REDIS, ELK‑stack Aplikace jako pseudo‑micro‑service App, tracker, billing, answers, mail‑queue, proxy servers Škálování vcelmi rychlé ‑ docker Ovlivňování výkonu mezi aplikacemi, problém s náhodným loadem Problém s diskem ‑ magnet vs. SSD, IOPS AWS spot instances, Dalibor Jaroš 4
  5. 5. Plán změn AWS spot instances, Dalibor Jaroš 5
  6. 6. Monitoring ELK stack PROMETHEUS + Grafana, MUNIN ‑> Datadog mnohem lepší warningy, kompozity horší dostupnost na mobilu webhooks ‑> slack + SMS (lambda) platí se za server!!! (a sakra bacha na docker ‑ v ceně je jen pár containerů) 92 USD / month ‑> 15 USD / month AWS spot instances, Dalibor Jaroš 6
  7. 7. Docker pryč Proč? ‑> neznalost, druhá vrstva virtualizace Problémy na produkci (minoritní) Sehnat experta byl nadliský úkol, do kterého se mi ani nechtělo Náhlá impotence ‑> blokace root disku pro write, docker nenastartoval Memory issues Někdy se prostě nenastartovaly nějaké containery Výhody !výkon! rychlost škálování workerů Na produkci vydržel cca 5 měsíců AWS spot instances, Dalibor Jaroš 7
  8. 8. První škálování jedné části a první problémy ‑ 04/2017 Přepis install/deploy z capistrano do ansible (APP) vznik projektu orchestration load balancer, využití devtestu jako horké zálohy stěhování z CIRCLE CI do Gitlabu první problém s IP ‑ limit AWS, ansible, dynamický inventář AWS spot instances, Dalibor Jaroš 8
  9. 9. První větší SI fail ‑ max bid price !nespoléhat se na max bid price! nutnost dělat AMIčka diverzifikace do různých zón AWS spot instances, Dalibor Jaroš 9
  10. 10. Pohyby cen SI AWS spot instances, Dalibor Jaroš 10
  11. 11. Druhá vlna škálování ‑ 11/2017 TRACKER výkonostní workeři problém se sdíleným EBS diskem alternativa EFS, jenže 3x dražší benchmark testy MONGO MYSQL APACHE + NGINX + lightweight PHP skript Cassandra AWS spot instances, Dalibor Jaroš 11
  12. 12. Benchmark testy ‑ GET test počet uložených záznamů čas na get ‑ ms dva servery apache, 10 geetter, 60 saver 43748 + 43712 50 dva servery apache save, nginx read, 10 getter, 60 saver 55556 + 55434 45 2xmysql 2x200000 5,3 2xmysql batched 10 2x200000 2,5 2xmysql batched 100 2x200000 0,9 2xmysql batched 1000 2x200000 0,09 AWS spot instances, Dalibor Jaroš 12
  13. 13. Benchmark testy ‑ SAVE test počet uložených záznamů čas na save ‑ ms 2xmysql 2x114654 6,11 2xmysql, batch 2 2x1600 4 2xmysql, batch 10 2x32840 3,53 AWS spot instances, Dalibor Jaroš 13
  14. 14. Odbočka ‑ handy využití RDS pro přepočet větších dat problém s tagama a historií rozložení pozic cca 2 roky problém miliony řádku v DTB je třeba přepočítat 2 roky zpět na cca 40tis. projektech snapshot z noci ‑> nová instance šílená MYSQL query jednoduchý worker týden přepočtu ‑> výsledná tabulka, copy na hlavní RDS a UPDATE (10 minut) kill instance AWS spot instances, Dalibor Jaroš 14
  15. 15. Crazy query AWS spot instances, Dalibor Jaroš 15
  16. 16. Další využití RDS na státním hackathonu potřeba sdílené MYSQL pro POWERBI na cca 4 hodiny natažení finálních dat z MYSQL ‑> POWERBI kill instance dnes už bych dělal přes spot (ansible mysql server, případně docker ‑> je to mnohem jednodušší) AWS spot instances, Dalibor Jaroš 16
  17. 17. Zkušenosti z provozu a ekonomika neuvěřitelná volnost, know‑how bez omezení na platformu (mimo monitoringu a lambdy vše vlastní řešení), snížení výdajů, více než trojnásobný výkon AWS spot instances, Dalibor Jaroš 17
  18. 18. Kam dál? dynamické škálování podle provozu (AWS cli) problém se zastaralým AMI ‑> skripty na tvorbu vlastních aktuálních AMI RDS škálování RABBIT škálování AWS spot instances, Dalibor Jaroš 18
  19. 19. Děkuji za pozornost ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑ ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑ https://kariera.collabim.com AWS spot instances, Dalibor Jaroš 19

×