Rozchmurz swoje aplikacje<br />Czyli jak AWS oszczędza nasze pieniądze<br />Tomek Szymański<br />Adam Warski<br />@szimano...
Kim jesteśmy?<br />Współzałożyciele SoftwareMill<br />Niestandardowe Oprogramowanie w Standardzie<br />Tomek Szymański:<br...
Agenda<br />Krótki wstęp: historia AWS, co to jest<br />Demo1: aplikacja bez chmury<br />Demo2: aplikacja z chmurą<br />
Krótka historia<br />.com boom – Amazon buduje olbrzymie centra serwerowe w USA<br />Bańka pęka – zapotrzebowanie Amazona ...
AWS – co to jest?<br />Zestaw różnych serwisów:<br />EC2 – ElasticComputeCloud<br />EBS – Elastic Block Store<br />S3 – Si...
AWS – co to jest?<br />
Nasza aplikacja<br />
Ale …<br />
Czegochcemy?<br />Skalowalności<br />High availability<br />
Dodatkowy serwer<br />
Dodatkowy serwer<br />Co z bazą?<br />
Baza danych<br />
Baza danych<br />A co zeskalowaniemi HA frontendu?<br />
Frontend<br />
Frontend<br />SPOF<br />SPOF<br />
Loadbalancer<br />
DB<br />
Efekt?<br />6 serwerów<br />Dużo wydanych pieniędzy<br />I tak nie jest super bezpiecznie (opieramy się tylko na jednym fa...
Nasza aplikacja - write<br />
Nasza aplikacja - read<br />
Demo - lokalnie<br />JMS<br />Hibernate<br />MySQL<br />
Serwery – EC2<br />Nowy serwer w ciągu paru minut<br />API<br />Duży wybór gotowych obrazów<br />Można tworzyć własne obra...
Serwery – ELB<br />Można podłączyć dowolnie wiele serwerów EC2<br />Działa na serwerach w jednym regionie<br />Czyli wiele...
Persistance – SimpleDB<br />NoSQL<br />Key-valuestorage (wiele wartości na klucz)<br />Eventualconsistency, ale:<br />Cons...
Kolejki - SQS<br />Odbieranie wiadomości typu pull<br />Nie ma tranzakcji<br />Wiadomość dostarczona ponownie, jeśli nie s...
Demo – naAmazonie<br />SQS zamiast JMSa<br />SDB zamiast Hibernate’a<br />EC2 zamiast Maka<br />Cały kod dostępny na GitHu...
Linki<br />https://github.com/softwaremill/aws-demo<br />http://aws.amazon.com<br />https://www.jbison.com<br />https://ww...
Dziękujemy<br />Tomek Szymański (szimano@szimano.org, @szimano)<br />Adam Warski (adam@warski.org, @adamwarski)<br />
Upcoming SlideShare
Loading in...5
×

Rozchmurz swoje aplikacje

4,731

Published on

Prezentacja o programowaniu na Amazon Web Services wygłoszona na Confitura 2011

Kod z prezentacji dostępny pod:

https://github.com/softwaremill/aws-demo

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
4,731
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Rozchmurz swoje aplikacje

  1. 1. Rozchmurz swoje aplikacje<br />Czyli jak AWS oszczędza nasze pieniądze<br />Tomek Szymański<br />Adam Warski<br />@szimano<br />@adamwarski<br />
  2. 2. Kim jesteśmy?<br />Współzałożyciele SoftwareMill<br />Niestandardowe Oprogramowanie w Standardzie<br />Tomek Szymański:<br />Jeden z liderów WJUG<br />Współorganizator Confitury (d. Javarsovii)<br />Adam Warski:<br />Autor Hibernate Envers<br />http://www.warski.org/blog<br />
  3. 3. Agenda<br />Krótki wstęp: historia AWS, co to jest<br />Demo1: aplikacja bez chmury<br />Demo2: aplikacja z chmurą<br />
  4. 4. Krótka historia<br />.com boom – Amazon buduje olbrzymie centra serwerowe w USA<br />Bańka pęka – zapotrzebowanie Amazona na serwery jest dużo mniejsze niż się wydawało<br />Amazon postanawia sprzedawać moc obliczeniową „na godziny”<br />W lipcu 2002 uruchomiony zostaje Amazon Web Services<br />
  5. 5. AWS – co to jest?<br />Zestaw różnych serwisów:<br />EC2 – ElasticComputeCloud<br />EBS – Elastic Block Store<br />S3 – Simple Storage Service<br />SQS – Simple Queue Service<br />SNS – Simple Notification Service<br />ELB – ElasticLoadBalancing<br />SimpleDB<br />RDS<br />… i wiele wiele więcej<br />
  6. 6. AWS – co to jest?<br />
  7. 7. Nasza aplikacja<br />
  8. 8. Ale …<br />
  9. 9. Czegochcemy?<br />Skalowalności<br />High availability<br />
  10. 10. Dodatkowy serwer<br />
  11. 11. Dodatkowy serwer<br />Co z bazą?<br />
  12. 12. Baza danych<br />
  13. 13. Baza danych<br />A co zeskalowaniemi HA frontendu?<br />
  14. 14. Frontend<br />
  15. 15. Frontend<br />SPOF<br />SPOF<br />
  16. 16. Loadbalancer<br />
  17. 17. DB<br />
  18. 18. Efekt?<br />6 serwerów<br />Dużo wydanych pieniędzy<br />I tak nie jest super bezpiecznie (opieramy się tylko na jednym failoverze dla każdego komponentu)<br />
  19. 19. Nasza aplikacja - write<br />
  20. 20. Nasza aplikacja - read<br />
  21. 21. Demo - lokalnie<br />JMS<br />Hibernate<br />MySQL<br />
  22. 22. Serwery – EC2<br />Nowy serwer w ciągu paru minut<br />API<br />Duży wybór gotowych obrazów<br />Można tworzyć własne obrazy (AMI)<br />Różne wielkości serwerów i ceny<br />Np. mały serwer 0.095c/h ~= 68.4 USD/miesiąc<br />5 regionów, w każdym pareavailabilityzone’ów<br />SLA 99.95%<br />
  23. 23. Serwery – ELB<br />Można podłączyć dowolnie wiele serwerów EC2<br />Działa na serwerach w jednym regionie<br />Czyli wiele availabilityzone’ów<br />Integracja z Route53 (DNS) – obsługa domen<br />Stickysessions<br />Np. Na podstawie cookie JSESSIONID<br />
  24. 24. Persistance – SimpleDB<br />NoSQL<br />Key-valuestorage (wiele wartości na klucz)<br />Eventualconsistency, ale:<br />Consistentread<br />Conditionalput (~ tranzakcje)<br />Niby-SQLowy język do zapytań, ale:<br />Brak JOINów<br />Zapytanie na N atrybutach robi N zapytań i łączy<br />Wszystko jest Stringiem<br />
  25. 25. Kolejki - SQS<br />Odbieranie wiadomości typu pull<br />Nie ma tranzakcji<br />Wiadomość dostarczona ponownie, jeśli nie skasowana po odebraniu<br />Wiadomości przechowywane na wielu serwerach, ale jest mała szansa, że wiadomość będzie dostarczona >1 raz<br />
  26. 26. Demo – naAmazonie<br />SQS zamiast JMSa<br />SDB zamiast Hibernate’a<br />EC2 zamiast Maka<br />Cały kod dostępny na GitHubie!<br />https://github.com/softwaremill/aws-demo<br />
  27. 27. Linki<br />https://github.com/softwaremill/aws-demo<br />http://aws.amazon.com<br />https://www.jbison.com<br />https://www.circular.pl<br />
  28. 28. Dziękujemy<br />Tomek Szymański (szimano@szimano.org, @szimano)<br />Adam Warski (adam@warski.org, @adamwarski)<br />

×