Célközönség
Fejlesztő vagy, aki szeretné a karrierjét a fejlettebb DevOps modell felé terelni? Klasszikus Ops mérnök vagy, és szeretnél betekintést nyerni, hogy mit jelent a DevOps? Vagy sem az, sem a másik nem vagy, és miután eltöltöttél egy kis időt az IT területén, szeretnél váltani, de fogalmad sincs, hol kezdjed?
Ha igen, olvass tovább, hogy megtudd, hogyan lehet középszintű DevOps mérnök néhány hónap alatt! Végül, ha már évek óta foglalkozol DevOps-al, akkor is sok hasznos dolgot megtudhatsz ebből a ciklből, és láthatod, hol tart most az integrációs és automatizálási ipar, és hová tart.

Mi is az a DevOps?
Először is, mi a DevOps? Megkeresheted a definíciókat és átrágva magad az összes hangzatos szón, de tudd, hogy a definíciók zöme egyszerű szavak zagyvaléka. Ezért itt a lényeg: a DevOps egy olyan szoftverkiadási mód, amelyben a felelősség és a probléma minden érintett között megoszlik. Ennyi az egész.
Rendben, de mit jelent a rövidítés? Ez azt jelenti, hogy a fejlesztők (akik szoftvert készítenek) hagyományosan olyan ösztönzőktől irányították a munkájukat, amelyek jelentősen különböztek az Operations (üzemeltetők) ösztönzőitől. Például, mint fejlesztő, szeretnék minél gyorsabban minél több új funkciót létrehozni. Végül is ez a dolgom, és ezt várják el az ügyfelek! De ha én egy Ops ember vagyok, akkor minél kevesebb új funkcióra van szükségem, mert minden új funkció változást jelent, és minden változás hibákat hozhat magával. Az ösztönzők ilyen eltérése vezetett a DevOps születéséhez.
A DevOps megpróbálja egyesíteni a fejlesztést és az üzemeltetést (integrációt és automatizálást) egy csoportba. Az ötlet az, hogy mostantól egy csoport közösen osztozik a fájdalmán és felelősségén (és valószínűleg jutalmán) a vevőorientált szoftver fejlesztésében, telepítésében és jövedelemtermelésében.
A purist will tell you that there is no such thing as a 'DevOps engineer.' 'DevOps is a culture, not a role,' they will say. Of course, from a technical perspective, they are right, but as often happens, this term has gone beyond its original meaning. So, a DevOps engineer is somewhat akin to a 'system engineer 2.0.' In other words, it's someone who understands the software development lifecycle and creates tools and processes for software development to solve classic operational tasks.

DevOps ultimately means creating digital pipelines that take code from a developer's laptop and transform it into revenue from the use of the end product — that is the essence of it. Note that the career choice of DevOps is quite highly compensated, with nearly every company either 'doing DevOps' or claiming to. Regardless of where these companies are located, the overall employment opportunities in DevOps are quite high and imply 'fun' and meaningful employment for years to come.
However, be cautious of companies hiring a 'DevOps team' or 'DevOps department.' Strictly speaking, such things should not exist because ultimately, DevOps is still a culture and a way of delivering software, rather than staffing a new team or creating a department with a trendy name.
Disclaimer
Now, let's put aside the 'Cool-Aid' for a moment and think about this. Have you heard the old saying that 'there are no junior DevOps engineers'? If not, know that this is a popular trope on Reddit and StackOverflow. But what does it mean?
Ez a kifejezés egyszerűen azt jelenti, hogy sokéves tapasztalat szükséges a szerszámok mély megértésével együtt ahhoz, hogy a Senior DevOps valóban hatékony gyakorlóvá válhasson. Sajnos nincs rövid út a cél eléréséhez. Tehát ez nem a rendszer megkerülésére tett kísérlet – nem hiszem, hogy valóban el lehetett volna játszani a Senior DevOps mérnököt csak néhány hónapnyi tapasztalattal ebben az iparágban. A gyorsan változó eszközök és módszerek pontos megértésének elérése évek tapasztalatát igényli, és ez elkerülhetetlen. Azonban van egy majdnem egyetértésben levő (ha úgy tetszik, divatos) eszköz- és fogalommező, amelyet a legtöbb cég használ, és pontosan erről lesz szó.
Ismét, az eszközök különböznek a készségektől, ezért amíg tanulmányozod az eszközöket, győződj meg róla, hogy nem hanyagolod el a készségeidet (interjúk, kapcsolatok kiépítése, írásbeli kommunikáció, hibakeresés stb.). A legfontosabb, hogy ne veszítsd szem elől, amit keresünk – egy teljesen automatizált digitális csővezeték létrehozásának módját, amely az ötleteket jövedelmező kódszeletekké alakítja. Ez az egyetlen és legfontosabb megállapítás az egész cikkből!
Elég a beszédből, mikor kezdhetem el?
Alább található a „DevOps Alapfokú Ismeretek” térképe. Ha mindent elsajátítottál, amit ott található, nyugodtan és őszintén nevezheted magad DevOps mérnöknek! Vagy felhőmérnöknek, ha nem tetszik a 'DevOps' elnevezés.

