Az 1993-ban alapított USA központú EPAM Systems mára a világ vezető szoftver- és platformfejlesztési megoldásokat kínáló cégévé vált. Fő tevékenysége a nemzetközi, piacvezető ügyfelek digitális transzformációját elősegítő informatikai platformok fejlesztése, szoftveralapú komplex megoldások bevezetése a kapcsolódó tanácsadási tevékenységekkel együtt. Több mint 61 600 szoftvermérnökkel dolgozik a világ 45+ országában, 5 kontinensen. Magyarországon több, mint 2000 főt alkalmaz Budapesten, Debrecenben és Szegeden működő irodáiban. Az EPAM számos elismeréssel rendelkező dinamikusan fejlődő cég, amely az utóbbi három évben a leggyorsabban növekvő technológia vállalat a Fortune 100 listáján, illetve 2021-ben a PwC éves munkaerőpiaci preferencia felmérésében a top 3 legvonzóbb vállalat között szerepelt a technológia kategóriában Magyarországon. Az EPAM irodái digitális laboratóriumok, ügyfelei pedig a világ legjelentősebb vállalatai.
Chris Howard-ot (Open Source Lead, EPAM Systems Inc.) és Nagy István Zoltánt, a Szabad Szoftver konferencia egyik előadóját kérdeztük az nyílt forráskódú rendszerekkel kapcsolatban: előbbit az EPAM általános megközelítéséről, Istvánt, vagy, ahogy EPAM-os és szakmai körökben ismerik, Estát, az előadásának témája, az Azure Key Vault kapcsán.
Computerworld: Az EPAM milyen projektekben használja a nyílt forráskódú rendszereket?
Chris Howard: Az EPAM-on belül hatékony fejlesztési módszerként tekintünk a nyílt forráskódra, mivel egyedülálló lehetőséget kínál a hasonló gondolkodású fejlesztőkkel való együttműködésre, szerte a világon. Elkötelezettek vagyunk a nyílt forráskód mellett, egyrészt, mint felhasználó, illetve alkalomadtán, mint szolgáltató is. Olyan céges kultúrát építettünk ki és tartunk fenn, mely lehetővé teszi a szoftvermérnökeink, fejlesztőink számára, hogy munkájuk során nyílt forráskódú megoldásokat alkalmazzanak, nem csak a belső projektek, hanem az ügyfeleknek szállított projektek során is. Röviden válaszolva, a legkisebb projektektől kezdve, a kollégákat támogató keretrendszereken át a nagy iparági adatmodellekig és eszközökig az EPAM nyílt forráskódú projektjeinek skálája hihetetlenül változatos.
CW: Van kiemelkedően sikeres projektjük a zárt kódú rendszerekkel szemben vagy azok kiegészítésére?
Chris Howard: A több mint 70 karbantartott nyílt forráskódú megoldással, amelyek többsége eredetileg saját projekt, vagy külső megbízások eredménye, számos sikeres megoldás van, amelyeket a nyílt forráskódú licenc alatt tettünk elérhetővé. Példa erre az úgynevezett ReportPortal, egy mesterséges intelligencia által vezérelt tesztautomatizálási irányítópult, amelyet több mint 60 EPAM-ügyfél használ, és közel 15,000 csillaggal rendelkezik a GitHub-on, ami önmagában bizonyítja az EPAM által tervezett nyílt forráskódú megoldások értékét és lehetőségeit. Magát az eszközt immár szakértők a világ minden tájáról közösen tartják karban és építik.
Legfrissebb fejlesztéseink a FINOS-hoz, a Fintech Open Source Foundation-höz tartalmazták a "GLUE"-t, egy eszköz- és vagyonkezelőket irányító mögöttes adatmodellt, valamint a "Timebase Community Edition"-t, egy idősoros adatbázist a pénzügyi területekre. Mindkét megoldás pozitív megerősítést kapott a bankoktól és a pénzintézetektől, és új lehetőségeket kínál a szigorúan szabályozott iparágak munkamódszereinek szabványosítására.
CW: A fizetős, hagyományosan zárt technológiák mennyire illeszthetők a nyílt forráskódú "világba", van megfelelő API?
Chris Howard: A nyílt forráskódú világ hatalmas, végtelen számú megoldással, amelyeket úgy terveztek, hogy megfeleljenek az ügyfelek igényeinek. Azonban pusztán azért, mert léteznek ilyen lehetőségek, nem feltétlenül jelenti azt, hogy minden esetben ezeket kell használni. Csupán egy nyílt forráskódú megoldás kiválasztása a szükséges szakértelem nélkül sok esetben nem biztosítja a várt eredményt a szervezet számára, bár ez egyáltalán nem tekinthető akadálynak a nyílt forráskóddal szemben.
Az EPAM-ban mindig is ügyfeleink egyedi igényeihez alkalmazkodva a legjobban működő technológiát kínáljuk, ami jelenti azt is, hogy olyan megoldásokat tervezzünk, melyek nyílt forráskódú alapokra épülnek vagy legalábbis integrációt biztosítanak a nyílt forráskódú rendszerekhez.
A nyílt forráskódú, valamint a népszerű zárt és szabadalmaztatott technológiák közösségi kiadásai egyre népszerűbbek. Ezek az "ingyenes" verziók lehetővé teszik a szoftverfejlesztők számára a világ minden tájáról, hogy hozzáférjenek a kódbázishoz, megértsék azt és ezáltal ezen eszközök előnyeit élvezni tudják. Így ők is kulcsszerepet játszhatnak az új funkciók kialakításában és fejlesztésében, hiszen felhívják a figyelmet az adat- és működési problémákra a mindennapi használat közben. A nyílt forráskódú világ ezért egyre inkább "nyitott karok" megközelítést alkalmaz a zárt, hagyományosan fizetős megoldásokkal való integrációkkal szemben, hogy még közelebb kerüljön a nagyvállalati környezethez, és továbbra is ösztönözze az úgynevezett upstream hozzájárulásokat.
CW: Az ügyfelek részéről mennyire elfogadott a nyílt forráskódú technológia? Esetleg kimondottan kérik az ilyen megoldásokat?
Chris Howard: Tekintve, hogy a Fortune 500-as cégek 99%-a jelenleg nyílt forráskódú szoftvert használ, és az összes vállalati szoftver 35%-a pedig nyílt forráskódon alapul (forrás: shorturl.at/afyBV) nem meglepő, hogy a nyílt forráskódú szoftverek egyre elfogadottabbak, egyre több ügyfél fogadja el szervezetén belül.
Az ügyfelek nem csak kifejezetten azt kérdezik az EPAM-tól, hogy hogyan kapcsolódhatnak be a nyílt forráskódú megoldásokba, hanem azt is kihasználják, hogy az EPAM szakemberei nyílt forráskódú tapasztalattal is rendelkeznek, hiszen ezek segítenek karbantartani és hozzájárulni azokhoz a nyílt forráskódú megoldásokhoz, amelyektől a vállalkozásuk függ. Az EPAM által tervezett és fenntartott Open Source Contributor Index (https://opensourceindex.io/) a világ számos legnagyobb szervezetét tartalmazza, köztük több EPAM-ügyfelet, akik mind aktívan hozzájárulnak a nyílt forráskódhoz, és demonstrálják a nyílt forráskódú technológiák iránti elkötelezettségüket.
Az utóbbi időben, tekintve, hogy egyre nagyobb jelentőséget tulajdonítanak a nyílt forráskódnak, a vállalatok saját nyílt forráskódú szervezeten belüli egységeket igyekeznek létrehozni vagy megerősíteni, és sokszor az EPAM-ot, mint kulcsfontosságú partnert hívják segítségül. Nagy a kereslet a tanácsadásra, beleértve a nyílt forráskód felhasználásával és hozzájárulásával kapcsolatos felméréseket, irányelveket, és megfelelőséget. Abban az egyedülálló helyzetben vagyunk, hogy tanácsot tudunk adni fejlesztési és infrastrukturális változások esetén, melyek még inkább elősegítik a további nyílt forráskódú megoldások terjedését.
CW: Mennyire támogatja a cég a fejlesztőik saját, nyílt forráskódú projektjeit? Ezek közvetlenül kapcsolódnak a munkájukhoz?
Chris Howard: Az EPAM aktívan ösztönzi a fejlesztőket, hogy vegyenek részt nyílt forráskódú projektekben, és szervezetként büszkék vagyunk arra, hogy munkavállalóink között sok un. "projektfenntartó" található. Kollégáink javarészt EPAM projekteken dolgoznak, de gyakran saját fejlesztésbe is kezdenek, sőt, olyan iparági projektekhez is hozzájárulnak, mint a Kubernetes, a Drupal és az Apache.
Kulcsfontosságú számunkra a fejlesztők támogatása a nyílt forráskódú projekteken való munkájuk során, van erre könnyen átlátható folyamatleírás és motivációs rendszer is. Véleményünk szerint azok a kezdeményezések, amelyek még több szakembert vonnak be a nyílt forráskód világába, létfontosságúak nem csak a jövőbeli együttműködések miatt, hanem hogy egy közös tudásszintre felhozzák a szoftvermérnököket, így magabiztosan tudnak nyílt forráskódú megoldásokat alkalmazni. Egy erős közösség és egy támogatói háttér, mely elismeri a közreműködőket valódi értéket teremt, és komoly vonzóerőt is jelent az EPAM-nál.
CW: Számos esetben fejlesztői adatbázisokban találnak olyan ügyféladatokhoz tartozó jelszavakat, amelyek megszerzésével felhasználói adatokat lehet ellopni. Véd-e ez ellen az Azure Key Vault és a hasonló megoldások?
Nagy István Zoltán: A szoftverbiztonság területén aligha lehet olyan megoldásról beszélni, ami egymaga hatékony védelmet nyújt minden jogosulatlan hozzáférés ellen, de az adatbázisok eléréséhez használt adatok titokban tartása egy a sok jó követendő példa közül, amelyek együttes alkalmazása segít megnehezíteni a támadók dolgát. Az Azure Key Vault, vagy más hasonló megoldások megfelelő használata segít abban, hogy ne kelljen a jelszavakat a forráskód mellett tárolni. Emellett, számos más előnye is lehet, például segít a fejlesztőknek titkosítani az adatbázis tartalmát, vagy akár abban, hogy ne kelljen frissíteni vagy újraindítani a rendszert, ha menet közben szeretnénk a jelszavakat időről időre lecserélni.
CW: A fejlesztést a Lowkey Vault hogyan könnyíti meg? Ezzel lényegében egy dummy adatbázist lehet bekötni, hogy ne éles adatokat tartalmazó adatbázissal kelljen tesztelni?
Nagy István Zoltán: A Lowkey Vault lényegében az Azure Key Vault viselkedését szimulálja a tesztelés korai fázisaiban. Így könnyebben megvalósíthatóak és használhatóak azon integrációs tesztek, amelyek az Azure Key Vault integráció milyenségét hivatottak tesztelni még akkor is, ha a tesztkörnyezet nem fér hozzá az Azure szolgáltatásokhoz.
CW: Ha alapesetben nyílt forráskódú megoldásokat használ valaki, miért érdemes pont a Microsoft Azure szolgáltatásait, akár a Lowkey Vaultot használnia? Nincs olyan nyílt forráskódú szolgáltatás, ami hasonló feladatra alkalmas lenne?
Nagy István Zoltán: Mára már a Microsoft sokkal szorosabb kapcsolatot ápol a nyílt forráskódú közösséggel, ők maguk is népszerűsítenek nyílt forráskódú megoldásokat az Azure szolgáltatások között. Így nem is annyira alternatíváról lehet beszélni, hanem lehet nyílt forráskódú szoftvereket használni más Azure szolgáltatásokkal együtt. Természetesen, ha valaki nem szeretne az Azure zárt forráskódú megoldásaival foglalkozni, akkor használhat más alternatívákat akár az Azure Key Vault helyett is, csak ez esetben le kell mondania a vele járó előnyökről, például a hardveres biztonsági modul (HSM) olcsó használatáról.
CW: Egy tipikus fejlesztő számára a Key Vault használata nagyjából mennyi időt takarít meg?
Nagy István Zoltán: Nehéz konkrét számokat mondani itt, mivel az Azure Key Vault használatának több aspektusa is szóba tud kerülni: mennyi ideig tart integrálni, mennyi időt töltünk a tesztek megírásával, a teszt környezet létrehozásával vagy felszabadításával, egy-egy teszt karbantartásával… Ennek ellenére, ha egy projekt szeretne Azure Key Vault-ot használni, akkor a Lowkey Vault, mint egyszer-használatos tesztadatbázis ezen szempontok többségére segít könnyebben választ találni, akár pár sor kód segítségével.
CW: Milyen fejlesztőeszközöket ajánlanának egy kezdő fejlesztőknek, hogy leghatékonyabban tudjanak dolgozni, és ne elavult eszközökkel fecséreljék az idejüket?
Nagy István Zoltán: Bármely nyelvről vagy területről is legyen szó, érdemes megnézni a vonatkozó trendeket és olyan eszközöket, megoldásokat használni, amelyek elterjedtek és aktívan karban vannak tartva. Mondjuk a Java esetén az egyik legismertebb integrált fejlesztői környezet, az IntelliJ IDEA, az egyik legnépszerűbb keretrendszer pedig a Spring Framework és a hozzá tartozó modulok.
Nagy István Zoltán
Több mint 12 éve foglalkozik szoftverfejlesztéssel Java nyelven. Egyetemi évei során találkozott a szabad szoftverekkel és azóta is lenyűgözőnek tartja őket. 2018 óta ő maga is nyílt forráskódú projektek indításába kezdett. Annak ellenére, hogy ezeket saját maga "szórakoztatására" indította, hasznos és érdekes megoldásokat adhatnak valós problémákra.