Тёмный

Why nobody in their right mind builds a large monolith today? 

BEC
Подписаться 758
Просмотров 40 тыс.
50% 1

Meetup społeczności DDD-WAW w przestrzeni meetupowej #BECPoland (bec.dk/poland/). Zapraszamy na wykład Jakuba Nabrdalika o mikroserwisach i tym dlaczego nie zawsze warto zaczynać od monolitu.
Jakub Nabrdalik - od 2003 lat w branży jako software engineer, developer, architect, team leader, manager. Jako inżyniera, interesuje mnie przede wszystkim architektura. Specjalizuję się w Software Craftsmanship, Domain Driven Design i Test/Behavior-driven development. Prowadzę zespoły i projekty, uczę przez przykład.
DDD-WAW (www.meetup.com/ddd-waw/) - społeczność dla osób chcących poznać głębiej Domain Driven Design i poczuć je zarówno na poziomie technicznym jak i biznesowymi. Tematyka: Event Storming, Modelowanie, Komunikacja Biznes-IT, Architektura, Modularyzacja (Bounded Context) oraz kompatybilność z Agile'em.
BEC Poland (bec.dk/poland/) - jesteśmy firmą informatyczną dostarczającą rozwiązania w zakresie technologii finansowej dla duńskich banków. Dzięki oddziałom w Danii i Polsce umożliwiamy ich klientom inwestowanie online, zaciąganie pożyczek i przelewanie pieniędzy. Innymi słowy, robimy wszystko to, czego potrzeba do prowadzenia banku. #CodeLearnGrow

Наука

Опубликовано:

 