Ez a térkép az én (és valószínűleg a térségben dolgozó legtöbb ember) elképzelését tárja fel arról, hogy mit kell tudnia a kompetens DevOps mérnöknek. Ez azonban csak vélemény, és természetesen lesznek, akik nem értenek egyet vele. Ez rendben van! Nem a tökéletességre törekszünk, hanem egy szilárd alapra, amelyre valóban lehet építeni.
Ezt a folyamatot fokozatosan, rétegről rétegre kell végigjárnod. Kezdd (és folytasd!) az alapvető alapokkal, először a kék színnel jelölt elemek tanulmányozásával – Linux, Python és AWS. Ezután, ha az idő vagy a munkaerőpiac kereslete engedi, foglalkozz a lila dolgokkal – Golang és Google Cloud.
Őszintén szólva, az alapvető, legfontosabb réteg az, amit végtelenül kell tanulmányoznod. A Linux OS nagyon bonyolult, és évekbe telik, míg elsajátítod. A Python folyamatos gyakorlást igényel, hogy naprakész maradj. Az AWS olyan gyorsan fejlődik, hogy ami ma tudásod része, az egy év múlva csak egy apró részét képviseli a tudásodnak. Miután megtanultad az alapokat, lépj tovább a valós készségek megszerzésére. Ne feledd, hat kék oszlop létezik (Konfigurálás, Verzió, Csomagolás, Telepítés, Indítás, Monitoring), havonta egy-egy tanulmányozásra.

Nyilvánvalóan észrevetted, hogy nincsen fontos lépés a hat hónapos tervünkben – a tesztelés. Szándékosan nem szerepeltetem a térképen, mert a modul írása, integrálás és az átadás-átvételi tesztelések nem könnyűek, és hagyományosan a fejlesztők vállát nyomják. A tesztelési lépés kihagyása azt indokolja, hogy a térkép célja a lehető leggyorsabban elsajátítani a alapvető készségeket és eszközöket. A tesztelési tapasztalat hiányát az író csupán mint kisebb akadályt tekinti a DevOps helyes használatához.
Emellett ne feledd, hogy itt nem egy csomó közömbös technikai zümmögést tanulmányozunk, hanem igyekszünk megérteni azokat az eszközöket, amelyek együttesen egy érthető történetet alkotnak. Ez a történet a folyamat átfogó automatizálását jelenti – egy digitális szalag, amely a biteket mozgásba hozza, mint egy szerelőszalag. Tudod, hogy nem akarsz egy halom eszközt tanulmányozni, és állandóan megállni! A DevOps eszközkészlete gyorsan változik, míg a koncepciók sokkal ritkábban. Ezért törekedj arra, hogy az eszközöket tanulási proxyként használd a magasabb szintű koncepciókhoz.
Rendben, nézzük meg picit mélyebben!
Alapvető ismeretek
A felső lépcső alján, a Foundation felirattal, látni fogja azokat a készségeket, amelyekkel minden DevOps mérnöknek rendelkeznie kell. Ezek a készségek a három iparági „pillér”: operációs rendszer, programozási nyelv és nyilvános felhő magabiztos kezelésével kapcsolatosak. Ezeket nem lehet gyorsan elsajátítani és tovább lépni. Ezeket a készségeket folyamatosan fejleszteni kell, és a velük való bánásmód mesterségét csiszolni, hogy az iparág élvonalában legyen, és aktualizálja a körülötte lévő szakmai környezetet. Nézzük meg őket sorban.
A Linux az a hely, ahol minden működik. Lehet-e csodálatos DevOps gyakorló úgy, hogy teljesen a Microsoft ökoszisztémában marad? Persze, hogy lehet! Nincs olyan törvény, amely megtiltaná a Linux használatát. Azonban vegye figyelembe – habár a Linuxra vonatkozó összes feladatot meg lehet csinálni Windows alatt, ez sokkal fájdalmasabb és kevesebb funkcionális lehetőséggel jár. Jelenleg biztosan feltételezhetjük, hogy Linux tudás nélkül lehetetlen valódi DevOps szakemberré válni, ezért a Linuxot tanulmányoznia kell.
Őszintén szólva, a legjobb módja ennek az, ha egyszerűen telepíti a Linuxot (Fedora vagy Ubuntu) otthon, és amennyire csak tudja, használja. Persze, hogy rengeteg dolgot el fog törni, meg fog akadni a munkafolyamatokban, javítania kell mindent, de így megismeri a Linuxot!

