Egyéb informatika

Cikkek informatika témában, amik más kategóriákba nem fértek bele

Angol tanulás online: Youtube videók

Angol szavakat tartalmazó tábla a pixabay.com-ról

Ahogy sok más területen, az informatikában is nagyon fontos az angol nyelv ismerete. Tetszik vagy sem, elterjedtsége miatt rengeteg információ angol nyelven érhető el, vagy angolul beszélsz ügyfelekkel, vagy adott esetben akár a kollégákkal még akkor is, ha nem utazol külföldre. Jómagam sok év német nyelv tanulása után tanfolyamok segítségével letettem az angol nyelvvizsgát, de ez nem jelentette azt, hogy magabiztosan tudnék beszélni angolul, vagy megérteném az angol filmeket folyamatos visszapörgetés nélkül. Elhatároztam, hogy ezen változtatok, de az időbeosztásom miatt elsősorban online lehetőségek után nézek. Így jutottam el a Youtube-ra. A cikkben bemutatom az általam követett oktatókat.

Megosztás/Mentés

Ansible változók és precedenciájuk

Prioritás pecsét kép a pixabay.com-ról

Az előző cikkben kaphattál egy átfogó képet az Ansible 2.8-ról, és a példák segítségével bele is kóstolhattál a használatába. Nagyon fontos viszont tudnod, hogyan használhatsz változókat és egyáltalán milyen változók vannak milyen precedenciával, avagy prioritással, illetve mi közöttük a különbség. Fontos azért, mert a dinamikus beállításokkal rugalmasabbá teszed a konfigurációt, de a helytelen alkalmazásukkal sok bosszúságot okozhatsz magadnak. Továbbra is a 2.8-as Ansible-nél maradva olyan ismeretekhez juthatsz a cikk segítségével, amivel már bátran készíthetsz dinamikusabb Ansible playbookokat is. A cikk-ben bemutatott példákat az itsziget/ansible-examples GitHub projektben is megtalálhatod. Ügyelj arra, hogy a cikkből kattintva jutsz el a projekthez, hogy biztosan a megfelelő verziót találd meg javítás esetén is.

Megosztás/Mentés

Ansible alapok

Ansible logo a Wikimedia.org-ról

Többször írtam már a Dockerről, aminek sok előnyét lehet említeni, de ez nem jelenti azt, hogy ne maradna olyan feladat, amit ettől függetlenül meg kellene oldani. Elég csak arra gondolni, hogy már a Dockert is telepíteni kell. Nem beszélve az egyéb nem, vagy nehezen konténerizálható szolgáltatásokról és azok függőségeiről, illetve az éppen a Docker miatt felmerülő további feladatokról.

Természetesen ez a két szoftver egymástól függetlenül használható, de ha a Docker szóba kerül, nagyon gyakran felmerül az Ansible is, mint eszköz. A segítségével azok a műveletek is leírhatók és verziózhatók, amik nem spórolhatók meg Docker image-ek létrehozásával.

Ez persze még nem minden, ráadásul alternatívák is vannak az Ansible-re, én viszont ebben a cikkben az Ansible 2.8 alapjairól fogok írni.

Megosztás/Mentés

Speciális tesztkörnyezet, avagy SNMP a Dockerdőben

Nyomtató kép a pixabay.com-ról

Minden szoftvernek biztosítani kell egy tesztkörnyezetet. Ez néha nagyon egyszerű, néha pedig igazán elgondolkodtató. Mi van, ha a tesztelendő szoftvernek egy olyan eszközzel kell kommunikálnia, amit nem lehet minden sarkon beszerezni, ráadásul helyhez kötött, a fejlesztés viszont nem? Ebben a cikkben nyomtatókkal történő SNMP kommunikációról fogok mesélni Docker környezetben. Mivel tud segíteni és mi okoz némi fejtörést a konténerek világában.

Megosztás/Mentés

Composer helyes használata Dockerrel

composer logo a getcomposer.com-ról

A Composer a PHP függőségkezelője, ami szintén PHP nyelven lett megírva, és jellemzően egy composer.phar nevű fájl telepítésével használjuk a projekt gyökeréből vagy rendszermappából. Éles környezetben nem szükséges a webszerveren lennie, csak a függőségek letöltéséhez szükséges. De akkor miért is kérdés egyáltalán a Dockerrel használata? Ha tovább olvasod a cikket, hamarosan megtudod.

Megosztás/Mentés

PHP alkalmazás fejlesztése Docker konténerekkel

php elefánt kép pixabay.com-ról

Az előző részben megmutattam, hogyan lehet statikus tartalmakat, kliensoldali webes alkalmazásokat fejleszteni és közzétenni Docker konténerben, most viszont a szerveroldali programokon a sor. Ebben az esetben az komplikálja a feladatot, hogy már nem elég a kliensnek odaadni a programfájlokat, azokat szerveroldalon kell értelmezni. Ez persze nem feltétlen jelentene önmagában problémát, mivel az értelmező és a szerver lehet egy konténerben is. PHP alkalmazásnál viszont érdemes külön konténerben futtatni a PHP értelmezőt és a webszervert. Az alábbiakban ennek mikéntjéről fogok írni.

