Konečný seznam nástrojů DevOps

„Vyvíjejte systém, nikoli software“

DevOps je v poslední době jedním z největších módních slov ve světě technologií, protože organizacím nabízí obrovské množství výhod ke zkrácení životního cyklu vývoje softwaru.

Co je DevOps?

Na otázku „Co je DevOps“ neexistuje jediná definice nebo správná odpověď?

DevOps není nástroj, technologie nebo jakýkoli rámec; je to spíše filozofie a koncept. Jedná se o soubor postupů, které kombinují vývoj softwaru (Dev) a operace IT (Ops), což pomáhá zkrátit životní cyklus vývoje systémů a zajistit nepřetržitou integraci a dodávku s vysokou kvalitou softwaru.

Pokud jste začátečník, podívejte se na tento úvodní příspěvek nebo absolvujte tento online kurz – Docker pro naprostého začátečníka.

Výhody DevOps

  • Zlepšená spolupráce a komunikace
  • Rychlejší dodání softwaru nebo produktu
  • Neustálé snižování nákladů
  • Vylepšený proces
  • Rychlejší řešení problémů

Ve světě DevOps neexistuje jediný magický nástroj, který by vyhovoval všem potřebám. Jde o výběr správného nástroje, který odpovídá potřebám organizace. Pojďme se o nich dozvědět.

Průběžná integrace

Jenkins

Jenkins je jedním z nejpopulárnějších open-source nástrojů DevOps pro podporu nepřetržité integrace a poskytování prostřednictvím DevOps. Umožňuje nepřetržitou integraci a nepřetržité doručování projektů bez ohledu na platformu, na které uživatelé pracují, s pomocí různých sestav a zavádění. Jenkins lze integrovat s několika nástroji pro testování a nasazení.

Travis CI

Travis CI je cloudová distribuovaná kontinuální integrační platforma používaná k vytváření a testování projektů hostovaných na GitHubu a Bitbucketu. Konfiguruje se přidáním souboru YAML.

Lze jej testovat zdarma pro open-source projekty a za poplatek pro soukromý projekt.

Bambus

Bambus je jedním z oblíbených produktů vyvinutých společností Atlassian pro podporu bezproblémové kontinuální integrace. Většina jeho funkcí je předpřipravená, což znamená, že nemusíme stahovat různé pluginy, jako je Jenkins. Podporuje také bezproblémovou integraci s dalšími produkty Atlassian, jako jsou JIRA a Bitbucket.

Hudson

Hudson je svobodný software napsaný v JAVA a běží v kontejneru servletů jako GlassFish a Apache Tomcat. Poskytuje schopnost spustit vaši automatizační sadu s jakýmikoli změnami v odpovídajícím systému správy zdrojů, jako je GIT, SVN, atd. Poskytuje také podporu pro všechny základní projekty maven a Java.

TeamCity

TeamCity je serverová nepřetržitá integrace a vytváří nástroj pro správu vyvinutý společností JetBrains. Má jednoduché a snadno použitelné uživatelské rozhraní (UI) a poskytuje informace o průběhu sestavení, informace o sestavení a historii všech konfigurací a projektů.

CircleCI

CircleCI je k dispozici ve formě cloudových i on-premise řešení pro nepřetržitou integraci. Je snadné a rychlé spustit a podporovat lehké snadno čitelné konfigurace YAML.

  Nejlepší alternativy MRTG ke zlepšení vašeho monitorování sítě v roce 2020

Existuje více nástrojů CI, které můžete prozkoumat zde.

Plánování a spolupráce

JIRA

JIRA je jedním z populárních nástrojů pro řízení projektů vyvinutý společností Atlassian, který se používá pro sledování problémů, chyb a projektů. Umožňuje uživateli sledovat stav projektu a problému. Lze jej snadno integrovat s dalšími produkty Atlassian, jako je Bitbucket, kromě dalších nástrojů DevOps, jako je Jenkins.

Slack

