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

Más contenido relacionado

Destacado

Destacado (16)

0220
02200220
0220
 
Certificato
CertificatoCertificato
Certificato
 
Resumen capítulo 17
Resumen capítulo 17Resumen capítulo 17
Resumen capítulo 17
 
Things.NET Presentation
Things.NET PresentationThings.NET Presentation
Things.NET Presentation
 
16
1616
16
 
Wprowadzenie do Szkolenia Adwords
Wprowadzenie do Szkolenia AdwordsWprowadzenie do Szkolenia Adwords
Wprowadzenie do Szkolenia Adwords
 
X men
X menX men
X men
 
Diapositivas propaganda
Diapositivas propagandaDiapositivas propaganda
Diapositivas propaganda
 
Program Ochrony Środowiska dla Miasta Mielca na lata 2017-2020
Program Ochrony Środowiska dla Miasta Mielca na lata 2017-2020Program Ochrony Środowiska dla Miasta Mielca na lata 2017-2020
Program Ochrony Środowiska dla Miasta Mielca na lata 2017-2020
 
Prezentacja Wolontariatu Opiekuńczego - DPS w Sopocie
Prezentacja Wolontariatu Opiekuńczego - DPS w SopociePrezentacja Wolontariatu Opiekuńczego - DPS w Sopocie
Prezentacja Wolontariatu Opiekuńczego - DPS w Sopocie
 
Styl barokowy
Styl barokowyStyl barokowy
Styl barokowy
 
Integracja Red Hat JBoss Fuse w przetwarzaniu płatności
Integracja Red Hat JBoss Fuse w przetwarzaniu płatnościIntegracja Red Hat JBoss Fuse w przetwarzaniu płatności
Integracja Red Hat JBoss Fuse w przetwarzaniu płatności
 
Speak up for children's rights
Speak up for children's rightsSpeak up for children's rights
Speak up for children's rights
 
Futuristic intelligent transportation system architecture for sustainable roa...
Futuristic intelligent transportation system architecture for sustainable roa...Futuristic intelligent transportation system architecture for sustainable roa...
Futuristic intelligent transportation system architecture for sustainable roa...
 
3. przeciwpożarowe wymagania budowlane i drogi pożarowe
3. przeciwpożarowe wymagania budowlane i drogi pożarowe3. przeciwpożarowe wymagania budowlane i drogi pożarowe
3. przeciwpożarowe wymagania budowlane i drogi pożarowe
 
¡Ah de la vida!¿nadie me responde?
¡Ah de la vida!¿nadie me responde?¡Ah de la vida!¿nadie me responde?
¡Ah de la vida!¿nadie me responde?
 

Similar a Rozchmurz swoje aplikacje

Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...Tomasz Kopacz
 
Testowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackTestowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackThe Software House
 
Projektowanie wysokowydajnych i skalowalnych serwisów WWW - Warstwa aplikacji
Projektowanie wysokowydajnych i skalowalnych serwisów WWW - Warstwa aplikacjiProjektowanie wysokowydajnych i skalowalnych serwisów WWW - Warstwa aplikacji
Projektowanie wysokowydajnych i skalowalnych serwisów WWW - Warstwa aplikacjiAntoni Orfin
 
WordPress w chmurze - AWS UG Poland
WordPress w chmurze - AWS UG PolandWordPress w chmurze - AWS UG Poland
WordPress w chmurze - AWS UG PolandMatt Pilarski
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Cloudskraqa
 
Webinar - Podstawy Node.js
Webinar - Podstawy Node.jsWebinar - Podstawy Node.js
Webinar - Podstawy Node.jsWojciech Kaniuka
 
PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...
PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...
PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...PROIDEA
 
Kontenery w Azure
Kontenery w AzureKontenery w Azure
Kontenery w AzureChmurowisko
 
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz
 
Nowości Windows Azure
Nowości Windows AzureNowości Windows Azure
Nowości Windows Azurepbubacz
 
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.Wojciech Barczyński
 
Szybkie stawianie aplikacji z Elastic Beanstalk
Szybkie stawianie aplikacji z Elastic BeanstalkSzybkie stawianie aplikacji z Elastic Beanstalk
Szybkie stawianie aplikacji z Elastic BeanstalkThe Software House
 
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...Michal Furmankiewicz
 
