Zpět na blog
Vzdělávání

Učím sa používať cloud a microservices (časť II.)

Skillmea tím
06.11.2022
4 minuty čtení
Učím sa používať cloud a microservices (časť II.)
V tomto textu navážem na předchozí blog, ve kterém jsem vás seznámil se základy cloudu a microservices. Prošli jsme si, co všechno zahrnuje cloud a microservisy, kde se vzdělávat a v jaké posloupnosti a také, jaké byly mé první výsledky práce. Pojďme pokračovat.

Kubernetes

Úvod do Kubernetes

Podle všeho by mi mělo Kubernetes napomoci k tomu, abych přestal řešit problémy s infrastrukturou. Aplikaci vezmu, přesunu jinam a všechno bude fungovat.

Slovo Kubernetes (čti kubernetís) pochází z řečtiny a znamená kormidelník. To dává smysl – i logo tomu odpovídá 🙃. Zkratka názvu pro Kubernetes je K8s.
Logo Kubernetes
Kubernetes činí abstrakci nad infrastrukturou – naši aplikaci nezajímá, kde je nasazena a zda má všechny potřebné zdroje – to zajišťuje Kubernetes. Cloud native aplikace je výraz pro moderní aplikaci, která zvládá moderní požadavky – škálování, self heal, updates, migrace do jiných prostředí.

Základní pojmy

Při studiu jsem se setkal se základními pojmy, které je třeba vědět. Postupně se je budu snažit popsat, tak jak jsem je pochopil já.

Kontejner

Jako správný kormidelník nekormidluje prázdnou loď, ale bere s sebou náklad, který naloží do kontejnerů, tak tomu nebude ani teď 😊. 

Při vytváření aplikací potřebujeme počítač s operačním systémem, potřebujeme databázi, nějaký server. Každá tato část potřebuje určité závislosti, knihovny a tak podobně. Tady se to komplikuje. Abys to uměl všechno pospouštět, tak se o tyto všechny požadavky musíš postarat. Aby to bylo jednodušší, tak všechny tyto věci, jako například databáze, bude ve vlastním kontejneru. Kontejner si sám bude zajišťovat vše, co je třeba pro chod např. databáze MySQL a my pak tento kontejner budeme používat.

Orchestrace

Aby všechno spolu dobře fungovalo - ladilo to s pole. Orchestrace prostě vše možné řídí, aby naše aplikace fungovala. Kubernetes je vlastně nástroj pro tuto orchestraci.

Docker

Pojmu Docker jsem se chtěl věnovat později, ale při stadiu Kubernetes jsem natrefil na rozdíly a tak to v jednoduchosti zařadím i sem. Pochopíte rozdíl, je to důležité, jelikož tyto dvě technologie se často zaměňují.

Obě technologie nám pomáhají spouštět aplikace v kontejnerech, ale údajně se od sebe začínají vzdalovat.

Docker je kontejnerová technologie, která virtualizuje operační systém a spouští naši aplikaci. Výše v textu jsem psal, že v kontejerech běží samostatně například databázový server – a dává smysl, že ten server běží v operačním systému.

Podle mnou nasbíraných informací se už ve světě Kubernetes nedoporučuje používat Docker, neboť je prý zastaralý. Uvidíme, kam to bude směřovat a jaká nová technologie se objeví.

Zajímavé je to, že Kubernetes umíme spustit tak, že běží uvnitř v Dockeru 😊. Je to ještě zajímavější a ještě víc mě to baví řešit.

Škálování

Škálování je vlastně pojem, který řeší to, aby aplikace využívala zdroje, které v daném okamžiku potřebuje. Za zdroj považujme například více paměti, více procesorů a podobně, nebo se přidají další servery (není donekonečna možné přidávat jen procesory). Jiné zdroje potřebuješ, pokud tvůj microservis používá 10 lidí a jiné když 1000 lidí. Existuje vertikální a horizontální škálování.

Závěř

Dále pri studiu Kubernetes bych musel jít hlouběji, ale teď se seznamuji postupně blíže s pojmy. Tedy tady si přeruším studium Kubernetes a přejdu na úvod k technologii Docker. Loučí se s tebou Jaro Beňo a my se vidím pokud Bůh dovolí při dalším článku nebo v nějakém mém online kurzu.
Skillmea tím