Slack je freemium cloudový nástroj pro spolupráci, který umožňuje týmovou komunikaci a spolupráci na jednom místě. Tento nástroj lze také použít ke sdílení dokumentů a dalších informací mezi členy týmu. To lze také snadno integrovat s dalšími nástroji, jako je GIT, Jenkins, JIRA atd.

Zvětšení

Zvětšení je platforma pro webové konference a okamžité sdílení obrazovky. Můžete přimět svůj tým, aby se připojil prostřednictvím zvuku nebo videa.

Nezáleží na tom, jak velký je váš tým, Zoom je schopen zapojit až 1000 příjemců do online schůzky.

Clarizen

Clarizen je software pro spolupráci a řízení projektů, který pomáhá při sledování problémů, správě úkolů a správě portfolia projektů. Snadno se přizpůsobuje a má uživatelsky přívětivé interaktivní uživatelské rozhraní.

Ásana

Ásana je mobilní a webová aplikace navržená tak, aby pomáhala týmům organizovat, sledovat a řídit jejich práci efektivním a efektivním způsobem. Používá se ke sledování každodenních úkolů týmu a podpoře zasílání zpráv a komunikace v celé organizaci.

Správa zdrojového kódu

SVN

SVN je nástroj pro centralizovanou verzi a správu zdrojů vyvinutý společností Apache. Pomáhá vývojářům udržovat různé verze zdrojového kódu a udržovat úplnou historii všech změn.

Git

Git je distribuovaný systém správy verzí, jehož cílem je rychlost, integrita dat a podpora distribuovaných, nelineárních pracovních postupů. Kromě správy zdrojového kódu jej lze také použít ke sledování změn v libovolné sadě souborů.

Bitbucket

Bitbucket je webová hostingová platforma vyvinutá společností Atlassian. Bitbucket také nabízí efektivní systém kontroly kódu a sledování každé změny v kódu. Lze jej snadno integrovat s dalšími nástroji DevOps, jako je Jenkins, Bamboo.

GitHub

GitHub je platforma pro hostování kódu určená pro správu verzí a spolupráci. Kromě svých funkcí nabízí všechny funkce distribuovaného řízení verzí a správy zdrojového kódu (SCM) systému Git.

Nabízí řízení přístupu a funkce pro spolupráci, jako je sledování chyb, vytváření a vyžádání funkcí, správa úkolů atd. pro projekt.

Stavět

Mravenec

Apache Ant je open source nástroj pro sestavení a nasazení na bázi Java. Podporuje formát souboru XML. Má několik vestavěných úloh, které nám umožňují kompilovat, sestavovat, testovat a spouštět Java aplikace.

Maven

Maven je nástroj pro automatizaci sestavení, který se převážně používá pro projekty Java. Obsahuje soubor XML, který popisuje vytvářený softwarový projekt, jeho závislosti na jiných externích komponentách a modulech, sekvenci sestavování, adresáře a další požadované zásuvné moduly.

Grunt

Grunt je javascriptový nástroj příkazového řádku, který pomáhá vytvářet aplikace a pomáhá vývojářům automatizovat opakující se úkoly, jako je kompilace, testování jednotek, linting kódu a ověřování atd. Je to dobrá alternativa pro nástroje jako Make nebo Ant.

  Funguje Slingbox s DirecTV?

Gradle

Gradle je open-source systém pro automatizaci sestavování, který staví na konceptech Apache Maven a Apache Ant. Podporuje správný programovací jazyk Groovy namísto konfiguračního souboru XML. Nabízí podporu pro přírůstková sestavení automatickým určováním, které části sestavení jsou aktuální.

Správa konfigurace

Loutka

Loutka je open-source nástroj pro správu konfigurace používaný ke konfiguraci, nasazení a správě mnoha serverů. Tento nástroj podporuje koncept infrastruktury jako kódu a je napsán v Ruby DSL. Podporuje také dynamické škálování nahoru a dolů strojů podle potřeby.

Šéfkuchař

