Článek přečtěte do 35 min.

Přední osobnosti z komunity Java se nedávno připojily k Azulu na Prime Time, virtuální akci věnované inovacím a strategiím, které pohánějí vysoce výkonné systémy Java. 

V tomto příspěvku se dozvíte: 

  • Osvědčené strategie pro optimalizaci úloh v Javě a snížení plýtvání.
  • Cloudově nativní kompilace vylepšuje restartování vozového parku JVM pro výkon a škálování v Javě.
  • Spolupráce mezi technickými a finančními týmy je klíčová pro snížení nákladů na cloud.
  • Využívání Javy v pracovních postupech umělé inteligence se zvyšuje, zejména v přípravě dat a vývoji funkcí.

Java je motorem klíčových aplikací a uživatelských zkušeností. Od rychlejší odezvy až po konzistentní výkon může mít Java významný dopad na obchodní výsledky a náklady na cloud. Přední osobnosti z komunity Java se nedávno připojily k Azulu na Prime Time, dynamické virtuální akci věnované inovacím, strategiím a reálným poznatkům, které pohánějí vysoce výkonné systémy Java. 

Zde je přehled prezentací. 

Napište jednou, nasaďte všude: Od kontejnerů po bezserverové řešení 

James Ward, hlavní zástupce pro vývojáře, AWS 

James hovořil o přístupu „napiš jednou, nasaď všude“ pro Spring aplikace se zaměřením na bezproblémové nasazení v lokálním vývojovém, kontejnerovém a bezserverovém prostředí. Zdůraznil optimalizaci zpětnovazebních smyček lokálního vývoje, používání inkrementálních kompilátorů a jednotkových testů a zajištění konzistence služeb s Postgres. V oblasti kontejnerizace zdůraznil použití vestavěných funkcí kontejnerizace a sestavovacích balíčků Spring Boot. V případě bezserverového prostředí představil Serverless Java Container pro spouštění Spring aplikací na AWS Lambda, čímž demonstroval hladký přechod z lokálního vývoje do produkčního prostředí bez významných změn kódu. 

Zjednodušení restartů JVM flotily pro zvýšení výkonu a škálování v Javě pomocí cloudově nativní kompilace

Simon Ritter, zástupce technického ředitele, Azul 

Simon hovořil o vylepšení restartů JVM flotily pro výkon a škálování Javy pomocí cloudově nativní kompilace. Vysvětlil neefektivnost JIT kompilace, zejména v mikroslužbách, kde každá instance prochází procesem zahřívání. Ritter představil cloudově nativní kompilátor, který odděluje JIT kompilaci od JVM, čímž zlepšuje využití zdrojů a zkracuje doby zahřívání. Příklad z reálného světa ukázal, že doba zahřívání se zkrátila ze 7 minut na 10 sekund pomocí cloudově nativní kompilátoru, což ušetřilo 37,5 % zdrojů CPU. Tento přístup umožňuje lepší optimalizaci, ukládání do mezipaměti a dynamické škálování, což prospívá rozsáhlým nasazením mikroslužeb. 

Snižte náklady na cloud v Javě; Osvědčené strategie pro optimalizaci úloh v Javě a snížení plýtvání

Rob Martin, ředitel FinOps, Nadace FinOps

Přednáška se zaměřila na strategie pro optimalizaci úloh Java a snížení nákladů na cloud. Rob zdůraznil důležitost spolupráce mezi technickými a finančními týmy, přičemž zdůraznil sdílené rozhodování a včasnou optimalizaci. John hovořil o praktických krocích, jako je výběr vysoce výkonných distribucí Java, a zmínil 50% snížení infrastruktury společností MasterCard a 90% zlepšení doby pauzy společností Workday. Oba zdůraznili význam rámce FinOps, školení a zapojení komunity pro nákladově efektivní a účinnou správu úloh Java.

John Stuart, viceprezident pro cloudové operace, bezpečnost a IT, Azul

Migrace úloh Java do cloudu

Matt McClernan, vedoucí specialisty SA, výpočetní technika, ANZ, AWS

