Programovací jazyk Java poznám, Spring framework poznám, monolity (jedna veľká aplikácia v kope) ovládam a tak aby som nestagnoval a naučil sa novšie technológie a teda si aj rozšíril portfólio toho, čo ovládam, som sa rozhodol naučiť nové technológie okolo cloudových riešení a microservisov.
Celú moju cestu a perepúť zaznamenám a vy si o tom môžete prečítať. Budem si to celé zaznamenávať krok za krokom.
Začiatok
Momentálne poznám len pár kľúčových slov a to, že chcem riešiť microservisy a cloudové riešenia. Ešte som zaznamenal technológie ako Kubernetes a Docker. To je na začiatok všetko.
Ak si to rozoberiem na menšie kúsky, tak tuším o čo ide. Aplikácie, ktoré som písal doteraz, sú monolitické, teda všetka funkcionalita je dokopy v jednej aplikácii. Prípadne celý backend je jedna časť, ktorá komunikuje s frontendom pomocou API.
Microservisy si predstavujem tak, že je to viacero malých aplikácií, ktoré fungujú samostatne a aplikácia použije len to, čo potrebuje. Tieto moduly – servisy – malé časti potom spolu komunikujú. Predpokladám, že tam bude nejaký mechanizmus posielania správ. Alebo komunikujú prostredníctvom API.
Ako prvý krok som sa rozhodol pýtať na sociálnych sieťach. Dostal som jednu odpoveď a tá mi povedala, že si mám naštudovať Spring, Docker a Kubernetes. Predstavoval som si to asi trochu podrobnejšie, ale možno som zle položil otázku. Vlastne chcem vedieť, čo je ako prvé, čo potom a čo potom, ... teda úplný postup.
Keďže "socky" zlyhali, tak použijeme Google, ten verím v tomto prípade nesklame.
Microservices a cloud roadmapa
Ako prvé som skúsil vyhľadať microservices roadmapu. Predpokladal som, že nájdem štruktúrované informácie. Vytriedil som pár stránok, ktoré pre mňa nemali zaujímavú formu. Vybral som si tieto:
Dev.to: vyzerá, že obsahuje kvalitné a štrukturované ifnormácie,
JavaGuides: má pekne štruktúrovaný text a obsahuje aj obrázky roadmapy, čo oceňujem:
Ďalej som hľadal ako robiť Java aplikácie na cloude a vybral som tieto stránky na prezretie:
Toto sú moje začiatky, sám som zvedavý, kam sa dostanem.
Prvé výsledky
Články a stránky som si prebehol z nadhľadu, aby som sa viac zoznámil so základnými pojmami a zistil, čo sa opakuje a kde začať. Takže, teraz mi je jasné, že tu máme dve oblasti. Oblasť programovania a oblasť nasadenia. V prvom rade je potrebné naprogramovať samotné microservisy a potom ich niekde nasadiť.
S písaním Java aplikácií a API som oboznámený, nie je to pre mňa nič nové. Tým pádom budem ako prvé študovať technológie Kubernetes a Docker.
Tieto dve technológie by mi mali pomôcť zistiť, čo všetko navyše je potrebné spraviť, aby som naprogramoval také microservisy, ktoré sú správne pripravené na spoločnú komunikáciu.
Podľa wiki Kubernetes pracujú s Dockerom. Kubernetes by mala byť kontajnerová orchestrácia – pod tým si predstavujem riadenie kontajnerov.
Kontajner je podľa všetkého samostatná krabička, ktorá v sebe obsahuje všetko potrebné, aby v nej bežala aplikácia. Javu, rôzne závislosti, frameworky, knižnice a podobne. A túto krabičku zoberiem a nasadím. Spolu by to malo krásne a ideálne pracovať. No uvidíme 😀.
Záver
Pre tento úvodný prehľadový článok stačí. Rád by som v týchto článkoch pokračoval, tam už pôjdeme do väčších podrobností a pozrieme sa na zúbok jednotlivým technológiám, ktoré sa budeme snažiť pochopiť. Lúči sa s vami Jaro a vidíme sa pri ďalšom článku, alebo v mojich kurzoch.
Skillmea
🥇 Sme jednotka v online vzdelávaní na Slovensku. Na našom webe nájdeš viac ako 300 rôznych videokurzov z oblastí ako programovanie, tvorba hier, testovanie softwaru, grafika, UX dizajn, online marketing, MS Office a pod. Vyber si kurz, ktorý ťa posunie vpred ⏩