Šéfkuchař je open-source nástroj pro správu konfigurace vyvinutý společností Opscode využívající Ruby ke správě infrastruktury na virtuálních nebo fyzických strojích. Pomáhá při správě složité infrastruktury za chodu na virtuálních, fyzických a cloudových strojích.

Ansible

Ansible je open-source nástroj pro správu konfigurace IT, poskytování softwaru, orchestraci a nasazení aplikací. Je to jednoduchý, ale výkonný nástroj pro automatizaci jednoduchých a složitých vícevrstvých IT aplikací.

SaltStack

SaltStack je open-source software napsaný v pythonu a používá model push pro provádění příkazů prostřednictvím protokolu SSH. Nabízí podporu pro horizontální i vertikální škálování. Podporuje šablony YAML pro zapisování libovolných skriptů.

Terraform

Terraform je open-source nástroj pro bezpečné a efektivní vytváření, změny, nasazení a verzování infrastruktury. Používá se ke správě stávajících a oblíbených poskytovatelů služeb i vlastních vnitropodnikových řešení. Pomáhá definovat infrastrukturu v konfiguraci/kódu a umožní uživateli snadno přebudovat/změnit a sledovat změny infrastruktury.

Tulák

Tulák je jedním z oblíbených nástrojů pro vytváření a správu virtuálních strojů (VM). Má snadno použitelný a konfigurovatelný pracovní postup, který se zaměřuje na automatizaci. Pomáhá zkrátit dobu nastavování vývojového prostředí, zvyšuje paritu produkce.

Nepřetržité zabezpečení

Snyk

Integrovat Snyk v životním cyklu vývoje automaticky vyhledávat a opravovat zranitelnosti zabezpečení open source. Podporuje JS, .Net, PHP, NPM, jQuery, Python, Java atd. a lze jej integrovat do kódování, správy kódu, CI/CI, kontejneru a nasazení.

Snyk získal největší open source databázi zranitelností.

Invicti

Invicti automaticky prohledá vaši aplikaci z hlediska bezpečnostních nedostatků a poskytne použitelné tajné zprávy, takže můžete podniknout kroky na základě priority. Bezpečnostní scénář DevOps by spočíval v prozkoumání nového odevzdání a nahlášení chyby přímo do sledovacího systému, jako je Jira nebo GitHub, a po opravě vývojářem znovu naskenovat. Vidíte, že se integruje v každé fázi SDLC.

Testování

Selen

Selen je nejpopulárnější a open source testovací nástroj. Podporuje automatizaci testování napříč různými prohlížeči a operačními stroji. Lze jej snadno integrovat s nástroji pro správu testů jako ALM, JIRA a také s dalšími nástroji DevOps, jako jsou Jenkins, Teamcity, Bamboo atd.

JUnit

JUnit je open-source jednotkový testovací rámec používaný vývojáři k psaní a spouštění opakovatelných testovacích případů. Podporuje různé testovací anotace, pomocí kterých může každý vývojář napsat bezproblémový testovací případ jednotky. Lze jej snadno integrovat s dalšími nástroji DevOps, jako je Jenkins, GIT atd.

TestNG

TestNG je Open source testovací rámec, který je navržen a inspirován Junit a Nunit. Lze jej snadno integrovat se selenovým webovým ovladačem pro konfiguraci a spouštění testovacích skriptů automatizace. Generuje také různé testovací zprávy, jako je HTML nebo XSLT.

  Jak deaktivovat 90Hz displej na Google Pixel 4 a Pixel 4 XL

Sledování

Nagios

Nagios je open-source a jeden z nejoblíbenějších nástrojů pro nepřetržité monitorování. Nagios pomáhají monitorovat systémy, aplikace, služby a obchodní procesy v kultuře DevOps. Upozorní uživatele, když se něco pokazí v infrastruktuře, a upozorní je také na vyřešení problému.

Sensu

Sensu je open-source monitorovací nástroj napsaný v Ruby, který pomáhá jednoduše a efektivně monitorovat servery, služby, aplikace, cloudovou infrastrukturu. Je snadné jej škálovat, takže můžeme snadno monitorovat tisíce serverů.

Datadog

