Jsme tu pro vás PO - PÁ 9:00 - 17:00 info@systeum.cz +420 608 408 716

Jsme tu pro vás PO - PÁ 9:00 - 17:00 obchod@systeum.cz +420 608 408 716

Přechod z Java 8 na Java 11: postřehy a zkušenosti (2. díl)

Update z Java 8 na Java 11. Je to bezproblémová rychlovka nebo proces, který vám připraví nejednu překážku? Náš kolega Standa Keppert měl možnost se do tohoto přechodu zapojit a již v minulém článku s námi sdílel několik zajímavých zkušeností, které na projektu vypozoroval.

Co ze zákulisí nám ještě může prozradit a jak by celý přechod shrnul?

V minulé části se můžete dočíst, co konkrétně se upgradovalo a jak. Nyní se mrkneme, jak byl celý přechod zorganizovaný, kolik času zabral a jak bychom ho celkově zhodnotili.

Upgrade byl rozdělen v rámci dvou sprintů do několika fází. V první fázi se přepisoval kód a připravovaly se kontejnery v Dockeru, časový odhad byl 7 MD, nakonec fáze zabrala 11 MD a pracovali na ní dva vývojáři. Hlavní důvod jejího prodloužení byl problém se stabilitou vytvořených Docker kontejnerů. Použitá starší verze Dockeru byla dostačující pro JAVA 8 avšak s přechodem na JAVA 11 už nestačila a způsobovala zmíněnou nestabilitu. Přešli jsme tedy na novější verzi a pak vše již šlapalo jako švýcarské hodinky.

Když vývojáři dokončili úpravy kódu na všech modulech, začalo se postupně nasazovat. Jak jsem ale psal již v první části, tyto updaty nebyly ze začátku úplně v pořádku.

(pozn. redakce: Upravili jsme jednu část kódu (jeden modul) a předpokládali, že jeho druhá část (druhý modul) nebude mít problémy se zpracováním dat. Bohužel spolu obě části kódu přestaly dobře komunikovat. Z toho důvodu se prováděl následný downgrade aby vše začalo zase pracovat. Úplně se oddělila nová Branch a celý kód jsme přepsali a upravili na jiném serveru, kde se zároveň i vše testovalo pomoci automatického testovacího frameworku.)

Do úprav, které vývojář ladil, bylo začleněno i testování pomocí automatického testovacího frameworku. Měli jsme upravený automatický testovací nástroj pro BE volání. Vytvořil jsem i konfigurovatelný Jenkins job, díky kterému si mohl vývojář testovat konkrétní modul.

Tato akce se nestihla v plánovaném časovém úseku, bylo tedy potřeba ji přesunout na nové speciálně vytvořené vývojové prostředí, kam se všechny moduly přesunuly a upravovaly se. Jakmile se každý z modulů upravil, byl nasazen a nahradil předchozí verzi, která běžela v Java 8. Vše zabralo dalších 5 MD, a tak celý přechod trval dva sprinty.

Není přechod jako přechod

V našem případě jsme se při přechodu potýkali hned s několika problémy, to ale neznamená, že se musí objevit vždy. Četl jsem o případech, kdy byl přechod rychlý bez větších komplikací i naopak o takových, kdy se problémy nakupily a přechod zabral ještě více času než nám.

Na našem projektu byl přechod o něco složitější i díky tomu, že se na kódu pracovalo hodně dlouho a střídali se různé týmy. Nakonec jsme se ale dobrali zdárnému konci a vše, včetně automatizovaného testovacího frameworku (zatím ale pouze backend testy, frontend jsou zatím odložené na neurčito) již plně funguje na Java 11. Ještě bude potřeba udělat pár úprav v rámci Selenium webdriver, ale to už nebude tak náročné, jako to měli například vývojáři, když museli předělávat celou rozsáhlou aplikaci.

Celý přechod byl v našem případě zakončen na Sprint Review, kde jsme sdíleli problémy, se kterými jsme se potýkali a obecně lessons learned v celém týmu. Nakonec se informoval business, že vše již běží na Java 11 a mohli jsme se pustit zase do další práce ?.

Máte i vy konkrétní zkušenosti s přechodem na nové verze Java? Podělte se s námi, budeme rádi.

 

🟡 Hledáte zajímavý projekt? Mrkněte, jak to u nás chodí a jaké kolegy aktuálně hledáme.

🟡 Máte kolegu nebo kamaráda, který se poohlíží po novém projektu? Zapojte se do našeho referral programu Doporuč a získejte finanční odměnu za doporučení.

🟡 Chtěli byste začít pracovat v IT? Stáhněte si náš ebook ZAČNĚTE PRACOVAT V IT: aneb od prvních krůčků po vysněnou práci, ve kterém vás provedeme krůček po krůčku informacemi, kurzy i praxí, které jsou tolik potřebné nejen pro ty, kteří chtějí změnit obor, ale i pro ty, kteří se chtějí pracovně posunout a dále se vzdělávat.

Nebo sdílejte tento článek, který třeba poslouží i vašim známým.

Chcete dostávat naše články pravidelně do schránky? Nechte nám tady svůj email a my si rádi zahrajeme na poštovní sovy.

Mohlo by vás také zajímat

Agile, Waterfall, DevOps: základní ...

čtení na 8 minut 16.2.2022

Co všechno víte o databázích?

čtení na 3 minuty 21.4.2022

Jak dobře znáte Jenkins? Díl I.

čtení na 4 minuty 29.7.2022

Jak začít v IT: od prvních studijní...

čtení na 5 minut 13.4.2021

Zaslouží si NFT tolik pozornosti?

čtení na 2 min. 24.3.2022

Znáte simulační teorii? 

čtení na 2 min 28.6.2022

Jak se o nás mluví?
Zeptejte se našich klientů…

Systeum
Systeum

„Systeum je jedním z největších dodavatelů našich testerských kapacit. Můžu říct, že kvalita uchazečů je vysoko nad průměrem. Také oceňuji velkou ochotu vyjít vstříc všem našim požadavkům.“

Head of test execution

„Systeum je dlouhodobý partner, u kterého máme jistotu, že kandidáti jsou kvalitní a prověření. Od roku 2015 máme díky nim fungující kvalitní seniorní týmy C++ embedded vývojářů a auto testerů.“

Head of Payment Application

„Systeum, thank you for your help to find the right fit to my team! I can recommend cooperation with you to everybody. Very professional, smooth and friendly.“

IT CIM Inventory Management Development

Příklady dlouhodobé spolupráce

Porsche Moneta Raiffeisenbank Generali Komerční banka Monster