Diskuse se zaměřila na migraci úloh Java do cloudu s důrazem na služby AWS a Azul Prime JDK. Matt zdůraznil, že Java je stále rozšířená, s 9 miliony vývojářů a očekávaným 50–60% růstem cloudových úloh Java během tří let. Mezi běžné výzvy spojené s migrací patří vnímaná obtížnost, prioritizace vydávání funkcí a zdůvodňování dopadu na podnikání. Program AWS Migration Acceleration Program (MAP) zefektivňuje migrace a nabízí investice a nástroje. Azul Prime JDK, kompatibilní s OpenJDK, nabízí až 35% zlepšení výkonu procesorů Graviton, snižuje latenci a optimalizuje využití CPU. Kombinace Prime se službami AWS, jako je Graviton, poskytuje vynikající poměr ceny a výkonu a optimalizaci nákladů.

Vytváření AI agentů pomocí Spring a MCP

Josh Long, zástupce pro vývojáře Spring, Broadcom

Josh Long a James Ward demonstrovali vytvoření agenta s umělou inteligencí pomocí Spring, MCP a AWS Bedrock. Pro inferenci použili model Nova Pro a pro vkládání model Cohere. Agent s názvem Assistant pomáhá adoptovat psy z fiktivní agentury Pooch Palace. Vytvořili databázi Postgres s funkcemi vektorového ukládání a integrovali ji s agentem. Agent používá RAG pro vyhledávání podobností a MCP pro integraci nástrojů. Také implementovali perzistenci a pozorovatelnost paměti chatu pomocí Spring Boot Actuator. Kód pro tento projekt je k dispozici na GitHubu. 

James Ward, hlavní zástupce pro vývojáře, AWS 

Java a umělá inteligence, přechod od experimentů k obchodním implementacím

Frank Delporte, hlavní technický redaktor, Azul

Frank hovořil o přechodu od experimentů s umělou inteligencí v Javě k obchodním implementacím. Frank, vývojář v Javě ve společnosti Azul, zdůraznil rostoucí využívání Javy v pracovních postupech umělé inteligence, zejména v přípravě dat a vývoji funkcí. Vysvětlil rozdíl mezi umělou inteligencí a strojovým učením a zdůraznil roli strojového učení při trénování počítačů k rozhodování na základě datových vzorců. Frank představil různé knihovny Javy, jako jsou DeepNets, Deep Java Library a LangChain 4J, pro trénování a používání modelů a zdůraznil jejich snadnou integraci se stávajícími systémy Java. Také porovnal efektivitu Javy s Pythonem a citoval studii, která ukazuje, že Java spotřebovává méně energie a stojí méně, a zasazoval se o vhodnost Javy pro aplikace umělé inteligence.

Java Perf & Scale; Zvládnutí technik pro efektivní aplikace

Pratik Patel, viceprezident pro podporu vývojářů, Azul

Pratik hovořil o technikách optimalizace Java aplikací. Zdůraznil důležitost jednoduchosti aplikací a vyhýbání se přepracování. Patel demonstroval použití profileru IntelliJ IDEA v aplikaci Spring Pet Clinic k identifikaci úzkých míst ve výkonu, jako je například volání metody „find owner“, které trvá 10 % času. Také představil JHiccup pro identifikaci pauz JVM a hovořil o kódovacích postupech, jako je použití primitiv namísto wrapperových tříd a builderů řetězců pro efektivitu. Patel zdůraznil důležitost správné velikosti hald JVM a používání vhodných garbage collectorů, zejména Azul Zing JVM pro velké velikosti hald a nízkou latenci.

Škálovatelní agenti s Koogem a Ktorem v Kotlinu

Simon Vergauwen, advokát vývojářů, JetBrains

Simon diskutoval s Koogem a Ktorem o škálovacích agentech v Kotlinu. Vysvětlil konfiguraci aplikací pomocí proměnných prostředí a použití datových tříd k načítání konfiguračních souborů. Simon podrobně popsal spuštění serveru s Koogem za použití enginu Netty a zpracování souběžnosti s pozastavením lambd. Zdůraznil podporu YAML, JSON a souborů vlastností v Koogu a potřebu povolit funkce jako SSE. Simon se také zabýval vytvářením agentů AI, používáním nástrojů jako Google Maps a zpracováním chyb a ukládáním do mezipaměti pro zvýšení efektivity. Zdůraznil důležitost podrobných popisů a serializovatelných typů pro přesné odpovědi LLM a na závěr zmínil rostoucí využití Kotlinu ve světě AI.

Závěrem 

Podívejte se na všechny prezentace z Prime Time na našich webových stránkách, zcela zdarma. Můžete se také dozvědět více o vysoce výkonných platformách Java.

Zdroj: Azul