Datadog je serverový metrický nástroj založený na agentech. Podporuje integraci s různými webovými servery, aplikacemi a cloudovými servery. Služba dashboard poskytuje různé grafy o monitorování v reálném čase napříč infrastrukturou.

ELK

ELK je kolekce tří open-source produktů — Elasticsearch, Logstash a Kibana, které všechny vyvíjí, spravuje a udržuje společnost Elastic. Umožňuje uživatelům přebírat data z libovolného zdroje v jakémkoli formátu a poté tato data vyhledávat, analyzovat a vizualizovat v reálném čase.

Sematext

Sematext je komplexní řešení pro monitorování, které vám poskytuje hloubkový přehled o vaší IT infrastruktuře. Poskytuje front-end a back-end monitorování výkonu, monitorování protokolů, API a monitorování provozu a výkonu webu, monitorování uživatelské zkušenosti a další.

I když je dodáván s předinstalovanými řídicími panely a pravidly výstrah pro oblíbené aplikace a infrastrukturu, jako jsou běžné databáze a obchody NoSQL, cloudové servery, sítě, kontejnery atd., můžete řídicí panely a výstrahy snadno přizpůsobit svým potřebám monitorování. Sematext obsahuje výkonné upozornění s detekcí anomálií, detekcí selhání srdečního tepu, plánování a četnými integracemi pro doručování upozornění.

Grafana

Grafana je open-source analytická platforma pro sledování všech metrik z infrastruktury, aplikací a hardwarových zařízení. Můžete vizualizovat data, vytvářet a sdílet řídicí panel, nastavovat upozornění a spolupracovat. Můžete čerpat data z více než 30 zdrojů, včetně Prometheus, InfluxDB, Elasticsearch, AWS CloudWatch atd.

Nová relikvie

Nová relikvie je produkt softwarové analýzy pro monitorování výkonu aplikací (APM), který poskytuje v reálném čase a trendová data o výkonu webových aplikací a míře spokojenosti koncových uživatelů s nimi. Podporuje úplné sledování transakcí a zobrazuje je pomocí různých barevně odlišených tabulek, grafů a sestav.

Cloud hosting

AWS

AWS je webhostingová platforma vytvořená společností Amazon, která nabízí flexibilní, spolehlivá, škálovatelná, snadno použitelná, škálovatelná a nákladově efektivní řešení. díky této cloudové platformě se nemusíme starat o nastavování IT infrastruktury, které obvykle zabere přiměřenou dobu.

GCP

Google Cloud je kompletní sada veřejných cloudových hostingových a počítačových služeb nabízených společností Google. Podporuje širokou škálu služeb pro výpočetní techniku, úložiště a vývoj aplikací, které využívají hardware Google.

Blankyt

Blankyt je platforma cloud computingu navržená společností Microsoft k vytváření, nasazení, testování a správě aplikací a služeb prostřednictvím globální sítě jejích datových center. Služby poskytované Microsoft Azure jsou ve formě PaaS (Platforma jako služba) a IaaS (Infrastruktura jako služba).

Kontejnerizace/organizace

Přístavní dělník

Přístavní dělník je nástroj pro vytváření, nasazování a spouštění aplikací pomocí kontejnerů. Tento kontejner umožňuje vývojáři zabalit aplikaci se všemi komponentami a dílčími komponentami, které potřebuje, jako jsou knihovny a další závislosti, a odeslat vše ve formě jednoho balíčku. Tato práce na konceptu lodi a běhu kdekoli.

Kubernetes

Kubernetes je open-source systém kontejnerové orchestrace původně navržený společností Google a nyní jej spravuje Cloud Native Computing Foundation. Používá se pro automatizaci nasazení, škálování a správy aplikací. Funguje také s dalšími kontejnerovými nástroji včetně Dockeru.

Zde prozkoumejte další nástroje pro orchestraci kontejnerů.

Závěr

Doufám, že výše uvedené nástroje vám pomohou s vaší cestou DevOps.

Užili jste si čtení článku? Co takhle sdílet se světem?