Podujatia IT Konferencie O novinkách a trendoch z DDD a Microservices priamo z µCon London...

O novinkách a trendoch z DDD a Microservices priamo z µCon London 2019

Koncom mája som sa zúčastnil konferencie µCon London 2019. Stretnutie bolo zamerané na microservices, DDD (Domain-Driven Design) a softvérovú architektúru. Vo svete vývoja veľkých aplikácií sú tieto témy veľmi úzko prepojené. Softvérová architektúra veľkých informačných systémov je v súčasnosti stavaná hlavne ako architektúra typu microservices. Domain-Driven Design je taktika členenia aplikácie na logické celky, ktoré následne určujú funkčnosť a obsah jednotlivých modulov v microservices.

Konferenciu organizovala komunita „Skills Matter“ v Londýne. Pred tromi rokmi som sa zúčastnil podobného stretnutia tejto komunity, ktoré však bolo zameraná výlučne len na Domain-Driven Design. Vtedy ho otváral Eric Evans – „father or everything“ (ako ho nazval moderátor). Organizátori tohtoročnej DDD-konferencie sa rozhodli zlúčiť tému DDD s témou microservices. Keďže ide o veľmi príbuzné oblasti, ich zlúčenie rozhodne prospelo.

Stretnutie sa podstatne rozrástlo o technologický rozmer a aj o účastníkov. Preto sa konalo vo väčších priestoroch než naposledy – v budove Business Design Center. A zatiaľ čo stretnutie pred tromi rokmi trvalo iba jeden deň, tohto roku už rozšírený záber konferencie zabral tri dni v troch samostatných behoch.

Príspevky bežali v troch oddelených sálach. Z ponuky som si vyberal hlavne prednášky týkajúce sa Domain-Driven Designu. V krátkosti by sa dali trendy softvérovej architektúry veľkých informačných systémoch zhrnúť tak, že už nikto nepochybuje o potrebe rozdeľovania aplikácií na menšie subsystémy – mikroslužby. A že rozhodujúcu úlohu pri tomto rozdeľovaní hrá Domain-Driven Design so svojou koncepciou „Bounded Context“. Doménový význam a doménová reprezentácia pojmov je považovaná za kľúčový aspekt, cez ktorý sa architekti pozerajú na definovanie microservices. Veľa sa na prednáškach spomínal aj koncept doménových udalostí a vzájomnej komunikácie modulov prostredníctvom nich. Nechýbali ani „filozofické prednášky“. Pre mňa osobne bola veľkým prínosom prezentácia Simona Wardleyho: „Crossing the River by Feeling the Stones“. Zamýšľal sa v nej nad významom stratégie, mapy, komunikácie a doktrín pri vývoji softvéru.

V nasledujúcom slede prinášam pár zaujímavých faktov, ktoré som si na jednotlivých prednáškach poznačil. Ak máte chuť vypočuť si niektoré témy z konferencie podrobnejšie, pozývam vás na najbližšie stretnutie slovenskej DDD-community v Bratislave, kde sa vybraným prednáškam budem venovať hlbšie. Všetky prednášky z konferencie sú zverejnené aj na webe organizátora – komunity Skills Matter.