Egyébként Észak-Amerikában a RedHat verziók terjedtebbek, így érdemes a Fedora vagy a CentOS-t választani. Ha azon tűnődik, hogy érdemes-e megvenni a KDE vagy a Gnome kiadást, válassza a KDE-t. Ezt használja maga Linus Torvalds is.
A Python manapság a domináló háttérprogramozási nyelv. Könnyű elkezdeni vele a munkát, széles körben használják. A Python nagyon elterjedt a mesterséges intelligencia és a gépi tanulás területén, tehát ha valaha is szeretne átlépni egy másik forró területre, akkor teljesen felkészült lesz rá.

Amazon Web Services: megint csak, nem lehet tapasztalt DevOps szakemberré válni anélkül, hogy szilárd megértéssel rendelkeznénk a nyilvános felhő működéséről. És ha minél többet szeretne tudni erről, tanulmányozza az Amazon Web Services-t. Ez a szolgáltatási terület vezető szereplője, amely a legszélesebb körű munkaszerszámokat kínálja.
Lehet-e helyette Google Cloud-dal vagy Azure-dal kezdeni? Természetesen! De emlékezve az utolsó pénzügyi válságra, figyelembe kell venni, hogy az AWS a legbiztonságosabb választás, legalábbis 2018-ban, mivel ingyenesen regisztrálhatsz egy fiókot, és elkezdheted felfedezni a felhőszolgáltatások lehetőségeit. Továbbá, az AWS konzol egyszerű és érthető menüt biztosít a felhasználó számára a választáshoz. A jó hír az, hogy ehhez nem szükséges minden Amazon technológiát ismerned.

Kezdj a következőkkel: VPC, EC2, IAM, S3, CloudWatch, ELB (Elastic Load Balancing az EC2 alatt) és Security Group. Ezek elegendőek az induláshoz, és minden modern felhő alapú vállalat aktívan használja ezeket az eszközöket. Az AWS saját oktatási weboldala jó kezdeti helyszín.
Azt javaslom, hogy naponta szánj 20-30 percet a Python nyelv, a Linux operációs rendszer és az AWS felhőszolgáltatás tanulmányozására és gyakorlására, a többi dolog mellett, amit meg kell tanulnod. Összességében úgy gondolom, hogy ha heti öt napon összesen egy órát szánsz rá, elegendő ahhoz, hogy megértsd a DevOps ipar folyamatait hat hónap alatt, vagy akár annál kevesebb idő alatt. Összesen 6 fő összetevő van, mindegyik egy hónap tanulásának felel meg. Ez minden, amire szükséged van az alapvető tudás megszerzéséhez.
A következő cikkekben a következő nehézségi szinttel foglalkozunk: hogyan lehet teljesen automatizálni a szoftverek konfigurálását, verziózását, csomagolását, telepítését, futtatását és nyomon követését.
A folytatás hamarosan érkezik...
Egy kis reklám 🙂
Köszönjük, hogy velünk maradtál. Tetszenek a cikkeink? Szeretnél több érdekes anyagot látni? Támogass minket, és rendelés leadásával vagy ismerősöknek ajánlással segíts nekünk. , Egyedülálló alternatívája az entry-level szervereknek, amelyet Önnek találtunk ki: (elérhetők RAID1 és RAID10 opciók, akár 24 magig és 40GB DDR4-ig).
Dell R730xd kétszer olcsóbban a Tier IV Equinix adatközpontban Amszterdamban? Csak nálunk Hollandiában! Dell R420 — 2x E5-2430 2.2GHz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — 99 dollártól! Olvasd el ezt
Forrás: habr.com
