Mikä on DevOps-metodologia ja kuka sitä tarvitsee

Selvitetään, mikä menetelmän ydin on ja kenelle se voi hyötyä.

Puhumme myös DevOps-asiantuntijoista: heidän tehtävistään, palkoistaan ​​ja osaamisestaan.

Mikä on DevOps-metodologia ja kuka sitä tarvitsee
Photo Shoot Matt Moore /Flickr/CC BY-SA

Mikä on DevOps

DevOps on ohjelmistokehitysmetodologia, jonka tehtävänä on luoda vuorovaikutusta ohjelmoijien ja järjestelmänvalvojien välille yrityksessä. Jos eri osastojen IT-asiantuntijat eivät ymmärrä toistensa tehtäviä, uusien sovellusten ja niihin liittyvien päivitysten julkaisu viivästyy.

DevOps luo "saumattoman" kehityssyklin, mikä auttaa nopeuttamaan ohjelmistotuotteen julkaisua. Kiihtyvyys saavutetaan ottamalla käyttöön automaatiojärjestelmiä. Lisäksi ohjelmoijat alkavat osallistua palvelimien asettamiseen ja virheiden etsimiseen, esimerkiksi he voivat kirjoittaa automaattisia testejä.

Tämä parantaa osastojen välistä vuorovaikutusta. Työntekijät alkavat ymmärtää paremmin, mitkä vaiheet ohjelmistotuote käy läpi ennen kuin se joutuu käyttäjän käsiin.

Kun kehittäjä ymmärtää, mitä järjestelmänvalvoja kohtaa palvelinta perustaessaan, hän yrittää tasoittaa koodin mahdollisia "teräviä kulmia". Tämä vähentää bugien määrää sovelluksen käyttöönotossa – tilastojen mukaan se vähenee noin viisi kertaa.

Kuka tarvitsee ja ei tarvitse menetelmää

Monet IT-asiantuntijat uskovatettä DevOps hyödyttää kaikkia ohjelmistoja kehittäviä organisaatioita. Tämä pätee, vaikka yritys olisi pelkkä IT-palvelujen kuluttaja eikä kehitä omia sovelluksiaan. Tässä tapauksessa DevOps-kulttuurin käyttöönotto auttaa sinua keskittymään innovaatioihin.

Poikkeus muodostavat startupeista, mutta tässä kaikki riippuu projektin laajuudesta. Jos tavoitteesi on käynnistää vähintään elinkelpoinen tuote (MVP) testataksesi uutta ideaa, voit tehdä ilman DevOpsia. Esimerkiksi Grouponin perustaja alkoi työstää palvelua manuaalisesti lähetetty kaikki tarjoukset verkkosivuilla ja kerätyt tilaukset. Hän ei käyttänyt mitään automaatiotyökaluja.

Automaatiomenetelmien ja työkalujen käyttöönotto on järkevää vasta, kun sovellus alkaa saada suosiota. Tämä auttaa virtaviivaistamaan liiketoimintaprosesseja ja nopeuttamaan päivitysten julkaisemista.

Kuinka ottaa DevOps käyttöön

Alla on joitain suosituksia uuteen menetelmään siirtymisestä.

Tunnista liiketoimintaprosessien ongelmat. Ennen kuin otat menetelmän käyttöön, tuo esiin organisaation tavoitteet ja ongelmat. DevOpsiin siirtymisen strategia riippuu heistä. Tee tämä tekemällä luettelo kysymyksistä, esimerkiksi:

  • Mikä vie eniten aikaa ohjelmiston päivittämiseen?
  • Onko mahdollista automatisoida tämä prosessi?
  • Vaikuttaako organisaation rakenne tähän?

Lue lisää ongelmien tunnistamisesta organisaatiossa voi lukea kirjoista «Projekti "Phoenix""Ja"DevOps-opas» metodologian tekijöiltä.

Muuta yrityksen kulttuuria. On tärkeää saada kaikki työntekijät muuttamaan tavallisia työtapojaan ja laajentamaan osaamistaan. Esimerkiksi Facebookissa kaikki ohjelmoijat vastaus koko sovelluksen elinkaaren ajan: koodauksesta toteutukseen. Facebookilla ei myöskään ole erillistä testausosastoa – testit ovat kehittäjien itsensä kirjoittamia.

