"Ontwikkel stelsel nie sagteware"
DevOps is een van die grootste gonswoorde in die wêreld van tegnologie die afgelope tyd, want dit bied 'n groot hoeveelheid voordele vir die organisasie om hul lewenssiklus vir sagteware-ontwikkeling te verkort..
2 Beplanning & samewerking
2.3 Klik op
3 Bestuur van bronkodes
6 Deurlopende integrasie
7 Deurlopende sekuriteit
9.4 Nuwe relikwie
11 Behouering / Orkestrasie
Daar is geen enkele definisie of regte antwoord vir die vraag "Wat is DevOps"?
DevOps is nie 'n instrument, tegnologie of enige raamwerk nie; dit is meer 'n filosofie en 'n konsep. Dit is 'n stel praktyke wat sagteware-ontwikkeling (Dev) en IT-bedrywighede (Ops) kombineer, wat help om die lewenssiklus van stelselontwikkeling te verkort en om deurlopende integrasie en aflewering met 'n hoë sagtewarekwaliteit te bied.
As u 'n beginner is, gaan kyk dan na hierdie inleidingspos of neem hierdie aanlynkursus – Docker vir 'n absolute beginner.
Verbeterde samewerking en kommunikasie
Vinniger sagteware of produklewering
Vinniger oplossing van probleme
In die DevOps-wêreld is daar geen enkele magiese instrument wat aan al die behoeftes voldoen nie. Dit gaan oor die keuse van die regte instrument wat by 'n organisasie se behoeftes pas. Laat ons daaroor uitvind.
Beplanning & samewerking
TrackIT is een van die gewilde projekbestuursinstrumente wat ontwikkel is deur Atlassian wat gebruik word vir uitreiking, foute en projekopsporing. Dit stel die gebruiker in staat om die projek op te spoor en status uit te reik. Dit kan maklik met ander Atlassian-produkte soos Bitbucket geïntegreer word, benewens ander DevOps-instrumente soos Jenkins.
slap is 'n freemium-wolk-gebaseerde samewerkingsinstrument wat spankommunikasie en samewerking op een plek moontlik maak. Hierdie instrument kan ook gebruik word om dokumente en ander inligting onder die spanlede te deel. Dit kan ook maklik met ander instrumente soos GIT, Jenkins, JIRA, ens. Geïntegreer word.
Klik op is 'n platform vir webkonferensies en direkte skermdeling. U kan u span laat deelneem deur klank of video.
Maak nie saak hoe groot u span is nie, Zoom kan tot 1000 ontvangers in 'n aanlynbyeenkoms deelneem.
Clarizen is 'n samewerkings- en projekbestuursagteware wat help met die opspoor van probleme, taakbestuur en bestuur van projekportefeuljes. Dit is maklik om aan te pas en het 'n gebruikersvriendelike interaktiewe gebruikerskoppelvlak.
asana is 'n mobiele en webgebaseerde program wat ontwerp is om spanne te help om hul werk op 'n effektiewe en doeltreffende manier te organiseer, op te spoor en te bestuur. Dit word gebruik om daaglikse take van die span op te spoor en boodskappe en kommunikasie regoor die organisasie te ondersteun.
Bestuur van bronkodes
SVN is 'n gesentraliseerde weergawe en bronbeheermiddel wat deur Apache ontwikkel is. Dit help ontwikkelaars om verskillende weergawes van die bronkode in stand te hou en om 'n volledige geskiedenis van al die veranderinge te handhaaf.
Git is 'n verspreide weergawe-beheerstelsel wat gemik is op spoed, integriteit van data, ondersteuning vir verspreide, nie-lineêre werkvloeie. Behalwe vir die bestuur van bronkodes, kan dit ook gebruik word om die veranderinge in enige stel lêers op te spoor.
Bitbucket is 'n webgebaseerde hostingplatform wat deur Atlassian ontwikkel is. Bitbucket bied ook 'n effektiewe stelselbeoordelingsstelsel en hou rekord van elke verandering in die kode. Dit kan maklik met ander DevOps-instrumente soos Jenkins, Bamboo, geïntegreer word.
GitHub is 'n kode-gasheerplatform wat ontwerp is vir weergawebeheer en samewerking. Dit bied al die funksies van Git, wat versprei is na weergawe en beheer van bronne (SCC), benewens die funksies daarvan.
Dit bied toegangsbeheer en samewerkingsfunksies soos foutopsporing, skepping van funksies & Versoek, taakbestuur, ens. Vir die projek.
Apache Ant is 'n oop-bron-gebaseerde op Java-gebaseerde bou-en-ontplooiingsinstrument. Dit ondersteun die XML-lêerformaat. Dit het verskillende ingeboude take waarmee ons Java-toepassings kan saamstel, saamstel, toets en laat loop.
Maven is 'n outomatiseringsinstrument wat hoofsaaklik gebruik word vir java-projekte. Dit bevat 'n XML-lêer wat die sagtewareprojek wat gebou word, die afhanklikheid van ander eksterne komponente en modules, die bouvolgorde, kaarte en ander vereiste inproppe beskryf..
Gradle is 'n open source-outomatiseringsisteem wat voortbou op die konsepte van Apache Maven en Apache Ant. Dit ondersteun die regte programmeertaal van Groov in plaas van die XML-konfigurasielêer. Dit bied ondersteuning vir inkrementele bou deur outomaties te bepaal watter dele van die gebou op datum is.
Puppet is 'n oopbron-konfigurasiebestuursinstrument wat gebruik word om verskeie bedieners op te stel, te ontplooi en te bestuur. Hierdie instrument ondersteun die konsep van infrastruktuur as kode en is geskryf in Ruby DSL. Dit ondersteun ook dinamiese skaal op en af ​​van masjiene op 'n behoefte-basis.
Chef is 'n open source konfigurasiebestuursinstrument wat ontwikkel is deur Opscode en Ruby gebruik om infrastruktuur op virtuele of fisiese masjiene te bestuur. Dit help ook met die bestuur van komplekse infrastruktuur op virtuele, fisiese en wolkmasjiene.
Ansible is 'n open source IT-konfigurasiebestuur, sagtewarevoorsiening, orkestrasie en implementeringsprogramme vir toepassings. Dit is 'n eenvoudige dog kragtige instrument om eenvoudige en ingewikkelde IT-toepassings in veelvlak te outomatiseer.
SaltStack is open source sagteware wat in python geskryf is en gebruik die push-model om die opdragte uit te voer via SSH-protokol. Dit bied ondersteuning vir sowel horisontale as vertikale skaal. Dit ondersteun YAML-sjablone om enige skrifte neer te skryf.
terraform is 'n open source-instrument om infrastruktuur veilig en doeltreffend te bou, te verander, te ontplooi en te weergawe. Dit word gebruik om bestaande en gewilde diensverskaffers te bestuur, sowel as persoonlike oplossings in die huis. Dit help met die definiëring van infrastruktuur in config / kode en stel die gebruiker in staat om op 'n maklike manier die veranderinge aan infrastruktuur te herbou / verander en op te spoor.
swerwer is een van die gewilde instrumente vir die bou en bestuur van virtuele masjiene (VM). Dit het 'n maklik te gebruik en instelbare werkvloei wat op outomatisering fokus. Dit help om die opstellingstyd van die ontwikkelingsomgewing te verminder, verhoog die produksiepariteit.
Jenkins is een van die gewildste open source DevOps-instrumente om deurlopende integrasie en aflewering deur DevOps te ondersteun. Dit laat deurlopende integrasie en deurlopende aflewering van projekte toe, ongeag die platform waarop gebruikers werk met behulp van verskillende bou- en ontplooiingspype. Jenkins kan met verskillende toets- en ontplooiingsinstrumente geïntegreer word.
Travis CI is 'n wolk-gehoste, verspreide deurlopende integrasieplatform wat gebruik word om projekte te bou en te toets wat by GitHub en Bitbucket aangebied word. Dit word gekonfigureer deur 'n YAML-lêer by te voeg.
Dit kan gratis getoets word vir open source projekte en op 'n fooi basis vir 'n privaat projek.
bamboes is een van die gewilde produkte wat deur Atlassian ontwikkel is om naatlose deurlopende integrasie te ondersteun. Die meeste van die funksies is vooraf gebou, wat beteken dat ons nie verskillende plugins soos Jenkins hoef af te laai nie. Dit ondersteun ook naatlose integrasie met ander Atlassiaanse produkte soos JIRA en Bitbucket.
Hudson is 'n gratis sagteware wat in JAVA geskryf is en in 'n servlet-houer soos GlassFish en Apache Tomcat loop. Dit bied die vermoë om u outomatiseringspakket te aktiveer met enige veranderinge in die ooreenstemmende bronbestuurstelsel soos GIT, SVN, ens. Dit bied ook ondersteuning vir alle maven- en Java-basisprojekte..
TeamCity is 'n deurlopende integrasie op die bediener en bou 'n bestuursinstrument wat ontwikkel is deur JetBrains.It het 'n eenvoudige en maklike gebruikerskoppelvlak (UI) en bied vordering met die opbou van inligting, geskiedenis en inligting vir al die konfigurasies en projekte..
CircleCI is beskikbaar in die vorm van cloud-gebaseerde sowel as on-premiss oplossings vir deurlopende integrasie. Dit is maklik en vinnig om YAML-konfigurasies met 'n ligte, maklik leesbare weergawe te begin en te ondersteun.
integreer Snyk in die ontwikkelingslewensiklus outomaties om open source beveiligings kwesbaarhede te vind en op te los. Dit ondersteun JS, .Net, PHP, NPM, jQuery, Python, Java, ens. En kan geïntegreer word by kodering, kodebestuur, CI / CI, houer en ontplooiing.
Snyk het die grootste databasis met 'n open source kwesbaarheid.
Netsparker skandeer u aansoek outomaties vir sekuriteitsfoute en verskaf uitvoerbare geklassifiseerde verslae, sodat u op grond van prioriteit kan optree. 'N DevOps-beveiligingsscenario is om die nuwe poging te ondersoek en die fout direk in die opsporingstelsel soos Jira of GitHub aan te meld en dit weer te laat skandeer sodra die ontwikkelaar dit reggestel het. U sien dat dit integreer in elke stadium van SDLC.
selenium is die gewildste en open source toetsinstrument. Dit ondersteun die outomatisering van die toets deur verskillende blaaiers en beheermasjiene. Dit kan maklik geïntegreer word met toetsbestuurinstrumente soos ALM, JIRA en ook met ander DevOps-instrumente soos Jenkins, Teamcity, Bamboo, ens..
TestNG is 'n open source toetsraamwerk wat ontwerp en geïnspireer is deur Junit en Nunit. Dit kan maklik met seleniumbestuurder geïntegreer word om outomatiseringstoetsskripte op te stel en uit te voer. Dit genereer ook verskillende toetsverslae soos HTML of XSLT.
JUnit is 'n open source-eenheidstoetsraamwerk wat ontwikkelaars gebruik om herhaalbare toetsgevalle te skryf en uit te voer. Dit ondersteun verskillende toetsaantekeninge waarmee elke ontwikkelaar 'n naatlose toetssaak kan skryf. Dit kan maklik met ander DevOps-instrumente soos Jenkins, GIT, ens. Geïntegreer word.
Nagios is 'n open source en een van die gewildste instrumente vir deurlopende monitering. Nagios help om stelsels, toepassings, diens en sakeproses in 'n DevOps-kultuur te monitor. Dit waarsku gebruikers wanneer iets verkeerd gaan met die infrastruktuur en waarsku hulle ook wanneer die probleem opgelos is.
Grafana is 'n open source-analitiese platform om al die statistieke vanaf infrastruktuur, toepassings en hardeware te monitor. U kan die data visualiseer, 'n dashboard skep en deel, waarskuwings opstel en saamwerk. U kan data verkry uit meer as 30 bronne, insluitend Prometheus, InfluxDB, Elasticsearch, AWS CloudWatch, ens..
sensu is 'n open source moniteringsinstrument wat in Ruby geskryf is en wat help om bedieners, dienste, toepassing, wolkinfrastruktuur eenvoudig en effektief te monitor. Dit is maklik om te skaal, sodat ons duisende bedieners maklik kan monitor.
Nuwe relikwie is 'n sagteware-analitiese produk vir monitering van toepassingsprestasies (APM) wat intydse en trending data lewer oor die prestasie van webtoepassings en die vlak van tevredenheid wat eindgebruikers daarmee ervaar. Dit ondersteun 'n einde aan transaksies en vertoon dit met 'n verskeidenheid kleurkodes, grafieke en verslae
Datadog is 'n agentgebaseerde bedienermetriese hulpmiddel. Dit ondersteun integrasie met verskillende webbedieners, programme en wolkbedieners. Die paneelborddiens bied verskillende grafieke oor monitering in real-tyd regoor die infrastruktuur.
ELK is 'n versameling van drie open source produkte —Elasticsearch, Logstash en Kibana wat almal ontwikkel, bestuur en onderhou word deur die onderneming Elastic. Dit stel gebruikers in staat om inligting vanaf enige bron, in enige formaat, na te gaan, om die data intyds te soek, te ontleed en te visualiseer.
AWS is 'n webhostingsplatform wat deur Amazon geskep is en bied buigsame, betroubare, skaalbare, maklik om te gebruik, skaalbare en koste-effektiewe oplossings. deur hierdie wolkplatform te gebruik, hoef ons nie bekommerd te wees oor die opstel van IT-infrastruktuur nie, wat gewoonlik 'n redelike tyd in beslag neem.
blou is 'n wolkrekenaarplatform wat deur Microsoft ontwerp is om toepassings en dienste te bou, te ontplooi, te toets en te bestuur deur 'n wêreldwye netwerk van sy datasentrums. Die dienste wat deur Microsoft Azure gelewer word, is in die vorm van PaaS (platform as 'n diens) en IaaS (infrastruktuur as 'n diens).
Google Cloud is 'n volledige stel openbare wolk-gasheer- en rekenaardienste wat aangebied word deur Google.it ondersteun 'n wye verskeidenheid dienste vir rekenaar-, bergings- en toepassingsontwikkeling wat Google Hardware gebruik.
Behouering / Orkestrasie
Docker is 'n instrument om programme te skep, te ontplooi en uit te voer deur houers te gebruik. Hierdie houer stel die ontwikkelaar in staat om 'n toepassing te verpak met al die komponente en subkomponente wat dit benodig, soos biblioteke en ander afhanklikhede, en dit alles in die vorm van 'n enkele pakket uit te stuur. Dit werk op die konsep van die skip en word oral bestuur.
Kubernetes is 'n oopbron-houer-orkestrasie-stelsel wat oorspronklik deur Google ontwerp is, en word nou deur die Cloud Native Computing Foundation onderhou. Dit word gebruik vir die outomatisering van implementering, skaal en bestuur van toepassings. Dit werk saam met ander houertoestelle, insluitend Docker.