Zaujímavosti:

  • Trendom je zdôrazňovanie sociálneho aspektu vývoja – rozdeľovania vývojárov na tímy a ich zviazanosť s konkrétnou doménou a službami.
  • Pozor na skoré oddeľovanie modulov – na dobré definovanie modulov je znalosť domény kľúčová.
  • Domain-Driven Design použila firma Taboola na riadenie akvizície a pochopenie správnej integrácie tímu novej firmy do tímu pôvodnej firmy.
  • Choreography 2.0 kladie veľký dôraz na to, aby správy posielané medzi modulmi jasne komunikovali svoj zámer (intention).
  • Neexistuje softvér bez dizajnu. Existuje iba sofvér s dobrým dizajnom alebo zlým dizajn.
  • K implementácii security na úrovni containerov (napr. Docker) treba pristupovať novým spôsobom, security as a code => DevSecOps.
  • Ak začínate s DDD, zvážte postupný nábeh. Napríklad už len využitie ValueObjectov v dizajne môže výrazne pomôcť na každom projekte.
  • Event store je vhodná databáza napríklad na riešenie audit logov.
  • Modulárny monolit (modulith) je oveľa lepšia architektúra než distibuovaný „Big Ball of Mud“. Preto treba nájsť najprv prirodzené hranice vo vnútri domény („Bounded Context“) a až potom sa snažiť o definovanie modulov.
  • Pozor na implementáciu „Big Ball of Mud“ ako distribuovaného systému (microservices). Takýto koncept vyberá to najhoršie z oboch svetov: z monolitu jeho neoddelené moduly a z microservices zase distribuovanosť riešenia. Zabrániť sa tomu dá využitím Bounded Contextu z DDD.
  • wisdom = knowledge + experience + good judgement
  • Aj GUI môže byť modulárne. Používajú sa dva prístupy: Edge-Side Include a Server-Side Include.

Dúfam, že som vás týmito myšlienkami navnadil na stretnutie DDD community v Bratislave, 17.6.2019 o 18:00 v HubHube.

Dobrý článok? Chceš dostávať ďalšie?

Už viac ako 6 200 ITečkárov dostáva správy e-mailom. Nemusíš sa báť, nie každé ráno. Len občasne.

Súhlasím so spracovaním mojich osobných údajov. ( Viac informácií. )

Tvoj email neposkytneme 3tím stranám. Posielame naňho len informácie z robime.it. Kedykoľvek sa môžeš odhlásiť.

JS Sencha Senior Developer / Homeoffice

Máš rád svoju slobodu, pracuješ na projektoch, ideálne remote? Pre medzinárodnú softwarovú spoločnosť hľadáme JS Sencha Developera.Po dvoch týždňoch...

Junior Angular Developer / REMOTE

Pre nášho partnera hľadáme ITčkára na pozíciu Angular Developer. Spoločnosť sa venuje vývoju platformy pre firmy na znižovanie nákladov...

Frontend Medior Developer

Medzinárodná IT spoločnosť, ktorá vyvíja finančný softvér.Práca je v Bratislave na TPP. Odmena sa pohybuje od 2000+ EUR.Tvoje úlohy...

.NET Core Medior Developer / REMOTE

Svoju budúcnosť máš vo svojich rukách, skús to teraz ako .NET Core developer. Ide o startup projekt, ktorý vyvíja...

UX Designer / Part-Time

Máš voľne kapacity a hľadáš nový projekt, hľadáme UX dizajnéra na part-time.Práca je v Bratislave s možnosťou prácou z...

Senior Java Developer

Pozícia: Senior Java Developer Typ zmluvy: Kontrakt Dĺžka projektu: Dlhodobý projekt Odmena: od 4000- 5000+ EUR/mesačne vrátane všetkých nákladov Lokalita: OstravaČo by si...

Senior PHP Developer / Homeoffice

Pre spoločnosť, ktorá pôsobí v oblasti vývoja multichannel online riešení pre informačný, obchodný a finančný trh hľadáme Senior PHP...

5. ročník Majstrovstiev Slovenska v elektronických športoch sa premiérovo uskutoční v Nitre.

Už túto jeseň sa začína nová éra herných turnajov na Slovensku. Vďaka...

Business Service Centers Conference o návrate do normálu.

Business Service Center Forum zastupuje odvetvie podnikových služieb na Slovensku s viac...

Nástrahy v distribuovaných systémoch

Pri tvorbe architektúry distribuovaného systému je dôležité správne nastaviť komunikáciu medzi systémami. V praxi to znamená dobre pochopiť...

Čítaj ďalej:

Dobrý článok? Chceš dostávať ďalšie?

Už viac ako 6 200 ITečkárov dostáva správy e-mailom. Nemusíš sa báť, nie každé ráno. Len občasne.

Súhlasím so spracovaním mojich osobných údajov. ( Viac informácií. )

Tvoj email neposkytneme 3tím stranám. Posielame naňho len informácie z robime.it. Kedykoľvek sa môžeš odhlásiť.