Amazon Step Functions. Sposób na implementację procesów w chmurze
Amazon Step Functions. Sposób na implementację procesów w chmurzeAmazon Step Functions. Sposób na implementację procesów w chmurze
Amazon Step Functions. Sposób na implementację procesów w chmurzeThe Software House
 
WordUp Lublin WordPress w chmurze - AMIMOTO WordPress on AWS
WordUp Lublin WordPress w chmurze - AMIMOTO WordPress on AWSWordUp Lublin WordPress w chmurze - AMIMOTO WordPress on AWS
WordUp Lublin WordPress w chmurze - AMIMOTO WordPress on AWSMatt Pilarski
 
[PL] PRUG Luty 2022 - Service objecty to za mało - jak żyć z Railsami?
[PL] PRUG Luty 2022 - Service objecty to za mało - jak żyć z Railsami?[PL] PRUG Luty 2022 - Service objecty to za mało - jak żyć z Railsami?
[PL] PRUG Luty 2022 - Service objecty to za mało - jak żyć z Railsami?Andrzej Krzywda
 
Coś o service fabric, architekturze, i bardzo skalowalnych aplikacjach
Coś o service fabric, architekturze, i bardzo skalowalnych aplikacjachCoś o service fabric, architekturze, i bardzo skalowalnych aplikacjach
Coś o service fabric, architekturze, i bardzo skalowalnych aplikacjachTomasz Kopacz
 
Tomasz Kopacz: Architektura i service fabric - jak budować aplikacje w paas v2
Tomasz Kopacz: Architektura i service fabric - jak budować aplikacje w paas v2Tomasz Kopacz: Architektura i service fabric - jak budować aplikacje w paas v2
Tomasz Kopacz: Architektura i service fabric - jak budować aplikacje w paas v2AnalyticsConf
 

Similar a Rozchmurz swoje aplikacje (20)

Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
 
Testowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackTestowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStack
 
Projektowanie wysokowydajnych i skalowalnych serwisów WWW - Warstwa aplikacji
Projektowanie wysokowydajnych i skalowalnych serwisów WWW - Warstwa aplikacjiProjektowanie wysokowydajnych i skalowalnych serwisów WWW - Warstwa aplikacji
Projektowanie wysokowydajnych i skalowalnych serwisów WWW - Warstwa aplikacji
 
WordPress w chmurze - AWS UG Poland
WordPress w chmurze - AWS UG PolandWordPress w chmurze - AWS UG Poland
WordPress w chmurze - AWS UG Poland
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Clouds
 
Webinar - Podstawy Node.js
Webinar - Podstawy Node.jsWebinar - Podstawy Node.js
Webinar - Podstawy Node.js
 
PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...
PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...
PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...
 
Migracje danych serverless
Migracje danych serverlessMigracje danych serverless
Migracje danych serverless
 
Kontenery w Azure
Kontenery w AzureKontenery w Azure
Kontenery w Azure
 
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
 
Nowości Windows Azure
Nowości Windows AzureNowości Windows Azure
Nowości Windows Azure
 
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
 
Szybkie stawianie aplikacji z Elastic Beanstalk
Szybkie stawianie aplikacji z Elastic BeanstalkSzybkie stawianie aplikacji z Elastic Beanstalk
Szybkie stawianie aplikacji z Elastic Beanstalk
 
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
 
Wprowadzenie do Microsoft Azure
Wprowadzenie do Microsoft AzureWprowadzenie do Microsoft Azure
Wprowadzenie do Microsoft Azure
 
Amazon Step Functions. Sposób na implementację procesów w chmurze
Amazon Step Functions. Sposób na implementację procesów w chmurzeAmazon Step Functions. Sposób na implementację procesów w chmurze
Amazon Step Functions. Sposób na implementację procesów w chmurze
 
WordUp Lublin WordPress w chmurze - AMIMOTO WordPress on AWS
WordUp Lublin WordPress w chmurze - AMIMOTO WordPress on AWSWordUp Lublin WordPress w chmurze - AMIMOTO WordPress on AWS
WordUp Lublin WordPress w chmurze - AMIMOTO WordPress on AWS
 
