Vojta s Martinem vyrazili na Atlas Camp ve Vídni, dvoudenní konferenci zaměřenou primárně pro Atlassian vývojáře. Zatímco Vojta byl na AtlasCampu vůbec poprvé, Martin už může srovnávat se dvěma předchozími ročníky. Kluci nám opět podali hlášení o tom, co je zaujalo a jak prožili dva nabité dny s Atlassian komunitou.
Vojtův 1. den:
Hned první přednášku Leaning into Server to Cloud App Migration od Chrise Clarka bych zařadil mezi poměrně zajímavé, protože pojednávala o úskalích a možnostech upgradu serverových pluginů na cloudové appky, což je v naší firmě poměrně aktuální téma. Chris prošel možnosti využití migračních asistentů a co to znamená pro vývoj aplikací, aby těchto asistentů uměli využít. Zdůraznil, že před samotným rozhodnutím pro migraci do cloudu je potřeba si položit několik otázek, jako například zda plugin má v cloudovém API protějšky funkcí, které jsou pro plugin stěžejní nebo například zda je možné automatizovat migraci dat. Pokud se firma rozhodne vyvinout cloudovou verzi některého svého pluginu, tak je důležité poskytnout danému Atlassian nástroji také tzv. „Migration path“ pro automatizovatelnost migrace.
Další zajímavou přednáškou, kterou bych rád z prvního dne vypíchl, byla Monitoring As Code: How to Integrate App Monitoring Into Your Developer Cycle od Remieho Bolta, který mluvil o monitoringu aplikací z trochu jiné perspektivy, než jsme zvyklí. Vcelku standardním přístupem k monitorování aplikací se dá považovat využití nějakého nástroje, který si na naši aplikaci napíchneme a pomocí jeho API odesíláme nějaká data, která posléze vyhodnocujeme. Nicméně Remie ve své přednášce naznačil metodiku „Monitoring as Code“, kde si člověk jednoduše píše svůj vlastní monitorovací kód s využitím přístupů, které zajišťují udržovatelnost kódu a nezanesení business logiky nějakým infrastrukturním kódem.
Z prvního dne konference ještě stojí za zmínku přednáška o novém Atlassian Document Formatu od Patrika Streule, což je architekt přímo z Atlassianu. Patrik nám představil formát umožňující práci se strukturovanými dokumenty a ukázal několik nástrojů, které s nimi umí šikovně operovat.
První den přednášek jsme zakončili pivečkem z místního vídeňského minipivovaru a při té příležitosti jsme navázali kontakt s Atlassian partnery z Indie a porovnali portfolio služeb, které nabízí jejich firma a my.
Vojtův 2. den:
Druhý den byl pro nás poměrně překvapivý, protože drtivá většina přednášek se točila kolem jednoho tématu, a tím bylo Forge. Abych uvedl o co jde: jedná se o úplně nový framework pro vývoj pluginů pro Atlassian cloud, který ovšem ještě není venku a je stále ve fázi vývoje, ale Atlassian už jej čile propaguje na konferencích. Zatímco u Atlassian Connect přístupu píšeme cloudové pluginy jako samostatné aplikace v Jira, Confluence…, dáváme jen deskriptor toho, kde má zobrazit jaký iframe a na jaký náš endpoint se dotázat na obsah iframu. Forge je API, kde vývojář využívá předdefinovaných elementů pro daný nástroj a tím pádem se opět blíží k principu vývoje jako u serveru.
Tím, že Forge ještě není venku ani v beta verzi, tak si Atlassian veškeré informace o něm uchovává v tajnosti, takže nikde zatím nenajdete žádné specifikace, ani nástin toho, jak by to mělo v budoucnu fungovat. Dokonce ani přednášky z Atlas Campu, které se Forge věnovaly, nemají veřejně dostupné videozáznamy. Takže nezbývá, než se těšit, až to Atlassian pustí ven a my se s Forge budeme moct seznámit blíž. Předběžně by k tomu mělo dojít začátkem roku 2020, ale prý se datum ještě může změnit.
Martinův 1. a 2. den:
Oproti Vojtovi nebudu dny rozdělovat a vezmu to od toho nejzajímavějšího. Musím se přiznat, že z povahy mé profese věci jsou pro mě nejzajímavější přednášky ty, ve kterých je nenulové množství slidů s prezentací zdrojového kódu a odkazy do GITu. Mezi takové přednášky bych zařadil na první místo přednášku Declaring Server App Components in Pure Java a Pracical Patterns for Developing a Cross-product Cross-version App. První z přednášek nám představila nový způsob deklarace komponent pomocí Javy. Tzn. není zde použit Spring Scanner a komponenty nejsou definovány ani v deskriptor souboru, ale vše je řešeno pomocí standardních Spring Configuration Beans. Navíc Atlassian pro zjednodušení práce s OSGi frameworkem připravil vlastní knihovnu, která pomáhá registrovat komponenty mimo OSGi modul a zároveň importovat externí komponenty. Nejlepší je, že jednotlivé komponenty můžete použít pomocí conditions v různých kontextech (aktuální produkt, verze, system property apod.)
Druhá zmíněná přednáška se věnovala problematice udržování aplikací ve stavu, aby byly schopné běhat nad různými verzemi Atlassian produktů a také různými Atlassian produkty. Zavádí pojem bridge, což je podle přednášky komponenta, která výslednému produktu dovolí co nejvíce se odstínit od Atlassian API a tím snížit náročnost údržby aplikace. Ukazuje také jak je možné použít vlastní anotaci a na jejím základě řešit použití bridge pro konkrétní verzi Atlassian produktu nebo celého produktu.
Třetí, pro mě, nejzajímavější přednáškou bylo Integration Testing on Steroids: Run Your Tests on the Real Things.Přednáška navazovala na přednášku z minulého roku, která se věnovala použití Arquillian. Přednáška z roku 2018 je zde zhodnocena z pohledu člověka, který používá Arquillian jako framework pro „integrační“ testy a základem je právě loňská přednáška vývojářů Adaptavistu. V letošní přednášce je použití rozvedeno a v neposlední řadě integrováno do Bitbucket pipelines kvůli automatizaci těchto integračních testů.
Poslední přednáška, kterou zmíním je představení novinek v rámci release Confluence ve verzi 7.0. Usman Khalid nám představil knihovny upgradované v rámci tohoto releasu. Zmínil také, kolik kódu v rámci prací na nové verzi bylo smazáno. Nově byly do Confluence přidány nástroje na snadnější migraci mezi verzemi Confluence.
Jak Atlas Camp 2019 hodnotíte celkově?
Vojta: Na závěr bych konferenci celkově zhodnotil jako zajímavou a pro naši firmu přínosnou – odnesli jsme si poznatky, které aplikujeme na konkrétních projektech. Zázemí bylo odpovídající a jídlo výborné (a zadarmo! ).
Martin: S Vojtou musím souhlasit stran kvality občerstvení (pokud pominu druhy piva – ale dal se vybrat pitelný druh ). Co se týká mnou navštívených přednášek, musím říct, že mě vyloženě nakopla, motivovala a příjemně překvapila asi jedna třetina z nich. U přednášek, které jsem zde zmínil bych nejraději seděl dvojnásobný čas a spoustu jiných přednášek bych raději ani neabsolvoval, protože pro mě nebyly přínosné a několikrát se stalo, že pro Atlassian vývojáře specializujícího se prozatím na customizace serverových řešení nebyla ani jedna z přednášek v daný čas zajímavá. Přičítám to jak velkému množství témat (server, cloud, datacenter, jira, confluence, bitbucket) tak mé užší specializaci, kterou je vývoj backendu pro pluginy běžící nad Atlassian produkty (většinou Jira). Věřím, že pokud bych byl i JS / React / Angular vývojář, našel bych si více přednášek, které by pro mě byly zajímavé.