A Red Hat Information Technology egy új köztesréteg architektúrát hozott létre a belsőleg fejlesztett alkalmazásokhoz. Habár számos saját célra fejlesztett alkalmazás a nyílt forráskódú megoldások nyújtotta előnyöket élvezi, a Red Hat történelmileg több Tomcat és Perl-alapú belső megoldással is rendelkezik, ami nem használja a JBoss alkalmazáskészlet minden előnyét.
A Red Hat az új köztesréteg architektúrát a JBoss technológiát alapul véve határozta meg. Ez magában foglal egy Enterprise Service Bust (ESB), ami egy szolgáltatás-orientált architektúrát (SOA) implementál; a Seamet, ami a JBoss integrációs keretrendszere; a JBoss Business Process Modeling készletet (jBPM); valamint a Drools-t, a JBoss folyamatkezelő környezetét.
A teljes készlet Red Hat Enterprise Linuxon fut, mely a virtualizációhoz, létesítéshez, konfigurációhoz és további funkcionalitáshoz szükséges operációs rendszer eszközöket aknázza ki. A teljes technikai architektúra a Cobbler/Koant, JBoss SOA-t, a Xent, az LVM-et, a Gitet és további rendszereket is magában foglal.
Architektúra keretrendszer
Az új köztesréteg architektúrát a Red Hat a Zachman keretrendszer elemeként határozta meg, melyben az adatokat, a funkciókat, a hálózatokat, az embereket, az időt és a motivációt a hatáskörre, az üzleti modellre, a rendszer-modellre, a technológia modellre és a prezentációra vetítve határozza meg. Az ebben az architektúrában rejlő lehetőségek jelentős rugalmasságot nyújtanak, emellett lehetővé teszik a Red Hat számára, hogy a jövőbeli terveknek megfelelően implementálja projektjeit. Végül az architektúra lehetővé teszi a komplexitás csökkentése mellett azt, hogy a Red Hat az üzleti felhasználóknak a megfelelő funkcionalitást nyújtsa.
Architektúra definíció
Az architektúra belsőleg használt neve Everest. Az egyik kulcsfontosságú alapot képező elemek között említhetjük a Logical Volume Managert (LVM), mely támogatja a virtualizált vendég operációs rendszereket és a Xen virtualizációt a különböző környezetek kezelésének és alkalmazásának elősegítése érdekében.
A Red Hat a JBoss Enterprise SOA Platformot használja annak érdekében, hogy megvalósuljon a komponensek laza, SOA-szintű összekapcsolódása, az üzenetküldési infrastruktúra, a folyamatok összehangolása, a protokollok átfordítása, a változások kezelése, a minőségbiztosítási szolgáltatás, a védelem (titkosítás és biztonság) minősége és a menedzsment szolgáltatások. A JBoss Seam az alkalmazási keretrendszer számára egységesítő és integráló webszolgáltatásokat nyújt, emellet a fejlesztők számára csökkenti az összetettséget.
A Git az új architektúrában forráskód-kezelést nyújt. A Git egy rugalmas, elosztott, internet kapcsolat nélkül használható (offline) kódkezelő-eszköz, mely a korábbi Red Hat megoldások hiányosságait válaszolja meg, valamint támogatja a parallel fejlesztést és az együttműködést, emellett konzisztensen alkalmazható forráskód-fa karbantartási képességet is nyújt. A Git használata a forráskód változtatásainak kisebb, tisztább készletét eredményezi.
Habár a Puppet nem alapvető része a futásidejű architektúrának, egy fontos architekturális komponens. A Puppet egy konfiguráció menedzsment eszköz, mely konténert és rendszerkonfigurációt nyújt, és élesüzemben módosítás nélkül alkalmazható. A Puppet a Red Hat Release Engineering csapatot is felszabadítja számos kézi tesztelési lépés alól, mellyel lehetővé teszi, hogy csupán az ellenőrzésre és megjelentetésre összpontosítsanak.
Természetesen a teljes környezet Red Hat Enterprise Linuxon fut. A Red Hat fejlesztői emellett Fedorát is használhatnak majd alternatív operációs rendszerként a fejlesztési munkaállomásaikhoz.
Architektúra létesítés
Az első kihívások egyike az architektúra csapat számára az volt, hogy olyan rendszereket kellett létesíteniük, melyek megfelelnek az új architektúrának. Az alkalmazás implementációja 20 féle géptípust támogat a webes proxy szervertől az LDAP szerverig.
A legáltalánosabb géptípusok közé tartoznak a hoszt gépek, a tárház gépek és a JBoss fejlesztési gépek. A hoszt géptípus virtuális vendégrendszereket hosztol az Everest környezetben. Emellett megfelelő grafikai felhasználói desktop felületet, automatizált NFS saját könyvtárakat, Kerberos bejelentkezést, Xen virtualizációt, valamint hozzáférést nyújt az összes Everest eszközhöz.
A tárházgép az Everest alapja. A tárházgépek önmagukat létesítik, konfigurálják valamint tárolnak minden jellemzőt. A tárházgépek képesek minden másfajta géptípust létrehozni, beleértve más tárház gépeket is. A tárházgépek jellemzői közé tartozik a Cobbler az RPM-hez és a létesítéshez, a Puppetmaster a konfigurációhoz, az Artifactory Maven proxy, a Git tárházak a /pub/git alatti tartalom eléréséhez, valamint a gitweb.
A JBoss fejlesztési gép több géptípus egyesítéséből jön létre. (Az architektúra egyik jellemzője, hogy a fejlesztéshez konszolidálni képes géptípusokat, később pedig az élesüzemhez azokat részekre tudja bontani.) A JBoss fejlesztési gép további jellemzői közé tartozik, hogy használható közvetlen hardverrel vagy virtuális környezettel, távoli eléréssel, SUN JDK-val, Apache proxy-val, JBoss Enterprise Application Platformmal(EAP), JBoss Enterprise Service Bus-szal (ESB), MySQL-es JBoss adattárolással, valamint olyan fejlesztőeszközökkel, mint például az Eclipse, a Git és a Maven, a gitweb, vagy pedig a Git démon.
Létesítés Cobblerrel és Koannal
A Cobbler egy létesítő és frissítő szerver, mely a létesítéseket hálózati bootolással, virtualizációval és meglévő rendszerek újratelepítésével támogatja. A Cobbler jelentős előnye, hogy több technológiát integrál és nem fontos, hogy a felhasználó mindegyikkel részletesen tisztában legyen. A Cobbler frissítési jellemzői integrálják a yum tükrözést és a kickstartot is.
A Koan a „Kickstart hálózaton keresztül” kifejezés (Kickstart over a Network) rövidítése, ami egy olyan fejlődő technológia, mely gépeket távoli Cobbler szerverekről konfigurál. A Koan a virtualizáció használatát is lehetővé teszi, valamint az újbóli telepítést egy Cobbler szerverről.
Általánosságban a Red Hat támogatja az új technológia által nyújtott lehetőségeket és képességeket, melyek lehetővé teszik a technikai stratégia végrehajtását. A JBoss-szal járó méretezhetőségi és helyreállítási megoldások jelentős előnyöket nyújtanak majd, csakúgy, mint az képesség, hogy a leginnovatívabb alkalmazási megoldásokat egy általános készlet használatával integrálják, valamint az ebből létrejövő alkalmazásokat webes környezetekben alkalmazzák általános eszközök használatával.