30 июн 2023

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 44   
@abartosz
@abartosz Месяц назад
Smuci mnie jak wiele z tych antypaternów, o których wspominałeś występowało w mojej poprzedniej pracy... Ale cieszy mnie, że zmieniłem pracę na BEC. Liczę, że skoro zaprosili takiego prelegenta, to dbają o dobrą architekturę.
@krzysztofbardzinski
@krzysztofbardzinski 11 месяцев назад
Świetna odpowiedź o bezsensie szacowania przy braku wiedzy z przeszłości
@danieldaniel4663
@danieldaniel4663 7 месяцев назад
Bardzo dużo konkretnej wiedzy, przekazane krótko zwięźle. Brawo!
@korniszon68
@korniszon68 10 месяцев назад
Git człowiek!
@piotrjazdzyk253
@piotrjazdzyk253 8 месяцев назад
Genialne, jak zawsze.
@paweskarzynski8068
@paweskarzynski8068 11 месяцев назад
1:1:50 - niech rzuci kamieniem ten, kto we własnym jednoosobowym projekcie nie musiał rozwiązywać merge conflictów ;-)
@JuniorJavaReady
@JuniorJavaReady 9 месяцев назад
@Mathes881
@Mathes881 8 месяцев назад
Skad najlepiej czerpac wiedze dotyczaca tych pul wątków (na request, bazy danych itp), zuzycia cpu itp? Od teorii po praktyke? Zeby moc sie tym pobawic w lokalnych warunkach.
@ArekTheBoss
@ArekTheBoss Месяц назад
Co masz konkretnei ma nysli? Teorię dotyczącą pól wątków? W zależności od technologii w któej pracujesz to w dokumentacji (trudna ściezka dla nowicjusza) lub różnego rodzaju kursach online (któe co prawda często są ogólne i prawie zawsze nei wyczerpują tematu ale dla nowicjusza to imho ok). Jeżeli chodzi o praktykę to, zakładając, że masz jakąś aplikację która działa i jest od nie jakich ruch, możesz ywykorzystać metryki (grafana, prometheus itp) gdzie możesz sobie wizualizować właśnie takie rzeczy jak utylizacja wątków itp.
@krzysztoft5897
@krzysztoft5897 4 месяца назад
2:22:55 - mega szacunek Jakub za ten tekst, to właśnie pokazuje patologię pod tytułem "outsourcing". Inaczej zwany al...ierą :)
@krzysztofwroblewski9417
@krzysztofwroblewski9417 10 месяцев назад
1:08:48 wspominany jest pattern którego nazwy że słuchu nie udało mi się rozkodować. Można prosić o zapisanie?
@hawi74
@hawi74 9 месяцев назад
Strangler pattern
@maciej12345678
@maciej12345678 3 месяца назад
2:31 os/360 IBM do 1979 roku większość projektów upadała więc matematycy (KNUTH) (kryzys programowania) zajęli się sprawą żeby uporządkować sprawy a inny wymyślili programowanie obiektowe w c++ (sorry C) 6:32 tak jak pisałem (ale cicho sza o kryzysie programowania) a teraz rozwiąniem ma być ML i w ogóle wszyscy na bruk... coś co nie potrafi między 2 a 4 zdaniem dostrzec sprzeczności z drugiej strony taki system jest chyba nie możliwy według niezupełności arytmetyki tw. Godla .. czyli niemożność zautomatyzowania matematyki .. ale lepiej nie mówić o tym co nie działa albo jest sprzeczne i trudne do odkręcenia grunt że nowe rzeczy powstają nowe typy procesorów PCM zamiast HBM może kiedyś memrystory ... nowy hype AGI za 3 lata.. a ja myślę że Winter is Comming Again AI Winter.. 14:14 to nic innego jak modele w logice i podejście no właśnie formalizacji do matematyki bazując na kryzysie po 1930 czyli tworzenie modeli.. meta meta meta ... model może zautomatyzować te meta.. no tak ML ... end
@j-krolik
@j-krolik 9 месяцев назад
1:26:09 czy ktoś wie o jakim konkretnie nagraniu mowa?
@JakubNabrdalik
@JakubNabrdalik 8 месяцев назад
Chodziło mi o stronę en.wikipedia.org/wiki/Fallacies_of_distributed_computing
@j-krolik
@j-krolik 8 месяцев назад
@@JakubNabrdalik dziękuje!
@mariuszsiera
@mariuszsiera 8 месяцев назад
Smutne/zabawne jest to, że z tego powodu, że programiści nie potrafią się dogadać, tworzą skomplikowane (rozproszone) architektury, żeby uniknąć bólu związanego z komunikacją z ludźmi...
7 месяцев назад
Conway's law
@seNick7
@seNick7 5 месяцев назад
Dogadać? Jak masz 50,100,200 osób w projekcie to nie nazwałbym tego "dogadaniem". A co dopiero w ogromnych projektach? To jest niewykonalne. Do 20 osób może można się "dogadać".
@marcinb7578
@marcinb7578 3 месяца назад
Jakiego tabletu używa tutaj Pan Jakub, że tak fajnie może rysować LIVE?
@ArekTheBoss
@ArekTheBoss Месяц назад
ja tam widzę makbuka
@marcinb7578
@marcinb7578 Месяц назад
@@ArekTheBoss Musisz mieć bardzo dobry wzrok 😄W której minucie?
@MateuszSiemieniuk97
@MateuszSiemieniuk97 Месяц назад
@@ArekTheBoss Bardzo prawdopodobne. W 1:10:44 wspomina o AirPlay. :)
@BookBacklog8511
@BookBacklog8511 11 месяцев назад
jak zrobić spójny backup danych w sytuacji 10^X mikroservisów z własnymi bazami ?
@JakubNabrdalik
@JakubNabrdalik 10 месяцев назад
Co to jest spójny backup mikroserwisów? I do czego ma służyć?
@mrngwozdz
@mrngwozdz 8 месяцев назад
Możliwe, że bazy danych są oparte o sequencery i w takim przypadku spójny backup danych jest niezbędny ponieważ istnieje ryzyko że dane pomiędzy serwisami się rozsynchronizuja i będą wskazywać na id, zupełnie innego rekordu niż pierwotnie. W takim scenariuszu to nie backup jest problemem tylko niepoprawnie zaprojektowane mikro serwisy/tabele bazodanowe. W sumie nie za często spotykam się z omawianiem tego problemu na prezentacjach, a źle zaprojektowana baza danych z mojego doświadczenia to największa kula u nogi projektu.
@JakubNabrdalik
@JakubNabrdalik 8 месяцев назад
​@@mrngwozdz Ciekawa uwaga. Ale się z nią nie zgadzam. Nie widziałem przypadku by ktoś wykonywał backup baz wszystkich mikroserwisów na raz i oczekiwał w tym backupie spójności. No bo niby czemu miałoby to służyć, skoro cały system i tak musi być zbudowany w oparciu o effectively-once delivery, oraz przywracanie danych każdego mikroserwisu jest kompletnie niezależne od pozostałych? Chyba nie mówimy o tym samym. Wspominasz o źle zaprojektowanej bazie jako problemie projektu, podczas każdy z mikroserwisów ma swoje własne bazy, enkapsuluje dane, ma swoje własne read-modele (zawsze nieaktualne), i idealnie powinien mieć w dupie co się dzieje w pozostałych mikroserwisach (resiliency). Pewnie łatwiej byłoby się dogadać jakbyśmy przyjeli jakieś założenia (np: event-driven na k8s z PostgreSQL, Redis lub MongoDB per serwis i Kafką z topic'ami z nieskończoną retencją gdzie pasuje + read modele w oparciu o compacted topics i Kafka Streams). Na przykład takie coś gitlab.com/jakubn/usage-analyzer/-/blob/main/README.md?ref_type=heads Możesz na tym przykładzie wytłumaczyć do czego miałby służyć "spójny backup danych"?
@mrngwozdz
@mrngwozdz 8 месяцев назад
​@@JakubNabrdalik Dzięki za odpowiedź. Zacznijmy od tego że rozmawiamy o problemie który faktycznie występuje w projektach, ale nie powinien istnieć w przypadku prawidłowo wykonanej architektury mikrousługowej. Spróbuję wyjaśnić prawdopodobny problem kolegi @mariuszgodziszewski8511 na przykładzie z życia, gdzie sam ostatnio miałem "przyjemność" pracować przy projekcie gdzie taki "spójny backup danych" występował. Projekt całkiem spory, wszystko na rhelu z openshiftem na pokładzie (Self-managed) i oczywiście mikrousługami. Problem pojawił się taki, że osoby które prowadziły ten projekt wcześniej pracowali na monolitach i wszystkie tabele w bazach danych były na sequencerach. Dane pomiędzy serwisami często były powiązane właśnie po nich co doprowadziło do sytuacji gdzie w jednym module, odpowiedzialnym za raporty coś się mocno podziało nie tak, na tyle że trzeba było przywracać bazę danych. Gdyby została przywrócona tylko baza danych w module raportującym, okazałoby się że serwis, który wiązał po id z raportami zacząłby dostawać nie swoje raporty (do czasu wyrównania sequencerów do stanu poprzedniego). I tak o to powstała potrzeba przywracania baz danych dla wszystkich mikrousług, bo jeden z serwisów miał problem. Pewnie dla Ciebie opisana sytuacja jest niedorzeczna bo jest to zwyczajnie kardynalny, podstawowy błąd. No ale cóż, tak to wygląda w wielu projektach szczególnie gdy ktoś przechodzi z pisania monolitów do mikrousług. Podsumowując "spójny backup danych" jest odpowiedzią na problem, który nie powinien istnieć przy dobrze zaprojektowanej architekturze, co zresztą udowadniasz dziwiąc się na tak zadane pytanie. Także @mariuszgodziszewski8511 - jeżeli doszło do sytuacji, że potrzebujecie takiej funkcjonalności to znaczy że coś mocno poszło nie tak.
@JakubNabrdalik
@JakubNabrdalik 8 месяцев назад
@@mrngwozdz Wow, dzięki za odpowiedź. To faktycznie sytuacja chora w samych założeniach.
@ForgottenKnight1
@ForgottenKnight1 Месяц назад
Title in English, video in Polish. Good job, kurwa :)
@qbakuba2057
@qbakuba2057 11 месяцев назад
Gościu zna się na rzeczy
@krystianlaskowski
@krystianlaskowski 11 месяцев назад
Skąd wiesz? Bo brzmi mądrze? 😅
@qbakuba2057
@qbakuba2057 11 месяцев назад
@@krystianlaskowski bo mówi o moim doświadczeniu. Przerabiałem to co on i się z tym zgadzam. To co proponuje jest lepszym rozwiązaniem niż popełnianie błędów które są w necie i wielu firmach IT.
@katvonalex4694
@katvonalex4694 Год назад
Jaki cel ma nawiązanie w tytule do zdrowia psychicznego?
@nanoGPT
@nanoGPT Год назад
clickbait microservice dobre dzielenie roboty (1h)
@Rafa-wf3ui
@Rafa-wf3ui Год назад
Na confiturze prowadzil prezentacje bardziej na temat zdrowia psychicznego ;)
@JakubNabrdalik
@JakubNabrdalik 11 месяцев назад
W książce podanej w 5:45 masz odpowiedź
@EASYPWNAGE
@EASYPWNAGE 6 месяцев назад
@@JakubNabrdalikczy prezentacja jest może dostępna pod jakimś URL?
@ArekTheBoss
@ArekTheBoss Месяц назад
Na confiturze 2023 jest talk jakuba o zdrowiu psychicznemu i wymienia tam kilka rzeczy któe pozwalają lepiej o nie zadbać dzięki mikroserwisom (continuous deployment, observability, autonomy, tdd itp). Pracowałem w zespole rozwijającym mikroserwis który miała utonomię i przykładał uwagę do testów -> teraz pracuję w zespole dopisującym ify w monolicie bez testów z releasem raz na kwartał i manualnymi testerami którzy są klikaczami i jednak poziom wygody a przez to stresu pogorszył się o kilka rzędów wielkości przez co myślę o zmianie.
@ambrozykleks626
@ambrozykleks626 7 месяцев назад
Bo nie umieją. Cieniasy. Nie obejrzałem minuty i już wiem dlaczego..
@takiezycie11
@takiezycie11 4 месяца назад
Dzban detected
@ambrozykleks626
@ambrozykleks626 3 месяца назад
@@takiezycie11 Pan Jakub nie zasłużył na takie słowa. Popitolił, ale jest fajny.
@ArekTheBoss
@ArekTheBoss Месяц назад
@@ambrozykleks626 xD
Далее
How the hell is this done#joker #shorts
00:14
Просмотров 1,6 млн
Why Does Scrum Make Programmers HATE Coding?
16:14
Просмотров 496 тыс.
Mój problem z Domain-Driven Design...
33:14
Просмотров 10 тыс.
10 lat mojego DDD w 30 minut + Q&A - Andrzej Krzywda
1:23:58
PRAWDZIWE OBLICZE ludzi SUKCESU | Rafał Mazur
44:47
Просмотров 217 тыс.
Урна с айфонами!
0:30
Просмотров 7 млн
Mac Studio из Китая 😈
0:34
Просмотров 130 тыс.
Развод с OZON - ноутбук за 2875₽
17:48
Это спасёт камеру iPhone
0:32
Просмотров 169 тыс.
Gizli Apple Watch Özelliği😱
0:14
Просмотров 4,3 млн