Megosztás/Mentés

A Docker hálózatkezelése

hálózati kábel kép pixabay.com-ról

Alap szinten nem sokat kell tudni arról, hogy milyen hálózattípusok vannak a Docker konténerek esetén. Rá lehet bízni a Dockerre, hogy hozza létre, ami szükséges, hiszen neked az eredmény kell, nem az oda vezető út. Mégis érdemes kicsit elmélyedni benne, mivel több olyan kérdésre választ adhatnak, amire nem is gondolnád, hogy kíváncsi vagy. Még nem... Olyan szituációkra gondolok, hogy miért ilyen IP-t kapott a konténer, miért nem látod az IP címét, miért nem éred el úgy, mint máskor és mi az ördög az az ingress vagy overlay és miért volt baj, hogy letörölted. Ahogy próbáltam megérteni a hálózatok működését, magam is úgy jöttem rá, hogy eddig tévedésben éltem. Úgy gondolom, hogy most már tisztábban látok, és ezt fogom összegezni a következőkben.

Megosztás/Mentés

Apache HTTPD és statikus tartalmak Dockerrel

http kép pixabay.com-ról

Amióta a témával foglalkozom, hallottam olyan véleményt, hogy a Docker csak fejlesztésre jó, élesben nem. De olyat is, hogy élesben jó, de fejlesztésre alkalmatlan. Az igazság az, hogy mindkettőre jó, de egy sor olyan dolog van, amit másképp kell csinálni. Az is igaz, hogy karddal sem kenünk kenyeret és papírvágó késsel sem vágunk fát, tehát észben kell tartani a célt és ki kell választani a legjobb eszközt. Általánosan viszont nem jelenthető ki az alkalmatlanság. Ha valaki komolyabb webfejlesztéshez szeretné használni a Dockert, előbb tisztában kell lennie a működésével, az alapjaival, és azt is el kell fogadnia, hogy a komolyabb munkákra felkészüléshez talán sokat kell dolgoznia. Egy összetettebb webalkalmazás akár több konténerből is állhat, de most az Apache HTTPD konténerrel való munkát fogom bemutatni egyszerűbb, szerveroldali szkriptet és adatbázist nem igénylő statikus oldalakkal, kliensoldali alkalmazásokkal és azok jelszóval védésével.

Megosztás/Mentés

A Docker telepítése Ubuntu 16.04-re Vagrant segítségével

Vagrant Logó

Különböző operációs rendszereken különböző módon telepíthető a Docker és némelyik esetben valójában egy virtuális gép indul el a háttérben, amire a Docker démon kerül, miközben a gazda operációs rendszeren van a kliens. A telepítésről a dokumentációban részletes leírás található, de fejlesztés közben a legegyszerűbb, amikor a saját desktop Linuxodon telepíted és megúszod a virtuális gépek okozta hálózati és a fájlszinkronizációs problémákat. Ha viszont Windowson futtatsz Linux konténert, elkerülhetetlen a virtuális gép. Megfelelő erőforrás esetén egy virtuális desktop Linux telepítése is megoldás lehet, de hogy egy másik hasznos szoftvert is bemutassak, ami ráadásul hasonlít a Dockerhez bizonyos szempontból, a Vagrantot fogom segítségül hívni, hogy leírjam a Docker telepítését. A gépet előre elkészítettem és elérhetővé tettem a Vagrant Cloud‑on. Az elkészítéséhez szükséges forráskódot pedig a GitHub-on. A cikkben ismertetem a Vagrant fontosabb tulajdonságait, hibalehetőségeket és a desktop Ubuntu 16.04-ben, Vagranttal telepített, Dockert tartalmazó gép telepítésének menetét.

Megjegyzés: Ubuntu 16.04 felhasználók a Vagrant telepítését és a virtuális gép használatát akár ki is hagyhatják.

Megosztás/Mentés

A Docker és a tripla M. Miből mennyit és miért

Puzzle kép pixabay.com-ról

A Docker újoncai között gyakran nem egészen tiszta, hogy függ össze a futtatandó alkalmazás, akár webes szolgáltatás és a működését biztosító webszerver, illetve az ahhoz szükséges komponensek, mint például a PHP értelmező. Hol találkoznak egymással és milyen szoros kapcsolat van közöttük. Az a gondolkodásmód már nem működik, hogy összeállítasz egy vagy több webszervert és szépen egymás mellé sorakoztatod a weboldalakat virtuális hosztok segítségével. Persze, meg lehet oldani, de lemondanál a Docker legnagyobb előnyeiről. A kulcs az, hogy a szoftver szemszögéből közelíted meg a problémát. A kérdés pedig, hogy ebben az esetben miből mennyire van szükség és egyáltalán miért. Túl a különböző verziószámokon kényelmi és teljesítmény kérdések is befolyásolják a döntést. Nézzük, hogyan!

Megosztás/Mentés