Aloita pieni. Valitse päivitysten julkaisussa eniten aikaa ja vaivaa vievä prosessi ja automatisoi se. Tämä ehkä testaus- tai sovelluksen käyttöönottoprosessi. Asiantuntijat neuvoo Ensimmäinen askel on ottaa käyttöön hajautetut versionhallintatyökalut. Ne helpottavat lähteiden hallintaa. Tällaisista ratkaisuista tunnetuimpia ovat Git, Mercurial, Subversion (SVN) ja CVS.

Myös lopputuotteen kokoamisesta ja testaamisesta vastaaviin jatkuvaan integrointijärjestelmiin kannattaa kiinnittää huomiota. Esimerkkejä tällaisista työkaluista: Jenkins, TeamCity ja Bamboo.

Arvioi parannuksia. Kehitä suoritusmittareita toteutetuille ratkaisuille ja luo tarkistuslista. Mittarit voivat sisältää julkaisutiheyden, ohjelmiston ominaisuuksien parissa työskentelemiseen käytetyn ajan ja koodin virheiden määrän. Keskustele tuloksista paitsi esimiesten, myös muun projektiin osallistuvan tiimin kanssa. Kysy mitä työkaluja puuttuu. Ota nämä pyynnöt huomioon, kun optimoit prosessejasi edelleen.

DevOpsin kritiikki

Vaikka menetelmä se auttaa organisaatiot voivat tehdä nopeampia päätöksiä sovelluskehityksestä, leikkauksia ohjelmiston virheiden määrä ja kannustaa työntekijöitä oppimaan uusia asioita, sillä on myös kritiikkiä.

On näkymäettä ohjelmoijien ei pitäisi ymmärtää järjestelmänvalvojien työn yksityiskohtia. Väitetään, että DevOps johtaa siihen, että kehitys- tai hallintoasiantuntijoiden sijaan yrityksessä on ihmisiä, jotka ymmärtävät kaiken, mutta pinnallisesti.

Uskotaan myös, että DevOps ei toimi huonolla johdolla. Jos kehitys- ja järjestelmänvalvojatiimeillä ei ole yhteisiä tavoitteita, on esimiehiä syyttää siitä, että tiimien välinen kommunikaatio ei ole järjestetty. Tämän ongelman ratkaisemiseksi ei tarvita uutta metodologiaa, vaan järjestelmää esimiesten arvioimiseksi alaisten palautteen perusteella. Voit lukea sen täältä, mitä kysymyksiä työntekijäkyselylomakkeisiin tulisi sisällyttää.

Mikä on DevOps-metodologia ja kuka sitä tarvitsee
Photo Shoot Ed Ivanushkin /Flickr/CC BY-SA

Kuka on DevOps-insinööri

DevOps-insinööri toteuttaa DevOps-metodologian. Se synkronoi ohjelmistotuotteen luomisen kaikki vaiheet: koodin kirjoittamisesta sovelluksen testaamiseen ja julkaisuun. Tällainen asiantuntija ohjaa kehitys- ja hallintoosastoja sekä automatisoi niiden tehtävien suorittamisen ottamalla käyttöön erilaisia ​​ohjelmistotyökaluja.

DevOps-insinöörin temppu on siinä, että hän yhdistää monia ammatteja: ylläpitäjä, kehittäjä, testaaja ja johtaja.

Joe Sanchez, DevOps-evankelista VMwaressa, virtualisointiohjelmistoyhtiössä, korostettu useita taitoja, jotka DevOps-insinöörillä on oltava. Ilmeisen DevOps-metodologian tuntemuksen lisäksi tällä henkilöllä tulee olla kokemusta Windows- ja Linux-käyttöjärjestelmien hallinnasta sekä kokemusta automaatiotyökalujen, kuten esim. KokkinukkeAnsible. Hänen pitäisi myös pystyä kirjoittamaan skriptejä ja koodia parilla kielellä ja ymmärtää verkkoteknologioita.