[PL] PRUG Luty 2022 - Service objecty to za mało - jak żyć z Railsami?
[PL] PRUG Luty 2022 - Service objecty to za mało - jak żyć z Railsami?[PL] PRUG Luty 2022 - Service objecty to za mało - jak żyć z Railsami?
[PL] PRUG Luty 2022 - Service objecty to za mało - jak żyć z Railsami?
 
Coś o service fabric, architekturze, i bardzo skalowalnych aplikacjach
Coś o service fabric, architekturze, i bardzo skalowalnych aplikacjachCoś o service fabric, architekturze, i bardzo skalowalnych aplikacjach
Coś o service fabric, architekturze, i bardzo skalowalnych aplikacjach
 
Tomasz Kopacz: Architektura i service fabric - jak budować aplikacje w paas v2
Tomasz Kopacz: Architektura i service fabric - jak budować aplikacje w paas v2Tomasz Kopacz: Architektura i service fabric - jak budować aplikacje w paas v2
Tomasz Kopacz: Architektura i service fabric - jak budować aplikacje w paas v2
 

Más de Tomasz Szymanski

Senior software-afterlife Wrocław 10.2021
Senior software-afterlife Wrocław 10.2021Senior software-afterlife Wrocław 10.2021
Senior software-afterlife Wrocław 10.2021Tomasz Szymanski
 
Senior Software Engineer Afterlife
Senior Software Engineer AfterlifeSenior Software Engineer Afterlife
Senior Software Engineer AfterlifeTomasz Szymanski
 
Senior software engineer afterlife
Senior software engineer afterlifeSenior software engineer afterlife
Senior software engineer afterlifeTomasz Szymanski
 
[PL] Hyperledger 101 - Tomasz Szymański
[PL] Hyperledger 101 - Tomasz Szymański[PL] Hyperledger 101 - Tomasz Szymański
[PL] Hyperledger 101 - Tomasz SzymańskiTomasz Szymanski
 
SoftwareMill - Why so flat?
SoftwareMill - Why so flat?SoftwareMill - Why so flat?
SoftwareMill - Why so flat?Tomasz Szymanski
 
Microservices enough with theory - let's code some! #DevoxxMA
Microservices enough with theory - let's code some! #DevoxxMAMicroservices enough with theory - let's code some! #DevoxxMA
Microservices enough with theory - let's code some! #DevoxxMATomasz Szymanski
 
Microservices - Voxxed Vilnius 2015
 Microservices - Voxxed Vilnius 2015 Microservices - Voxxed Vilnius 2015
Microservices - Voxxed Vilnius 2015Tomasz Szymanski
 

Más de Tomasz Szymanski (7)

Senior software-afterlife Wrocław 10.2021
Senior software-afterlife Wrocław 10.2021Senior software-afterlife Wrocław 10.2021
Senior software-afterlife Wrocław 10.2021
 
Senior Software Engineer Afterlife
Senior Software Engineer AfterlifeSenior Software Engineer Afterlife
Senior Software Engineer Afterlife
 
Senior software engineer afterlife
Senior software engineer afterlifeSenior software engineer afterlife
Senior software engineer afterlife
 
[PL] Hyperledger 101 - Tomasz Szymański
[PL] Hyperledger 101 - Tomasz Szymański[PL] Hyperledger 101 - Tomasz Szymański
[PL] Hyperledger 101 - Tomasz Szymański
 
SoftwareMill - Why so flat?
SoftwareMill - Why so flat?SoftwareMill - Why so flat?
SoftwareMill - Why so flat?
 
Microservices enough with theory - let's code some! #DevoxxMA
Microservices enough with theory - let's code some! #DevoxxMAMicroservices enough with theory - let's code some! #DevoxxMA
Microservices enough with theory - let's code some! #DevoxxMA
 
Microservices - Voxxed Vilnius 2015
 Microservices - Voxxed Vilnius 2015 Microservices - Voxxed Vilnius 2015
Microservices - Voxxed Vilnius 2015
 

Rozchmurz swoje aplikacje

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