„Rendszert kell fejleszteni, nem szoftvert”
A DevOps az utóbbi idők egyik legnagyobb hívószava a technológia világában, mivel hatalmas előnyöket kínál a szervezet számára, hogy lerövidítse szoftverfejlesztési életciklusát.
Tartalomjegyzék
Mi az a DevOps?
Nincs egyetlen definíció vagy helyes válasz a „Mi a DevOps” kérdésre?
A DevOps nem eszköz, technológia vagy bármilyen keretrendszer; ez inkább filozófia és fogalom. A szoftverfejlesztést (Dev) és az IT-műveleteket (Ops) ötvöző gyakorlatok összessége, amely segít lerövidíteni a rendszerfejlesztési életciklust, és folyamatos integrációt és szállítást biztosít magas szoftverminőség mellett.
Ha kezdő vagy, akkor nézd meg ezt a bemutatkozó bejegyzést, vagy végezd el ezt az online tanfolyamot – Docker abszolút kezdőknek.
DevOps előnyei
- Jobb együttműködés és kommunikáció
- Gyorsabb szoftver- vagy termékszállítás
- Folyamatos költségcsökkentés
- Továbbfejlesztett folyamat
- A problémák gyorsabb megoldása
A DevOps világában nincs egyetlen varázslatos eszköz, amely minden igényt kielégítene. Ez a szervezet igényeinek megfelelő eszköz kiválasztásáról szól. Tudjunk meg róluk.
Folyamatos integráció
Jenkins
Jenkins az egyik legnépszerűbb nyílt forráskódú DevOps-eszköz, amely támogatja a folyamatos integrációt és a DevOps-on keresztüli szállítást. Lehetővé teszi a projektek folyamatos integrációját és folyamatos szállítását, függetlenül attól, hogy a felhasználók milyen platformon dolgoznak, különféle építési és telepítési folyamatok segítségével. A Jenkins számos tesztelési és telepítési eszközzel integrálható.
Travis CI
Travis CI egy felhő által üzemeltetett, elosztott folyamatos integrációs platform, amelyet a GitHubon és a Bitbucket-en tárolt projektek felépítésére és tesztelésére használnak. Egy YAML fájl hozzáadásával konfigurálható.
Nyílt forráskódú projekteknél ingyenesen, privát projekteknél pedig díj ellenében tesztelhető.
Bambusz
Bambusz az Atlassian által a zökkenőmentes, folyamatos integráció támogatására kifejlesztett egyik népszerű termék. A legtöbb funkció előre be van építve, ami azt jelenti, hogy nem kell letöltenünk különböző bővítményeket, mint például a Jenkins. Támogatja továbbá a zökkenőmentes integrációt más Atlassian termékekkel, mint például a JIRA és a Bitbucket.
Hudson
A Hudson egy JAVA nyelven írt ingyenes szoftver, és olyan servlet-tárolókban fut, mint a GlassFish és az Apache Tomcat. Lehetővé teszi az automatizálási csomag elindítását a megfelelő Forráskezelő rendszerben, például GIT, SVN stb. végzett változtatásokkal. Ezenkívül támogatja az összes maven és Java alapprojektet is.
TeamCity
TeamCity egy szerver alapú folyamatos integráció, és a JetBrains által kifejlesztett felügyeleti eszközt épít fel. Egyszerű és könnyen használható felhasználói felülettel (UI) rendelkezik, és minden konfigurációhoz és projekthez nyújt előrehaladást, részletes összeállítási információkat és előzményeket.
CircleCI
CircleCI felhő alapú, valamint helyszíni megoldások formájában is elérhető a folyamatos integráció érdekében. Könnyen és gyorsan indítható, és támogatja a könnyű, könnyen olvasható YAML konfigurációkat.
További CI-eszközöket fedezhet fel itt.
Tervezés és együttműködés
JIRA
JIRA az Atlassian által kifejlesztett egyik népszerű projektmenedzsment eszköz, amelyet problémák, hibák és projektek követésére használnak. Lehetővé teszi a felhasználó számára a projekt és a kiadás állapotának nyomon követését. Könnyen integrálható más Atlassian termékekkel, például a Bitbucket-tel, valamint más DevOps-eszközökkel, mint például a Jenkins.
Laza
Laza egy freemium felhő alapú együttműködési eszköz, amely lehetővé teszi a csapat kommunikációját és együttműködését egy helyen. Ez az eszköz használható dokumentumok és egyéb információk megosztására is a csapat tagjai között. Ez könnyen integrálható más eszközökkel is, mint például a GIT, Jenkins, JIRA stb.
Zoomolás
Zoomolás egy webkonferencia és azonnali képernyőmegosztó platform. Hanggal vagy videóval csatlakozhat a csapathoz.
Nem számít, mekkora a csapata, a Zoom akár 1000 címzettet is képes egy online megbeszélésre.
Clarizen
Clarizen egy együttműködési és projektmenedzsment szoftver, amely segít a problémák nyomon követésében, a feladatkezelésben és a projektportfólió kezelésében. Könnyen testreszabható, és felhasználóbarát interaktív felhasználói felülettel rendelkezik.
Asana
Asana egy mobil és webalapú alkalmazás, amelynek célja, hogy segítse a csapatokat munkájuk hatékony és eredményes megszervezésében, nyomon követésében és kezelésében. A csapat napi feladatok nyomon követésére, valamint a szervezeten belüli üzenetküldés és kommunikáció támogatására szolgál.
Forráskód kezelése
SVN
SVN az Apache által kifejlesztett központosított verzió- és forrásvezérlő eszköz. Segíti a fejlesztőket a forráskód különböző verzióinak karbantartásában, és az összes változás teljes történetét.
Git
Git egy elosztott verzióvezérlő rendszer, amely a sebességre, az adatok integritására, valamint az elosztott, nem lineáris munkafolyamatok támogatására irányul. A forráskód-kezelésen kívül bármely fájlkészlet változásainak nyomon követésére is használható.
Bitbucket
Bitbucket az Atlassian által kifejlesztett web-alapú hosting platform. A Bitbucket hatékony kódellenőrző rendszert is kínál, és nyomon követheti a kód minden változását. Könnyen integrálható más DevOps eszközökkel, mint például a Jenkins, a Bamboo.
GitHub
GitHub egy kódtárhely, amelyet verziókezelésre és együttműködésre terveztek. A szolgáltatásai mellett a Git összes elosztott verziókezelési és forráskód-kezelési (SCM) funkcióját kínálja.
Hozzáférés-vezérlési és együttműködési funkciókat kínál, mint például hibakövetés, szolgáltatások létrehozása és kérése, feladatkezelés stb.
Épít
Hangya
Apache Ant egy nyílt forráskódú, java alapú build és telepítő eszköz. Támogatja az XML fájlformátumot. Számos beépített feladattal rendelkezik, amelyek lehetővé teszik Java alkalmazások fordítását, összeállítását, tesztelését és futtatását.
Maven
Maven egy építési automatizálási eszköz, amelyet főként java projektekhez használnak. Tartalmaz egy XML-fájlt, amely leírja a készülő szoftverprojektet, annak más külső összetevőktől és moduloktól való függőségét, a felépítési sorrendet, a könyvtárakat és az egyéb szükséges beépülő modulokat.
Röfög
Röfög egy javascript parancssori eszköz, amely segít alkalmazások létrehozásában, és segít a fejlesztőknek automatizálni az ismétlődő feladatokat, például a fordítást, az egységtesztet, a kódszúrást és az érvényesítést stb. Jó alternatíva az olyan eszközökhöz, mint a Make vagy Ant.
Gradle
Gradle egy nyílt forráskódú építkezési automatizálási rendszer, amely az Apache Maven és az Apache Ant koncepcióira épít. Támogatja a Groovy megfelelő programozási nyelvét az XML konfigurációs fájl helyett. Támogatja a növekményes buildeket azáltal, hogy automatikusan meghatározza, hogy a build mely részei naprakészek.
Konfiguráció-menedzsment
Báb
Báb egy nyílt forráskódú konfigurációkezelő eszköz, amely számos kiszolgáló konfigurálására, üzembe helyezésére és kezelésére szolgál. Ez az eszköz támogatja az infrastruktúra kódként való koncepcióját, és Ruby DSL nyelven íródott. Támogatja a gépek dinamikus skálázását is igény szerint.
Séf
Séf egy nyílt forráskódú konfigurációkezelő eszköz, amelyet az Opscode fejlesztett ki Ruby használatával virtuális vagy fizikai gépek infrastruktúrájának kezelésére. Segít a komplex infrastruktúra menet közbeni kezelésében virtuális, fizikai és felhőgépeken is.
Lehetséges
Lehetséges egy nyílt forráskódú IT-konfiguráció-kezelési, szoftverkiépítési, hangszerelési és alkalmazástelepítési eszköz. Ez egy egyszerű, de hatékony eszköz az egyszerű és összetett többrétegű IT-alkalmazások automatizálására.
SaltStack
SaltStack egy python nyelven írt nyílt forráskódú szoftver, és a push modellt használja a parancsok SSH protokollon keresztüli végrehajtására. Támogatja mind a vízszintes, mind a függőleges méretezést. Támogatja a YAML sablonokat a szkriptek lejegyzéséhez.
Terraform
Terraform egy nyílt forráskódú eszköz az infrastruktúra biztonságos és hatékony felépítéséhez, megváltoztatásához, telepítéséhez és verziózásához. Meglévő és népszerű szolgáltatók, valamint egyedi házon belüli megoldások kezelésére szolgál. Segít meghatározni az infrastruktúrát a konfigurációban/kódban, és lehetővé teszi a felhasználó számára az infrastruktúra újjáépítését/módosítását és a változások egyszerű nyomon követését.
Csavargó
Csavargó a virtuális gépek (VM) felépítésének és kezelésének egyik népszerű eszköze. Könnyen használható és konfigurálható munkafolyamattal rendelkezik, amely az automatizálásra összpontosít. Segít csökkenteni a fejlesztői környezet beállítási idejét, növeli a termelési paritást.
Folyamatos biztonság
Snyk
Egyesít Snyk a fejlesztési életciklusban, hogy automatikusan megtalálja és kijavítsa a nyílt forráskódú biztonsági réseket. Támogatja a JS-t, a .Net-et, a PHP-t, az NPM-et, a jQuery-t, a Python-t, a Java-t stb., és integrálható a kódolás, a kódkezelés, a CI/CI, a konténer és a telepítés során.
A Snyk megkapta a legnagyobb nyílt forráskódú sebezhetőségi adatbázist.
Invicti
InviA cti automatikusan átvizsgálja az alkalmazást a biztonsági hibákért, és végrehajtható minősített jelentéseket készít, így Ön prioritás alapján intézkedhet. A DevOps biztonsági forgatókönyve az lenne, hogy megvizsgálja az új véglegesítést, és a hibát közvetlenül a nyomkövető rendszerben, például a Jira-ban vagy a GitHubban jelentse, majd újra bevizsgálja, ha a fejlesztő javította. Látható, hogy az SDLC minden szakaszába integrálódik.
Tesztelés
Szelén
Szelén a legnépszerűbb és nyílt forráskódú tesztelési eszköz. Támogatja a tesztautomatizálást különféle böngészőkben és operációs gépeken. Könnyen integrálható olyan tesztkezelő eszközökkel, mint az ALM, JIRA, valamint más DevOps eszközökkel, mint például a Jenkins, Teamcity, Bamboo stb.
JUnit
JUnit egy nyílt forráskódú egységtesztelési keretrendszer, amelyet a fejlesztők használnak megismételhető tesztesetek írásához és futtatásához. Támogatja a különböző tesztannotációkat, amelyek segítségével bármely fejlesztő zökkenőmentes egységtesztet írhat. Könnyen integrálható más DevOps-eszközökkel, mint például a Jenkins, a GIT stb.
TestNG
TestNG egy nyílt forráskódú tesztelési keretrendszer, amelyet a Junit és a Nunit tervezett és ihletett. Könnyen integrálható a szelén web-illesztőprogrammal az automatizálási teszt szkriptek konfigurálásához és futtatásához. Különféle tesztjelentéseket is készít, például HTML vagy XSLT.
Monitoring
Nagios
Nagios egy nyílt forráskódú és az egyik legnépszerűbb eszköz a folyamatos monitorozáshoz. A Nagios segít a rendszerek, alkalmazások, szolgáltatások és üzleti folyamatok figyelésében a DevOps kultúrában. Figyelmezteti a felhasználókat, ha bármi baj van az infrastruktúrával, és figyelmezteti őket, ha a probléma megoldódott.
Sensu
Sensu egy Ruby nyelven írt nyílt forráskódú megfigyelő eszköz, amely segít a szerverek, szolgáltatások, alkalmazások és felhő infrastruktúra egyszerű és hatékony megfigyelésében. Könnyen méretezhető, így több ezer szervert is könnyedén felügyelhetünk.
Datadog
Datadog egy ügynök alapú szerver mérőeszköz. Támogatja a különböző webszerverekkel, alkalmazásokkal és felhőkiszolgálókkal való integrációt. Az irányítópult szolgáltatása különféle grafikonokat biztosít az infrastruktúra valós idejű megfigyeléséről.
JÁVORSZARVAS
JÁVORSZARVAS három nyílt forráskódú termék gyűjteménye – az Elasticsearch, a Logstash és a Kibana, amelyeket az Elastic cég fejlesztett, kezel és karbantart. Lehetővé teszi a felhasználók számára, hogy bármilyen forrásból, bármilyen formátumban hozzáférjenek az adatokhoz, majd valós időben keressenek, elemezzenek és megjelenítsék ezeket az adatokat.
Sematext
Sematext egy full-stack felügyeleti megoldás, amely mélyreható rálátást biztosít az IT-infrastruktúrára. Előtér- és háttér-teljesítményfigyelést, naplófigyelést, API- és webhely-üzemidő- és teljesítményfigyelést, felhasználói élmény-figyelést és még sok mást biztosít.
Noha készen kapható irányítópultokkal és riasztási szabályokkal rendelkezik olyan népszerű alkalmazásokhoz és infrastruktúrákhoz, mint például az általános adatbázisok és NoSQL-tárolók, felhőkiszolgálók, hálózat, konténerek stb., könnyedén testreszabhatja az irányítópultokat és a riasztásokat a megfigyelési igényeinek megfelelően. A Sematext hatékony riasztást biztosít anomáliák észlelésével, sikertelen szívverés észlelésével, ütemezéssel és számos integrációval a riasztási értesítések kézbesítéséhez.
Grafana
Grafana egy nyílt forráskódú analitikai platform az infrastruktúra, az alkalmazások és a hardvereszközök összes mérőszámának figyelésére. Megjelenítheti az adatokat, létrehozhat és megoszthat irányítópultot, riasztásokat állíthat be, és együttműködhet. Több mint 30 forrásból gyűjthet adatokat, köztük a Prometheus, az InfluxDB, az Elasticsearch, az AWS CloudWatch stb.
Új ereklye
Új ereklye egy szoftverelemző termék az alkalmazások teljesítményének figyeléséhez (APM), amely valós idejű és trendadatokat szolgáltat a webalkalmazások teljesítményéről és a végfelhasználók által tapasztalt elégedettségi szintről. Támogatja a tranzakciók végpontok közötti nyomon követését, és különféle színkódolt diagramokkal, grafikonokkal és jelentésekkel jeleníti meg azokat.
Felhőtárhely
AWS
AWS az Amazon által létrehozott webtárhely-platform, amely rugalmas, megbízható, méretezhető, könnyen használható, méretezhető és költséghatékony megoldásokat kínál. ennek a felhőplatformnak a használatával nem kell aggódnunk az informatikai infrastruktúra létrehozása miatt, amely általában ésszerű időt vesz igénybe.
GCP
Google Cloud a Google által kínált nyilvános felhőtárhely és számítástechnikai szolgáltatások teljes készlete. A szolgáltatások széles skáláját támogatja a számítástechnika, a tárolás és a Google Hardvert használó alkalmazásfejlesztés területén.
Égszínkék
Égszínkék egy felhőalapú számítástechnikai platform, amelyet a Microsoft arra tervezett, hogy alkalmazásokat és szolgáltatásokat építsen, telepítsen, teszteljen és kezeljen adatközpontjainak globális hálózatán keresztül. A Microsoft Azure által nyújtott szolgáltatások a PaaS (Platform as a service) és az IaaS (Infrastructure as a service) formában valósulnak meg.
Konténerezés/hangszerelés
Dokkmunkás
Dokkmunkás egy olyan eszköz, amellyel tárolók használatával hozhat létre, telepíthet és futtathat alkalmazásokat. Ez a tároló lehetővé teszi a fejlesztő számára, hogy egy alkalmazást az összes szükséges összetevővel és részösszetevővel, például könyvtárakkal és egyéb függőségekkel együtt csomagoljon, és az egészet egyetlen csomag formájában szállítsa ki. Ez a munka a koncepció a hajó és fut bárhol.
Kubernetes
Kubernetes egy nyílt forráskódú konténer-hangszerelési rendszer, amelyet eredetileg a Google tervezett, és jelenleg a Cloud Native Computing Foundation tartja karban. Az alkalmazások telepítésének, méretezésének és kezelésének automatizálására szolgál. Más konténereszközökkel is működik, beleértve a Dockert is.
Fedezzen fel további konténer hangszerelési eszközöket itt.
Következtetés
Remélem, hogy a fent felsorolt eszközök segítenek a DevOps utazás során.
Élvezettel olvastad a cikket? Mit szólnál a világgal való megosztáshoz?