DevOps-insinööri on vastuussa sovellusten konfigurointiin ja käyttöönottoon liittyvien tehtävien automatisoinnista. Ohjelmistojen valvonta laskeutuu myös hänen harteilleen. Näiden ongelmien ratkaisemiseen hän käyttää erilaisia ​​konfiguroinnin hallintajärjestelmiä, virtualisointiratkaisuja ja pilvityökaluja resurssien tasapainottamiseen.

Kuka palkkaa

DevOps-insinöörit voivat hyötyä kaikille organisaatioille, jotka kehittävät sovelluksia tai hallitsevat suuria määriä palvelimia. DevOps-insinöörit palkkaavat IT-jättiläiset, kuten Amazon, Adobe ja Facebook. He toimivat myös Netflixissä, Walmartissa ja Etsyssä.

Ei palkkaamista DevOps-insinöörit ovat vain startup-yrityksiä. Heidän tehtävänsä on julkaista vähintään elinkelpoinen tuote uuden idean testaamiseksi. Useimmissa tapauksissa käynnistysyritykset voivat pärjätä ilman DevOpsia.

Paljonko maksaa

DevOps-insinöörit ansaita enemmän kuin kukaan muu alalla. Tällaisten asiantuntijoiden keskimääräiset tulot ympäri maailmaa vaihtelevat 100 - 125 tuhatta dollaria vuodessa.

Yhdysvalloissa he päästä 90 tuhatta dollaria vuodessa (500 tuhatta ruplaa kuukaudessa). Kanadassa he maksaa 122 tuhatta dollaria vuodessa (670 tuhatta ruplaa kuukaudessa) ja Isossa-Britanniassa - 67,5 tuhatta puntaa vuodessa (490 tuhatta ruplaa kuukaudessa).

Mitä tulee Venäjälle, Moskovan yhtiöihin valmis maksaa DevOps-asiantuntijoille 100-200 tuhatta ruplaa kuukaudessa. Pietarissa työnantajat ovat hieman anteliaimpia - he tarjoavat 160–360 tuhatta ruplaa kuukaudessa. Alueilla palkat ovat 100–120 tuhatta ruplaa kuukaudessa.

Kuinka tulla DevOps-asiantuntijaksi

DevOps on suhteellisen uusi suunta IT:ssä, joten DevOps-insinööreille ei ole olemassa vakiintunutta vaatimuslistaa. Avoimilta työpaikoilta löytyy tämän tehtävän vaatimuksista sekä Debian- että CentOS-hallintataidot sekä kyky työskennellä levyasemien kanssa. RAID-ryhmät.

Tämän perusteella voimme päätellä, että ennen kaikkea DevOps-insinöörillä on oltava hyvät tekniset näkymät. Tällaiselle henkilölle on tärkeää oppia jatkuvasti uusia työkaluja ja tekniikoita.

Helpoin tapa tulla DevOps-insinööriksi on järjestelmänvalvoja tai kehittäjä. Heillä on jo useita taitoja, joita on vain kehitettävä. Päätehtävänä on parantaa DevOpsin vähimmäisosaamista, ymmärtää kuinka työskennellä automaatiotyökalujen kanssa ja täyttää aukot hallinnon, ohjelmoinnin ja virtualisoinnin taidoissa.

Ymmärtääksesi, missä tietoa vielä puuttuu, voit käyttää mini-Wikipedia GitHubissa tai henkinen kartta. Myös Hacker Newsin asukkaat suositella lukea kirjoja "Projekti "Phoenix""Ja"DevOps-opas"(jotka mainitsimme edellä) ja "DevOps-filosofia. IT-johtamisen taide» O'Reilly Median leiman alla.

Voit myös tilata Devops Weekly -uutiskirje, lue ajankohtaisia ​​artikkeleita portaali DZone ja aloita kommunikointi DevOps-insinöörien kanssa Hidas keskustelu. Kannattaa myös tutustua ilmaisiin kursseihin Udacity tai EDX.

Postauksia blogistamme:



Lähde: will.com

Lisää kommentti