Sme jednotka v online vzdelávaní na Slovensku.

Na našom webe nájdeš viac ako 260 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 ⏩

Mohlo by tě zajímat

Co je Design Thinking?
Vzdělávání
24.10.2022
Skillmea tím

Co je Design Thinking?

Design Thinking je ideologií i procesem, který se zabývá řešením složitých problémů způsobem, který je zaměřen primárně na uživatele. V tomto článku vám poskytneme podrobnou definici pojmu Design Thinking, přesně popíšeme, co tento proces zahrnuje, a zdůrazníme, proč je tento přístup důležitý: Jaká je hodnota design thinking a v jakých kontextech je obzvláště užitečný? Podíváme se také na to, jak lze Design Thinking aplikovat v každodenní práci a jaké jsou výhody používání Design Thinkingu. Co je Design Thinking?Design Thinking je přístup používaný pro praktické a kreativní řešení problémů. Je založen ve velké míře na metodách a procesech, které používají designéři (odtud tedy pochází samotný název), ale ve skutečnosti se vyvinul z různých oblastí – včetně architektury, inženýrství a obchodu. Design Thinking lze aplikovat na jakoukoli oblast, nemusí jít nutně o design. Jedním z prvních lidí, kteří psali o Design Thinkingu, byl John E. Arnold, profesor na Stanfordské univerzitě. V roce 1959 napsal „Creative Engineering“, text, který stanovil čtyři oblasti Design Thinkingu. Design Thinking je v první řadě zaměřen na uživatele, na lidi, snaží se pochopit potřeby lidí a přijít s účinnými řešeními k uspokojení těchto potřeb. Říkáme tomu přístup k řešení problémů založený na řešení (z ang. solution-based approach to problem-solving. Design Thinking se tedy zaměřuje na dosahování praktických výsledků a řešení: 1. technicky proveditelné: mohou být vyvinuty na funkční produkty nebo procesy; 2. ekonomicky životaschopné: podnik si je může dovolit implementovat; 3. žádoucí pro uživatele: splňují skutečnou lidskou potřebu. Co je Design Thinking proces?Nejprve se podívejme na čtyři principy Design Thinkingu, jak je navrhly Christoph Meinel a Harry Leifer z Hasso-Plattner-Institute of Design na Stanfordské univerzitě. Čtyři principy Design Thinkingu1. Lidské pravidlo: bez ohledu na kontext, veškerá designérská činnost má sociální povahu a každá sociální inovace nás přivede zpět k „hledišti zaměřenému na člověka“. 2. Pravidlo nejednoznačnosti: nejednoznačnost je nezbytná a nelze ji odstranit ani příliš zjednodušit. Experimentování na hranicích svých vědomostí a schopností je rozhodující, chcete-li vidět věci jinak. 3. Pravidlo redesignu: celý design je redesign. Zatímco technologie a sociální okolnosti se mohou měnit a vyvíjet, základní lidské potřeby zůstávají nezměněny. V podstatě jen předěláváme prostředky na splnění těchto potřeb nebo dosažení požadovaných výsledků. 4. Pravidlo hmatatelnosti: uskutečnění nápadů ve formě prototypů umožňuje designérům je efektivněji komunikovat. Více o principech Design Thinkingu si můžete přečíst např. na této stránce. Na základě těchto čtyř principů může být proces Design Thinkingu rozdělen do pěti kroků nebo fází: empatie, definice, idea, prototyp a test. Prozkoumejme každý z nich podrobněji. [Fáze Design Thinkingu] Fáze 1: EmpatieEmpatie poskytuje kritický výchozí bod pro Design Thinking. První fáze procesu je věnována seznámení se s uživatelem a pochopením jeho přání, potřeb a cílů. To znamená, pozorovat lidi a zapojovat se do nich, abychom jim porozuměli na psychologické a emocionální úrovni. V této fázi se designér snaží odložit své předpoklady a získat skutečné poznatky o uživateli. Fáze 2: DefiniceDruhá fáze je věnována definování problému. Shromáždíte všechna svá zjištění z fáze empatie a začnete jim dávat smysl: s jakými obtížemi a překážkami se vaši uživatelé setkávají? Jak velký uživatelský problém musí váš tým vyřešit? Když problém zformulujete do slov, můžete začít přicházet s řešeními a nápady – čímž se dostáváme do třetí fáze. Fáze 3: Idea, návrhS důkladným pochopením vašich uživatelů a jasným prohlášením o problému je čas začít pracovat na potenciálních řešeních. Ve třetí fázi design thinkingu je čas na kreativní řešení. Existuje mnoho různých typů technik generování nápadů, od brainstormingu a mindmappingu až po bodystorming (scénáře hraní rolí) či další způsoby. Ke konci této fáze je zapotřebí velký počet nápadů zúžit na několik nejlepších, se kterými budete dále pracovat. Fáze 4: PrototypTato fáze je celá o experimentování a přeměně nápadů na hmatatelné produkty. Prototyp je v podstatě zmenšená verze produktu, která zahrnuje potenciální řešení identifikovaná v předchozích fázích. Tento krok je klíčem k testování každého řešení a zvýraznění jakýchkoli omezení a nedostatků. Fáze 5: TestPo prototypování přichází uživatelské testování, ale je důležité poznamenat, že toto je jen zřídka konec procesu Design Thinkingu. Ve skutečnosti vás výsledky testovací fáze často přivedou zpět k předchozímu kroku a poskytnou vám informace, které potřebujete k předefinování původního problému nebo na nové nápady, o kterých jste dříve neuvažovali. Účel Design ThinkinguDozvěděli jsme se dostatek informací o tom, jak Design Thinking funguje, pojďme se podívat na to, proč je to důležité. Existuje mnoho výhod používání přístupu Design Thinking – ať už v obchodním, vzdělávacím, osobním nebo sociálním kontextu. Design Thinking v první řadě podporuje kreativitu a inovace. Jako lidské bytosti spoléháme na znalosti a zkušenosti, které jsme nashromáždili během svého života. Vytváříme si vzorce a návyky, které jsou sice užitečné v určitých situacích, ale mohou omezit náš pohled na věci, pokud jde o řešení problémů. Namísto opakování stejných osvědčených metod nás Design Thinking povzbuzuje, abychom zvážili alternativní řešení, která jsme předtím nepoužili, vyzývá nás k hledání nových cest a nápadů. Design Thinking se často uvádí jako zlatá střední cesta při řešení problémů - není zcela ponořeno do emocí a intuice, ale nespoléhá se také jen na analytiku, vědu a zdůvodnění. Další velkou výhodou Design Thinkingu je, že na první místo klade lidi. Tím, že se tak intenzivně zaměřuje na empatii, povzbuzuje podniky a organizace, aby zvážily skutečné lidi, kteří používají jejich produkty a služby – což znamená, že je mnohem pravděpodobnější, že zasáhnou značku, pokud jde o vytváření smysluplných uživatelských zkušeností. Pro uživatele to znamená lepší a užitečnější produkty, které opravdu zlepšují náš život. Pro podniky to znamená spokojené zákazníky a zdravější hospodářský výsledek. Jaké jsou výhody Design Thinkingu v práci?V této závěrečné části vypíchneme některé z hlavních výhod používání Design Thinking v práci: • Výrazně snižuje čas uvedení produktu na trh: Design Thinking se svým důrazem na řešení problémů a hledání životaschopných řešení může výrazně snížit množství času stráveného designem a vývojem – zejména v kombinaci s lean a agilním přístupem. • Úspora nákladů a velká návratnost investic: rychlejší uvádění úspěšných produktů na trh v konečném důsledku šetří peníze podniku. Bylo prokázáno, že Design Thinking přináší značnou návratnost investic. • Zlepšuje retenci a loajalitu zákazníků: Design Thinking zajišťuje přístup zaměřený na uživatele, který v konečném důsledku zvyšuje zapojení uživatelů a udržení zákazníků z dlouhodobého hlediska. • Podporuje inovace: Design Thinking je o zpochybňování předpokladů a ustálených přesvědčení a povzbuzuje všechny zúčastněné strany, aby myslely mimo zažitý rámec. To podporuje kulturu inovací, která je důležitá pro každou společnost. • Dá se použít v celé společnosti: nejlepší věc na designovém myšlení je, že není jen pro designéry. Využívá skupinové myšlení a podporuje spolupráci mezi týmy. A co víc, dá se použít prakticky na jakýkoli tým v jakémkoli odvětví. Design Thinking můžete začít aplikovat i v malém. Můžete se zaměřit jen na jeden aspekt procesu Design Thinking, jako je například poznávání svých zákazníků. Pokud se vám například nedaří získat pozitivní recenze zákazníků, můžete se rozhodnout uskutečnit rozhovory s uživateli, abyste zjistili, co vašim zákazníkům chybí.
Weby pro vývojáře, které musíte znát
Vzdělávání
15.10.2022
Skillmea tím

Weby pro vývojáře, které musíte znát

Existuje tolik webových stránek, které usnadňují vývojářům práci. Určitě ale nikdo nezná všechny a proto se v tomto článku podíváme na několik webových stránek, které vývojáři při své práci využijí. RoadmapShTato webová stránka poskytuje studijní cesty, pokyny a další vzdělávací obsah, který vývojářům pomůže vybrat si cestu a nasměrovat jejich učení. Je to velmi užitečné jak pro začátečníky, tak pro studenty, kteří potřebují pomoci nasměrovat s dalším studiem.[Roadmap.sh] OverApi.comPro všechny vývojáře je OverAPI jednou z nejkrásnějších a nejužitečnějších webových stránek. Tato webová stránka obsahuje cheatsheety pro většinu programovacích jazyků. Podívejte se na to hned teď.[OverAPI] Ray.soTato webová stránka vám umožňuje pořizovat krásné screenshoty z kódu. Má také tmavý režim a některá předinstalovaná témata pro různé programovací jazyky. Můžete také použít jeho rozšíření pro VS Code. [Ray.so] Built WithZjistěte, na jakých technologiích je postavena webová stránka, kterou jste navštívili, pomocí tohoto webu nebo Chrome rozšíření. BuiltWith je nástroj pro profilování webových stránek. Po vyhledání stránky BuiltWith vrátí všechny technologie, které na stránce najde. [Built With] DevDocsDevDocs spojuje množství API dokumentace v jediném rozhraní s možností vyhledávání. Na jednom místě naleznete dokumenty týkající se různých programovacích jazyků a technologií. [DevDocs] Daily.devDaily.dev je platforma, kde najdete spoustu dobrých článků, které si můžete denně přečíst a zůstat informováni o novinkách ze světa developmentu. Zobrazuje nejlepší články z různých platforem přímo ve vašem feedu. Zůstaňte informováni o kvalitním obsahu z různých platforem přímo do vašeho prohlížeče pomocí Chrome rozšíření. [Daily Dev] Css-tricksSvé dovednosti v oblasti webového vývoje můžete zvládnout tak, že se na tété webové stránce naučíte všechny základy CSS. Pokud jste to ještě nevěděli, CSS je to, co dělá webové stránky hezkými a určuje jim vzhled. [css tricks.png]Css tricks Meta TagsMeta Tags je generátor značek webových stránek, který vám také umožňuje aktualizovat a experimentovat s vaším obsahem předtím, než uvidíte, jak se bude zobrazovat na internetu a na sociálních sítích. Je to dobré nejen pro SEO. [Meta tags] CodePenCodePen je legendární webová vývojářská platforma, která umožňuje uživatelům upravovat front-end jazyky, jako jsou HTML, CSS a JavaScript, aniž by museli instalovat jakýkoli software. Všechny změny jsou viditelné v reálném čase, což usnadňuje řešení problémů. Vývojáři a designéři si také mohou vyměňovat svá vytvořená díla (známá jako pens) se zbytkem světa. Na CodePen lze nalézt obrovské množství inspirace. [codepen.png] Readme.soTato webová stránka vám umožňuje vytvořit README dokument velmi snadno a rychle. Jeho jednoduchý editor vám pomůže rychle přidat a přizpůsobit všechny sekce, které potřebujete pro soubor README vašeho projektu. Můžete to použít k rychlému vytvoření dokumentace vašich projektů s otevřeným zdrojovým kódem.[Readme.so] ZávěrDěkujeme za přečtení, doufáme, že jste našli několik nových stránek, které vám někdy pomohou. V budoucnu se s vámi podělíme o další nové a užitečné webové stránky pro developery.
Učím se používat cloud a microservices (část I.)
Vzdělávání
06.09.2022
Skillmea tím

Učím se používat cloud a microservices (část I.)

První setkání s tématikouProgramovací jazyk Java znám, Spring framework znám, monolity (jedna velká aplikace v kopu) ovládám a tak abych nestagnoval a naučil se novější technologie a tedy si i rozšířil portfolio toho, co ovládám, jsem se rozhodl naučit nové technologie kolem cloudových řešení a microservisů . Celou moji cestu a pereput zaznamenám a vy si o tom můžete přečíst. Budu si to celé zaznamenávat krok za krokem. ZačátekMomentálně znám jen pár klíčových slov a to, že chci řešit microservisy a cloudová řešení. Ještě jsem zaznamenal technologie jako Kubernetes a Docker. To je na začátek všechno. Pokud si to rozeberu na menší kousky, tak tuším o co jde. Aplikace, které jsem psal dosud, jsou monolitické, tedy všechna funkcionalita je dohromady v jedné aplikaci. Případně celý backend je jedna část, která komunikuje s frontendem pomocí API. Microservisy si představuji tak, že je to několik malých aplikací, které fungují samostatně a aplikace použije jen to, co potřebuje. Tyto moduly – servisy – malé části pak spolu komunikují. Předpokládám, že tam bude nějaký mechanismus posílání zpráv. Nebo komunikují prostřednictvím API. Jako první krok jsem se rozhodl ptát na sociálních sítích. Dostal jsem jednu odpověď a ta mi řekla, že si mám nastudovat Spring, Docker a Kubernetes. Představoval jsem si to asi trochu podrobněji, ale možná jsem špatně položil otázku. Vlastně chci vědět, co je jako první, co potom a co potom, ... tedy úplný postup. Jelikož "socky" selhaly, tak použijeme Google, ten věřím v tomto případě nezklame. Microservices a cloud roadmapaJako první jsem zkusil vyhledat microservices roadmapu. Předpokládal jsem, že najdu strukturované informace. Vytřídil jsem pár stránek, které pro mě neměly zajímavou formu. Vybral jsem si tyto: • Dev.to: vypadá, že obsahuje kvalitní a strukturované informace, • JavaGuides: má pěkně strukturovaný text a obsahuje i obrázky roadmapy, což oceňuji:[Zdroj: JavaGuides.net] Dále jsem hledal jak dělat Java aplikace na cloudu a vybral jsem tyto stránky k prohlédnutí: • https://cloud.google.com/java • https://rollbar.com/blog/what-is-cloud-native-java/ Toto jsou mé začátky, sám jsem zvědavý, kam se dostanu. První výsledkyČlánky a stránky jsem si proběhl z nadhledu, abych se více seznámil se základními pojmy a zjistil, co se opakuje a kde začít. Takže, teď mi je jasné, že zde máme dvě oblasti. Oblast programování a oblast nasazení. V první řadě je třeba naprogramovat samotné microservisy a poté je někde nasadit. Se psaním Java aplikací a API jsem obeznámen, není to pro mě nic nového. Tím pádem budu jako první studovat technologie Kubernetes a Docker. Tyto dvě technologie by mi měly pomoci zjistit, co vše navíc je třeba udělat, abych naprogramoval takové microservisy, které jsou správně připraveny ke společné komunikaci. Podle wiki Kubernetes pracují s Dockerem. Kubernetes by měla být kontejnerová orchestrace – pod tím si představuji řízení kontejnerů. Kontejner je podle všeho samostatná krabička, která v sobě obsahuje vše potřebné, aby v ní běžela aplikace. Jevu, různé závislosti, frameworky, knihovny a podobně. A tuto krabičku vezmu a nasadím. Spolu by to mělo krásně a ideálně pracovat. No uvidíme 😀.  ZávěrPro tento úvodní přehledový článek stačí. Rád bych v těchto článcích pokračoval, tam už půjdeme do větších podrobností a podíváme se na zoubek jednotlivým technologiím, které se budeme snažit pochopit. Loučí se s vámi Jaro a vidíme se při dalším článku, nebo v mých online kurzech.

Nezmeškaj info o nových kurzoch a špeciálnych ponukách