1. Upravljanje poslovnim operacijama Odabir najboljeg pružatelja usluga oblaka, značajki i alata za DevOps

Autor: Emily Freeman

Uspjeh vaše DevOps inicijative u velikoj se mjeri oslanja na praćenje postupka, ali je također važno koristiti prave alate. Odabir pružatelja usluga oblaka nije lak izbor, posebno kada je DevOps vaša pokretačka motivacija. GCP (Google Cloud Platform), AWS (Amazon Web Services) i Azure imaju više zajedničkog nego što razdvajaju.

Često vaša odluka više ovisi o razini komfora vašeg tima DevOps s određenim pružateljem oblaka ili trenutnim paketom više od samog pružatelja usluga oblaka. Nakon što se odlučite za prelazak u oblak, sljedeća je odluka da odlučite o pružatelju usluge oblaka koji odgovara vašim DevOps potrebama. Evo nekoliko stvari koje treba uzeti u obzir prilikom procjene davatelja usluga oblaka s principima DevOps:

  • Solidna evidencija. Oblak koji odaberete trebao bi imati povijest odgovornih financijskih odluka i dovoljno kapitala za rad i širenje velikih podatkovnih centara tijekom desetljeća. Usklađenost i upravljanje rizikom. Formalna struktura i utvrđene politike usklađivanja ključne su za osiguravanje sigurnih i sigurnih podataka. U idealnom slučaju pregledajte revizije prije nego što potpišete ugovore. Pozitivan ugled. Povjerenje kupaca apsolutno je ključno. Vjerujete li da se možete pouzdati u ovog davatelja usluga oblaka da će nastaviti rasti i podržavati svoje razvijajuće se DevOps potrebe? Ugovori o razini usluge (SLA). Koju razinu usluge želite? Obično pružatelji usluga oblaka nude različite razine pouzdanosti rada na temelju troškova. Na primjer, 99,9 posto produženog radnog vremena bit će znatno jeftinije od produženog 99,999 posto. Metrike i nadzor. Koje vrste uvida u aplikacije, nadzor i telemetrija pruža dobavljač? Budite sigurni da možete steći odgovarajuću razinu uvida u svoje sustave što je moguće bliže realnom vremenu.

Na kraju, osigurajte da pružatelj usluga oblaka kojeg odaberete ima izvrsne tehničke mogućnosti koje pružaju usluge koje zadovoljavaju vaše specifične DevOps potrebe. Općenito, potražite

  • Mogućnosti računanja Rješenja za skladištenje Značajke implementacije Zapisivanje i nadgledanje Prijateljska korisnička sučelja

Također biste trebali potvrditi sposobnost implementacije hibridnog cloud rješenja u slučaju da trebate u nekom trenutku, kao i upućivati ​​HTTP pozive na druge API-je i usluge.

Tri glavna pružatelja usluga oblaka su Google Cloud Platform (GCP), Microsoft Azure i Amazon web Services (AWS). Također možete pronaći manje davatelje oblaka i sigurno brojne privatne pružatelje usluga oblaka, ali većina onoga što trebate znati dolazi od usporedbe javnih pružatelja usluga oblaka.

Web usluge Amazon (AWS)

Kao i drugi veliki javni pružatelji usluga oblaka, AWS nudi računanje na zahtjev putem pretplate uz naplatu. Korisnici AWS-a mogu se pretplatiti na bilo koji broj usluga i računalnih resursa. Amazon je trenutni lider na tržištu među pružateljima usluga oblaka koji drži većinu pretplatnika u oblaku.

Nudi robustan skup značajki i usluga u regijama širom svijeta. Dvije najpoznatije usluge su Amazon Elastic Compute Cloud (EC2) i Amazon Simple Storage Service (Amazon S3). Kao i kod drugih pružatelja usluga oblaka, uslugama se pristupa i pruža se infrastruktura putem API-ja.

Microsoft Azure

Prije nego što je Microsoft pokrenuo ovog pružatelja usluga oblaka kao Microsoft Azure, zvao se Windows Azure. Microsoft ga je dizajnirao da radi upravo ono što naziv podrazumijeva - služi kao pružatelj usluga oblaka za tradicionalno Windows IT organizacije. No kako je tržište postajalo konkurentnije i Microsoft je počeo bolje razumijevati tehnički krajolik, Azure se prilagođavao, rastao i evoluirao.

Iako još uvijek manje robustan od AWS-a, Azure je dobro zaokružen pružatelj usluga oblaka koji je usredotočen na korisničko iskustvo. Kroz različite lansiranje i akvizicije proizvoda - posebno GitHub - Microsoft je uložio velika ulaganja u Linux infrastrukturu, što mu je omogućilo snažnije usluge široj publici.

Google Cloud Platform (GCP)

Google Cloud Platform (GCP) ima najmanji tržišni udio od tri glavna pružatelja javnih usluga u oblaku, ali nudi značajan niz usluga u oblaku u gotovo dvije desete geografskih regija.

Možda je najprivlačniji aspekt GCP-a taj što on nudi korisnicima istu infrastrukturu koju Google koristi interno. Ova infrastruktura uključuje izuzetno moćne usluge računanja, pohrane, analitike i strojnog učenja. Ovisno o vašem konkretnom proizvodu, GCP može imati specijalizirane alate koji nedostaju (ili manje zreli) u AWS-u i Azure-u.

Pronalaženje DevOps alata i usluga u oblaku

Bukvalno stotine alata i usluga stoje vam na raspolaganju putem glavnih pružatelja usluga oblaka. Ti se alati i usluge obično dijele na sljedeće kategorije:

  • prebrojavati skladištenje Umrežavanje Upravljanje resursima Oblačna umjetna inteligencija (AI) Identitet sigurnosti serverless IOT

Slijedi popis najčešće korištenih usluga za sva tri glavna pružatelja usluga oblaka. Te usluge uključuju implementaciju aplikacija, upravljanje virtualnim strojevima (VM), orkestraciju spremnika, funkcije bez poslužitelja, pohranu i baze podataka.

Uključene su dodatne usluge kao što su upravljanje identitetom, blok pohrana, privatni oblak, pohrana tajni i još mnogo toga. To je daleko od iscrpnog popisa, ali može vam poslužiti kao solidna osnova dok počnete istraživati ​​svoje mogućnosti i osjećate se u čemu se razlikuju pružatelji usluga oblaka.

  • Implementacija aplikacije: Platforma kao servisno (PaaS) rješenje za raspoređivanje aplikacija na različitim jezicima, uključujući Java, .NET, Python, Node.js, C #, Ruby i Go Azure: Usluge oblaka Azure AWS: AWS elastični beanstalk GCP: Google App Engine
  • Upravljanje virtualnim strojem (VM): Infrastruktura kao usluga (IaaS) opcija za pokretanje virtualnih strojeva (VM-ova) s Linuxom ili Windows-om Azure: Virtualni strojevi Azure AWS: Amazon EC2 GCP: Google Compute Engine
  • Upravljani kuberneti: Omogućuje bolje upravljanje spremnicima putem popularnog orkestra Kubernetes Azure: Azure Kubernetes Service (AKS) AWS: Amazonska usluga za elastične spremnike (ECS) za Kubernetes GCP: Google Kubernetes Engine
  • Bez poslužitelja: Omogućuje korisnicima stvaranje logičkih tijekova funkcija bez poslužitelja Azure: Azure funkcije AWS: AWS Lambda GCP: Google Cloud Functions
  • Spremanje u oblaku: Nestrukturirano spremanje predmeta s predmemoriranjem Azure: Azure Blob Storage AWS: Amazon S3 GCP: Google Cloud Storage
  • Baze podataka: SQL i NoSQL baze podataka, na zahtjev Azure: DB Azure Cosmos AWS: Amazonska usluga relacijske baze podataka (RDS) i Amazon DynamoDB (NoSQL) GCP: Google Cloud SQL i Google Cloud BigTable (NoSQL)

Dok istražujete tri glavna pružatelja usluga oblaka, primijetit ćete dugačak popis usluga. Možda ćete se osjećati preplavljeno stotinama opcija koje su vam na raspolaganju. Ako slučajno ne možete pronaći ono što vam treba, tržište će vjerojatno osigurati nešto slično. Tržište je mjesto gdje neovisni programeri nude usluge koje se povezuju u oblak - a domaćin je Azure, AWS ili GCP.

Donja tablica sadrži dodatne usluge koje pruža većina, ako ne i svi davatelji usluga oblaka.

  1. Upravljanje poslovnim operacijama Zašto je DevOps bitan: 11 načina DevOps koristi vašoj organizaciji

Autor: Emily Freeman

Ako se pravilno izvrši, DevOps nudi značajne prednosti za vašu organizaciju. Ovaj članak predstavlja ključne točke koje treba znati kako DevOps koristi vašoj organizaciji. Upotrijebite ga kao referencu kako biste uvjerili svoje kolege ili kako biste pojačali svoje razumijevanje zašto ste se odlučili krenuti DevOps rutom kada cesta postane neravna.

Prednosti DevOps

DevOps vam pomaže prihvatiti stalne promjene

Tehnološki krajolik je okruženje koje se stalno mijenja. Neki se jezici razvijaju i stvaraju se novi. Okviri dolaze i odlaze. Infrastrukturni alati mijenjaju se kako bi zadovoljili sve veće zahtjeve za učinkovitijim hostingom aplikacija i bržim pružanjem usluga. Alati i dalje apstraktno računaju na niskoj razini kako bi smanjili režijske troškove.

Jedina konstanta je promjena. Vaša sposobnost prilagođavanja toj promjeni odredit će vaš uspjeh kao pojedinačnog suradnika, menadžera ili izvršnog osoblja. Bez obzira na ulogu koju trenutno ispunjavate u svojoj tvrtki ili se nadamo da će na kraju igrati, od vitalnog je značaja brzo se prilagoditi i ukloniti što više trenja iz rasta. DevOps vam omogućuje prilagođavanje i rast poboljšavajući komunikaciju i suradnju.

DevOps obuhvaća oblak

Oblak nije budućnost; sniježi. Iako još uvijek prijelazite ili se još niste spremni preseliti, shvatite da je oblak put naprijed za sve tvrtke, osim nekoliko. Pruža vam veću fleksibilnost od tradicionalne infrastrukture, smanjuje stres poslovanja i (obično) košta znatno manje zbog strukture cijena s isplativim troškovima.

Javni, privatni i hibridni oblaci pružaju vam beskrajne mogućnosti za bolje vođenje poslovanja. Mogućnost centriranja (pokretanja) resursa u roku od nekoliko minuta većina je tvrtki koje nikad nisu iskusile prije oblaka.

Ova okretnost koju pruža oblak ide ruku pod ruku s DevOpsom. Omri Gazitt iz tvrtke Puppet, tvrtka usmjerena na automatizaciju i upravljanje konfiguracijom, najbolje je zaključila: "Dok se organizacije kreću u oblak, one preispituju svoje osnovne pretpostavke o načinu isporuke softvera."

Pomoću oblaka API-ji povezuju sve usluge, platformu i infrastrukturni alat kako biste mogli nesmetano upravljati svojim resursima i aplikacijom. Dok migrirate u oblak, možete precjenjivati ​​prošle odluke o arhitekturi i polako prelaziti vašu aplikaciju i sustav u izvorni oblak ili dizajnirani s obzirom na oblak.

DevOps vam pomaže zaposliti najbolje

Zbog povećane potražnje, veliki su inženjeri oskudni. Jednostavno nema dovoljno inženjera koji bi mogli ispuniti sve trenutno otvorene poslove ili zadovoljiti potražnju na tržištu tijekom sljedećeg desetljeća i šire. Iako pronalazak inženjera može biti teško, nije nemoguće, pogotovo ako se usredotočite na otkrivanje inženjera koji prihvaćaju radoznalost i ne boje se uspjeti. Ako implementirate DevOps u svoju cjelokupnu inženjersku kulturu, možete usavršiti inženjere i obučiti ih u metodologiji i tehnologiji koja podržava kontinuirano poboljšavanje.

Teško je izmjeriti potencijal u intervjuu. Obično talent šapuće. Najtalentiraniji inženjeri obično nisu pohlepni i bahati; pustili su da njihov rad govori umjesto njih. DevOps vam omogućuje da pažljivije slušate osobne i profesionalne interese inženjera s kojima razgovarate.

Pokušajte birati kandidate na temelju razine znatiželje, komunikacijskih vještina i entuzijazma. Te kvalitete mogu vaš tim vidjeti kroz polja straha, neizvjesnosti i sumnje. Oni mogu voditi tim putem teških odluka, donesenih u ograničenjima, u pokušaju rješavanja teških problema.

Možete naučiti nekoga vještini, ali naučiti nekoga kako učiti je potpuno drugačija stvar. Kultura učenja koju kreirate u svojoj DevOps organizaciji omogućuje vam da odredite prioritet razvoja rasta nad tehničkim sposobnostima. U DevOpsu je angažiranje tima vrlo važno. Svaki pojedinac dio je cjeline, a tim mora holistički uspostaviti ravnotežu. Postizanje ove ravnoteže znači da ponekad ne zaposlite „najboljeg“ inženjera, već zaposlite najboljeg inženjera za tim.

Kad zaposlite za DevOps tim, možete, poput vučnih konja koji su uhvaćeni zajedno, povući više težine nego što biste to mogli pojedinačno. Pomoću DevOps-a možete umnožiti pojedinačne sastavnice svog tima i stvoriti snagu tima u cjelini.

DevOps vas drži konkurentnima

Godišnje Izvješće o stanju DevOps-a koje je objavilo istraživanje i procjena DevOps-a (DORA) jasno daje do znanja: tvrtke širom svijeta koriste DevOps za prilagodbu svojih inženjerskih praksi i iskorištavaju koristi. Uočili su porast inženjerske proizvodnje i smanjenje troškova. Pomoću DevOps-a ove tvrtke prelaze iz nespretnih procesa i sustava na pojednostavljeni način razvoja softvera usmjerenog na krajnjeg korisnika.

DevOps omogućava tvrtkama da stvaraju pouzdanu infrastrukturu i da je koriste kako bi brže i pouzdanije puštali softver. Dno crta je sljedeća: Organizacije s visokim performansama koriste DevOps i usporavaju konkurenciju povećavajući učestalost uvođenja i značajno smanjujući njihove nedostatke koji nastaju zbog promjena u sustavu.

Ako se želite natjecati, morate usvojiti čvrste DevOps metodologije. Možda nisu svi, a definitivno ne svi odjednom - ali vrijeme da pričekate i provjerite vrijedi li DevOps.

DevOps pomaže riješiti ljudske probleme

Ljudi su dosegli točku u našoj evoluciji u kojoj se tehnologija razvija brže od našeg mozga. Stoga su najveći izazovi s kojima su ljudi suočeni s ljudskim ograničenjima, a ne ograničenjima softvera ili infrastrukture. Za razliku od drugih metodologija razvoja softvera, DevOps se holistički fokusira na vaš sociotehnički sustav.

Prihvaćanje DevOps-a zahtijeva promjenu kulture i načina razmišljanja. Ali ako postignete DevOps kulturu i način razmišljanja, vi i vaša organizacija ostvarujete gotovo neograničene koristi. Kad su inženjeri ovlašteni za istraživanje, bez pritiska i straha od neuspjeha, događaju se nevjerojatne stvari.

Inženjeri otkrivaju nove načine rješavanja problema. Oni pristupaju projektima i problemima sa zdravim načinom razmišljanja i djeluju fluidnije, bez nepotrebne i negativne konkurencije.

DevOps izaziva zaposlenike

DevOps ubrzava rast kako inženjera, tako i inženjerskog tima u cjelini. Inženjeri su pametni ljudi. Oni su također prirodno znatiželjni. Izvrsnom inženjeru koji prihvaća način razmišljanja o rastu potrebni su novi izazovi nakon što svladaju određenu tehnologiju, alat ili metodologiju ili se često osjećaju u zastoju.

Moraju se osjećati kao da im se mozak i skupovi vještina protežu - ne do te mjere da su preopterećeni ili pod stresom, nego dovoljno da osjete kako rastu. To je napetost koju je opisao Dan Pink u Driveu. Ako uspijete uspostaviti ravnotežu, vaši će inženjeri napredovati - kao pojedinci i kao tim.

Metodologija DevOps promiče vještine u obliku slova T, što znači da su se inženjeri specijalizirali za jedno područje s dubokim znanjem i širokim razumijevanjem mnogih drugih područja. Ovaj pristup omogućuje inženjerima da istražuju druga područja od interesa.

Na primjer, inženjer Pythona zanima primjerice oblačnu infrastrukturu. Niti jedna druga inženjerska metodologija ne dopušta i ne potiče inženjere da istražuju koliko DevOps radi, a to ogromno doprinosi zapošljavanju i zadržavanju talenta.

DevOps premošćuje praznine

Jedan od izazova modernih tehnoloških tvrtki je taj jaz između potreba poslovanja i potreba inženjeringa. U tradicionalnoj tvrtki, s tradicionalnim strategijama upravljanja, postoji prirodno trenje između inženjeringa i odjela poput marketinga, prodaje i razvoja poslovanja. Ovo trenje proizlazi iz nedostatka poravnanja. Svaki odjel mjeri se različitim pokazateljima uspjeha.

DevOps nastoji objediniti svaki odjel poslovanja i stvoriti zajedničko razumijevanje i poštovanje. Poštivanje radnih mjesta i doprinosa jednih drugih omogućava onoj koja svaka osoba u tvrtki može napredovati. Uklanja trenje i poboljšava ubrzanje.

Razmislite o timu slanica. Ako se svaki pas kreće u zasebnim smjerovima, sankanje ne ide nigdje. Zamislite da psi rade zajedno, usredotočeni na kretanje naprijed - zajedno. Kad vam nedostaje trenja iznutra, jedini su izazovi s kojima se suočavate vanjski, a vanjski izazovi gotovo uvijek podesniji od unutarnjih svađa.

DevOps vam omogućuje da ne uspijete dobro

Neuspjeh je neizbježan. To je jednostavno neizbježno. Zbog svih nepoznanica nije moguće predvidjeti svaki način na koji vaš sustav može uspjeti. (I može spektakularno propasti, zar ne?) Umjesto da po svaku cijenu izbjegnete neuspjeh i osjećate se slomljenim kada se neuspjeh dogodi, možete se pripremiti za njega. DevOps priprema organizacije da reagiraju na neuspjeh, ali ne na paničan, stresno izazvan način.

Incidenti će uvijek uključivati ​​određenu razinu stresa. U nekom trenutku duž vaše zapovjedne strukture, izvršni direktor će vjerojatno vrištati na novac izgubljen tijekom nestanka usluge. Ali možete smanjiti stres koji vaš tim doživljava upotrebom neuspjeha kao načina učenja i prilagođavanja vašeg sustava da postane otporniji.

Svaki incident je prilika da se poboljšaju i rastu, kao pojedinci i kao tim.

DevOps prihvaća kaizen, umjetnost stalnog usavršavanja. Kad iskustva vašeg tima prođu u njihovom radu, oni mogu svaki dan donositi sitne odluke koji doprinose dugoročnom rastu i, na kraju, boljem proizvodu.

DevOps vam omogućuje kontinuirano poboljšavanje

Stalno poboljšavanje ključni je sastojak DevOps-a. Koristite vizualizaciju neprekidnog ciklusa kada primjenjujete DevOps u svoju organizaciju. U ciklusu se ne bi trebali pozivati ​​na strahove misli o Sizifu, gurajući gromad na brdo za čitavu vječnost. Umjesto toga, mislite na ovaj ciklus kao na kretanje, poput snježne kugle koja se kotrlja nizbrdo, skupljajući zamah i masu.

Dok usvajate DevOps i integrirate sve više i više temeljnih načela u svoj svakodnevni tijek rada, svjedočit ćete ovom ubrzanju iz prve ruke. Ciklus neprekidnog poboljšanja uvijek bi trebao biti središnji oko kupca. Stalno morate razmišljati o krajnjem korisniku i integrirati povratne informacije u životni ciklus isporuke softvera.

Temeljno za ovaj ciklus je CI / CD. Usvajanje CI / CD-a nije zahtjev sve ili gotovo ništa od DevOps-a; umjesto toga, to je spor proces implementacije. Prvo se morate usredotočiti na savladavanje kontinuirane integracije. Potaknite inženjere da slobodno dijele kôd i često spajaju kôd. Ovaj pristup sprječava da izolacija i silosi postanu blokatori u vašoj inženjerskoj organizaciji.

Nakon što vaša organizacija ovlada kontinuiranom integracijom, prijeđite na kontinuiranu isporuku, praksu automatizacije isporuke softvera. Ovaj korak zahtijeva automatizaciju jer će se kôd kretati kroz više provjera kako bi se osigurala kvaliteta. Nakon što je sav vaš kôd siguran i dostupan u spremištu izvornog koda, možete započeti kontinuirano provoditi male promjene. Vaš je cilj ukloniti ručne prepreke i poboljšati sposobnost vašeg tima otkriti i ispraviti bugove bez utjecaja kupca.

DevOps automatizira napor

Ubrzanje i povećana učinkovitost su srž DevOps metodologije. Automatizirajući radno intenzivne ručne procese, DevOps oslobađa inženjere da rade na projektima koji softver i sustave čine pouzdanijima i lakšima za održavanje - bez kaosa neočekivanih prekida u radu.

Inženjering pouzdanosti web mjesta (SRE) bavi se naporima, što je posao potreban za održavanje i pokretanje usluga, ali je ručan i ponavljajući. Trup se može automatizirati i nema dugoročnu vrijednost. Možda najvažnije od svega, linearno se mjeri vaga, što ograničava rast. Imajte na umu da se napor ne odnosi na prekomjerne administrativne potrebe kao što su sastanci i planiranje. Ova vrsta posla, ako se provodi s DevOps mentalitetom, korisna je za dugoročno ubrzanje vašeg tima.

Jedno od glavnih načela alata vaše DevOps prakse je automatizacija. Možete automatizirati cjevovod za implementaciju tako da uključuje detaljan testni paket kao i druga vrata kroz koja se mora proći kod da bi se mogao osloboditi. U mnogočemu, SRE je sljedeći logični korak u razvoju DevOps-a i trebao bi biti vaš sljedeći korak nakon što vi i vaša organizacija ovladate temeljnim konceptima DevOps-a i primijenite praksu u svom timu.

DevOps ubrzava isporuku

Životni ciklus isporuke softvera razvio se iz sporog i linearnog vodopada u okretnu i kontinuiranu petlju DevOps-a. Ne proizvodite više proizvod, ne razvijate ga u potpunosti i zatim ga puštate kupcima, nadajući se njegovom uspjehu.

Umjesto toga, stvarate petlju za povratne informacije oko kupca i kontinuirano dostavljate iterativne promjene na vaše proizvode. Ovaj spojeni krug omogućuje vam neprestano poboljšavanje značajki i osiguravanje da je kupac zadovoljan onim što isporučujete.

Kad povežete sve točke i potpuno usvojite DevOps u svojoj organizaciji, gledate kako vaš tim može brže isporučiti bolji softver. Promjene će u početku biti male, baš kao i promjene koje objavite. Ali s vremenom, te naizgled beznačajne promjene zbrajaju i stvaraju tim koji ubrzava isporuku kvalitetnog softvera.

  1. BusinessOperations ManagementZaradite više alata u oblaku: automatizacija DevOps u oblaku

Autor: Emily Freeman

Udajavanje u oblak pomoću vaše DevOps prakse može ubrzati posao koji ste već obavili. Ako se zajedno koriste, i DevOps i oblak mogu pokrenuti digitalnu transformaciju vaše tvrtke.

Rezultate ćete vidjeti dok budete naglašavali prioritete DevOps-a: ljudi, proces i tehnologija. Oblak - zajedno s ostalim alatima - pada izravno u tehnički dio vaše DevOps implementacije.

DevOps i računalstvo u oblaku

Računarstvo u oblaku omogućuje automatizaciju za programere i radnike na način na koji jednostavno nije moguće kada upravljate vlastitom fizičkom infrastrukturom. Pružanje infrastrukture putem koda u oblaku - što je sustav koji se naziva Infrastruktura kao kod (IaC) - omogućava vam stvaranje predložaka i ponovljivih procesa.

Kada pratite promjene na vašem infrastrukturnom kodu putem kontrole izvora, dopuštate svom timu da neometano radi i prati promjene. IaC je puno ponovljiviji i automatiziraniji - da ne spominjemo brže - nego što inženjeri klikaju po portalu.

Čak ni upute na portalu nisu bezveze. Rizikujete da napravite male, ali značajne promjene u postavljanju infrastrukture ako stalno postavljate istu postavku putem portala, a ne YAML datoteke.

Prenošenje svoje DevOps kulture u oblak

Ljudi često govore o DevOpsu i računalstvu u oblaku kao da su isprepleteni i na mnogo načina oni jesu. Međutim, budite svjesni da možete usvojiti DevOps - ili započeti transformirati vašu inženjersku organizaciju - bez da sve idete u oblak. Potpuno je razumno da prije uspostave svoje infrastrukture na davatelja usluga oblaka prvo uspostavite standarde, postupke i procese za svoj tim.

Iako ljudi govore kao da su svi već na oblaku, vi ste još uvijek na oštrom rubu pomaka u oblaku. Davatelji oblaka postaju iz dana u dan robusniji, a inženjerske tvrtke polako prelaze svoje usluge hostovanja u oblak. Imajući to u vidu, organizaciju koja želi usvojiti DevOps bilo bi mudro ozbiljno razmotriti korištenje usluga glavnog davatelja usluga oblaka.

Svatko tko ima DevOps iskustvo ne bi oblak nazvao rješenjem NoOps, ali mogli bi ga nazvati OpsLite. Cloud usluge često apstraktiraju arhitekturu složenih operacija na način što arhitekturu čini više prijatnom za programere i omogućuje im da preuzmu više vlasništva nad svojim komponentama.

Ako ste ikad gunđali da bi programeri trebali biti uključeni u rotaciju dežurstva, u pravu ste - trebali bi biti. Uključivanje programera u rotaciju dežurstva izvrstan je način za širenje njihovog znanja o primjeni koda kao i upravljanju i pružanju infrastrukture na kojoj se vrše njihove usluge. To smanjuje operativne troškove i oslobađa vrijeme stručnjaka za rad na proaktivnim rješenjima.

Učenje putem usvajanja DevOpsa

Ako je vaš tim sposoban istovremeno prihvaćati DevOps i preusmjeravati na korištenje računalstva u oblaku, ove smjene možete koristiti kao mogućnosti učenja i za programere i za radnike.

Dok se vaš tim prebacuje u oblak, programeri imaju priliku upoznati stručnjake za operacije s kodom - možda čak i specifičnim jezicima - i kontrolom izvora, a ljudi iz rada mogu naučiti programere o infrastrukturi. Kad su obje grupe i stručnjaci i novorođenčadi, nijedna se grupa ne mora baviti velikim dijelom ego-štetnog prijenosa znanja.

Povjerenje, odnos i zdrava dinamika koji proizlaze iz tih interakcija potaknut će vaš tim i trajat će mnogo duže od neposrednog rada. Na mnogo načina poboljšavate DevOps kulturu pomoću alata za svoju DevOps praksu.

Koristeći usluge oblaka u vašoj DevOps inicijativi

Moderne operacije se mijenjaju i razvijaju. Vaši konkurenti već prihvaćaju nove načine bržeg inoviranja i ubrzavaju životni ciklus isporuke softvera.

Računarstvo u oblaku predstavlja veliki pomak od tradicionalnog načina na koji poduzeća razmišljaju o IT resursima. Ako outsourcing veći dio vaše infrastrukture i operativnih zahtjeva za davatelja usluga oblaka, smanjujete režijske troškove i oslobađate svoj tim da se usredotoče na pružanje boljeg softvera svojim korisnicima.

Evo šest uobičajenih razloga zbog kojih se organizacije okreću uslugama računanja u oblaku:

  • Poboljšanje pristupačnosti. Davatelji usluga oblaka omogućuju vam da odaberete samo usluge koje su vam potrebne kada vam trebaju. Zamislite kad biste mogli pristupiti kablovskoj televiziji, ali plaćate samo kanale koje gledate. Vi biste to voljeli, zar ne? Većina članova DevOps tima bi! Davatelji usluga u oblaku to čine, a istovremeno vam pružaju najsuvremeniji računalni hardver smješten u fizički sigurnim centrima podataka. Automatiziranje implementacije. Promjene u sustavu - implementacije - najčešći su doprinosi prekida rada ili prekida usluga. Davatelji usluga u oblaku objavljuju kôd automatiziranim, ponovljivim postupkom, značajno smanjujući vjerojatnost pogreške u ručnim izdanjima i uvođenjem pogrešaka. Automatizirane implementacije također omogućuju programerima da oslobode vlastiti kod. Konačno, automatizirane implementacije pojednostavljuju postupak uz smanjenje vremena zastoja i reakcijskog pokretanja proizvodnje. Ubrzavanje isporuke. Oblak smanjuje trenje gotovo svake faze životnog ciklusa isporuke softvera. Iako je postavljanje potrebno, često vam nije potrebno dvostruko vrijeme potrebno za ručni postupak, a uslugu ili postupak morate postaviti samo jednom. Ubrzana isporuka pruža vam fleksibilnost. Povećanje sigurnosti. Davatelji usluga u oblaku sigurnost čine dio njihove ponude. Microsoft Azure, web usluge Amazon (AWS) i Google Cloud Platform (GCP) udovoljavaju različitim standardima usklađenosti i pružaju politike, usluge i kontrole koje će vam pomoći da pojačate sigurnost vašeg sustava. Pored toga, ako koristite alat cjevovoda za implementaciju u oblaku, možete dodati provjere sigurnosti prije nego što se novi kôd pusti u okruženje, čime se smanjuje mogućnost sigurnosnih ranjivosti. Smanjenje neuspjeha. Kroz cjevovode za izgradnju i oslobađanje oblaka, vaš tim može stvoriti automatizirane testove za potvrdu funkcionalnosti, kvalitete koda, sigurnosti i usklađenosti bilo kojeg koda koji je uveden u vaše sustave. Ova sposobnost smanjuje mogućnost pogreške i istovremeno smanjuje rizik od problematičnih implementacija. Izgradnja otpornijih i skalabilnijih sustava. Oblak omogućuje organizacijama da se u nekoliko sekundi povećaju, povećaju i povećaju kapacitet. Ovo elastično skaliranje omogućava pretvaranje resursa za računanje i pohranu po potrebi, bez obzira gdje u svijetu vaši korisnici komuniciraju s vašim proizvodom. Ovakav pristup vam omogućuje bolje služenje kupcima i efikasnije upravljanje infrastrukturnim troškovima.

DevOps pristup odnosi se na stvaranje cikličke metode u kojoj imate koristi i učite iz procesa svaki put kad ga prođete.

  1. Savjeti za upravljanje poslovnim operacijama za poboljšanje inženjerskih performansi pomoću DevOpsa

Autor: Emily Freeman

Poboljšanje performansi inženjeringa kao dijela DevOps procesa može imati znatan utjecaj na cjelokupno poslovanje. Racionalizacija razvojnog životnog ciklusa i uklanjanje uskih grla poslužit će ubrzavanju ukupnog učinka poslovanja - što u konačnici povećava krajnju vrijednost. Ako mislite da kao inženjer DevOps-a da se ne treba brinuti o poslovnom učinku, griješite.

Prema DevOps istraživanju i procjeni (DORA), uspješni DevOps timovi dosljedno nadmašuju svoje konkurente u četiri ključna područja:

  • Učestalost uvođenja: ovaj se termin odnosi na to koliko često vaši inženjeri mogu implementirati kôd. Poboljšanje performansi poravnava se s postavljanjem više puta dnevno po želji. Vodeće vrijeme: vrijeme prikazivanja je koliko vremena trebate prijeći od počinjenja novog koda do pokretanja tog koda u proizvodnom okruženju. Prema DORA-i, najbolji izvođači imaju rok trajanja ispod sat vremena, dok prosječni izvođači trebaju i do mjesec dana. MTTR (Srednje vrijeme za oporavak): MTTR se odnosi na to koliko vremena vam je potrebno da obnovite uslugu nakon incidenta ili nestanka. U idealnom slučaju želite ciljati ispod jednog sata. Prekid košta ozbiljan novac, posebno ako utječe na profitne centre aplikacije. Dugi prekidi uništavaju povjerenje, smanjuju moral i podrazumijevaju dodatne organizacijske izazove. Neuspjeh promjene: ovaj se termin odnosi na brzinu kojom promjene u vašem sustavu negativno utječu na performanse. Iako nikada nećete postići stopu otkaza promjene od nula posto, apsolutno se možete približiti nuli povećanjem automatiziranih testova i oslanjajući se na cjevovod za implementaciju s neprekidnim provjerama integracije i prolazima - koji svi osiguravaju kvalitetu.

Eliminiranje savršenstva kao mjera uspješnosti DevOps-a

DevOps se oslanja na mantru „Gotovo je više nego savršeno.“ Čini se da je to jedan od tih nemogućih atributa, ali riječi ipak govore istinu. Pokušaj postizanja savršenstva neprijatelj je učinkovitosti i produktivnosti.

Većina inženjera, uključujući one iz DevOps sorte, pati od neke verzije analize-paralize - mentalne nevolje koja ograničava vašu produktivnost u pokušaju da prenaglašate svoj rad i zaobiđu bilo koji mogući neuspjeh.

Nedostatak treninga u vašem poslu zahtijeva da prihvatite mogućnost neuspjeha i neizbježnost ponovnog osmišljavanja. Stvaranje petlje za povratne informacije oko kupca i vraćanje u različite faze cjevovoda primarni su stanari DevOpsa. U DevOpsu spajate krajeve kako biste savili liniju u krug.

Kad iterativno i kružno mislite, izbacivanje koda koji nije savršen čini se mnogo manje zastrašujućim jer kôd nije uklesan u kamen. Umjesto toga, inženjeri DevOpsa privremeno se poboljšavaju dok prikupljaju više podataka i povratnih informacija.

Dizajniranje malih timova za DevOps

Vjerojatno ste čuli za amazonove "dvije pizze" timove. Koncept uglavnom govori o važnosti timova male veličine. Točan broj ljudi koji čine tim za dvije pizze varira u skladu s vašim apetitima.

Dobra je ideja držati timove ispod 12 ljudi. Kad se grupa približi 9, 10 ili 11 ljudi, pokušajte podijeliti na dvije. Slatko mjesto za veličinu grupe je oko 4-6 ljudi. Vaš točan broj može varirati ovisno o ljudima koji su uključeni, ali poanta je sljedeća: Kad su grupe prekomjerne, komunikacija postaje izazovna, pojavljuju se klike i timski rad.

Evo još jednog bonus cilja prilikom formiranja DevOps timova: parni brojevi. Dobra je ideja dati ljudima "prijatelja" na poslu - nekome kome mogu vjerovati iznad svih. U grupama s brojevima svi imaju prijatelja i nitko ne propušta. Možete se pariti ravnomjerno, a čini se da dobro funkcionira. Formiranje grupa s parnim brojevima nije uvijek ostvarivo zbog broja osoblja, ali treba imati na umu.

Formula za mjerenje komunikacijskih kanala je n (n - 1) / 2, gdje n predstavlja broj ljudi. Možete procijeniti koliko će složena komunikacija vašeg tima biti jednostavnim izračunom. Na primjer, formula za tim od dvije pizze od 10 bila bi 10 (10 - 1) / 2 = 45 komunikacijskih kanala. Možete zamisliti kako složeni veći timovi mogu postati.

Praćenje vašeg DevOps djela

Ako uspijete prevladati preko toga što ćete zapisati što radite svaki dan, rezultati će vam pružiti izuzetnu vrijednost. Imajući stvarne podatke o tome kako koristite svoje vrijeme pomaže vam u praćenju učinkovitosti vas i vašeg tima. Kao što je Peter Drucker slavno rekao, "Ako ne možete mjeriti, ne možete poboljšati."

Koliko dana ostavljate posao osjećajući se kao da niste radili ništa? Imali ste sastanak nakon sastanka ili slučajnih prekida cijeli dan. Nisi sam. Mnogi radnici imaju isti problem. Može biti teško pratiti vaš napredak, a samim tim i vašu produktivnost. Razlika između naših osjećaja učinkovitosti i stvarnosti naše učinkovitosti opasno je područje za bilo koji DevOps tim.

Za to pokušajte koristiti olovku i papir, a ne neki automatizirani alat. Da, pomoću softvera možete pratiti kako provodite vrijeme na računalu. Može vam reći kada čitate e-poštu, kada slabate i kada kodirate, ali nedostaje nijanse i često propušta ili pogrešno kategorizira velike dijelove vremena.

Nakon što steknute ideju što radite i kada, možete početi prepoznavati koje aktivnosti spadaju u koji kvadrant Eisenhower matrice odluka. Koji se užurbani posao bavite rutinski i ne daje vrijednost ni vama ni organizaciji?

Smanjenje trenja u DevOps projektima

Jedna od najboljih stvari koju menadžer može učiniti za DevOps inženjerski tim jest ostaviti ih same. Unajmite znatiželjne inženjere koji su sposobni samostalno riješiti probleme, a zatim ih pustite da rade svoj posao. Što više možete smanjiti trenje koje usporava njihov inženjerski rad, vaš će tim biti učinkovitiji.

Smanjivanje trenja uključuje trenje koje postoji između timova - posebno operacija i razvoja. Ne zaboravite i stručnjake poput sigurnosti.

Usklađivanje ciljeva i poticaja povećava brzinu. Ako su svi usredotočeni na postizanje istih stvari, mogu se pridružiti timu i metodički se približiti tim ciljevima.

Humanizirajuće upozorenje za uspjeh DevOps-a

Svaki inženjerski tim ima upozorenja o radnjama ili događajima koji nisu bitni. Nakon svih tih upozorenja inženjeri desenzificiraju na zaista važne upozorenja. Mnogi su inženjeri postali uvjetovani da ignoriraju upozorenja putem e-pošte zbog prevelike količine poruka.

Umor upozorenja uznemirava mnoge inženjerske organizacije i dolazi s velikom cijenom. Ako vas svakodnevno zaplave, nemoguće je odabrati ono važno iz mora nebitnog. Možete čak reći da su te poruke hitne, ali nisu važne. , , ,

E-pošta nije idealno vozilo za uzbunu jer nije vremenski osjetljiva (mnogi ljudi provjeravaju e-poštu samo nekoliko puta dnevno) i lako se zakopava u druge detalje.

Primjenjujući ono što ste naučili o brzom ponavljanju, redovito preispitajte svoje pragove uzbunjivanja kako biste osigurali odgovarajući iznos pokrivenosti bez previše lažnih pozitivnih rezultata. Prepoznavanje upozorenja koja nisu potrebna zahtijeva vrijeme i rad. I vjerojatno će to biti zastrašujuće, zar ne? Brisanje upozorenja ili povećanje praga uvijek dolazi s malo rizika.

Što ako je upozorenje zapravo važno? Ako jeste, shvatit ćete to. Zapamtite, ne možete se bojati neuspjeha u DevOps organizaciji. Morate je zagrliti kako biste mogli gurati naprijed i kontinuirano se poboljšavati. Ako pustite da strah vodi vaše odluke, stagnirate - kao inženjer i kao organizacija.

  1. Upravljanje poslovnim operacijama Kako formirati DevOps timove u vašoj organizaciji

Autor: Emily Freeman

DevOps nema idealnu organizacijsku strukturu. Kao i sve što se tiče tehnike, "pravi" odgovor u vezi sa strukturom vaše tvrtke ovisi o vašoj jedinstvenoj situaciji: vaš trenutni tim, vaši planovi za rast, veličina vašeg tima, raspoloživi setovi vještina vašeg tima, vaš proizvod i slično.

Usklađivanje vizije vašeg DevOps tima trebalo bi biti vaša prva misija. Tek nakon što uklonite nisko upleteno voće očito trenja među ljudima, započnite s preuređivanjem timova. Čak i tada, dopustite određenu fleksibilnost.

Ako reorganizaciji pristupite otvoreno i fleksibilno, šaljete poruku da ste voljni slušati i dati timu autonomiju - osnovno načelo DevOpsa.

Možda već imate programera Python ili Go koji je strastven i znatiželjan u pogledu upravljanja infrastrukturom i konfiguracijom. Možda se ta osoba može prebaciti na više usmjerenu ulogu u vašoj novoj organizaciji. Stavite se u cipele te osobe Ne biste li bili lojalni organizaciji koja je riskirala na vas? Ne biste li bili uzbuđeni što naporno radite? A to uzbuđenje je zarazno.

Ovdje naučite kako uskladiti timove koje već imate, posvetiti tim DevOps praksama i stvoriti međusekcionalne timove - svi pristupi iz kojih možete odlučiti orijentirati svoje timove prema DevOpsu.

Možete odabrati jedan pristup i omogućiti mu da se razvija odatle. Nemojte smatrati da je ta odluka trajna i nepromjenljiva. DevOps se fokusira na brzu iteraciju i kontinuirano poboljšavanje i to je glavna prednost ove metodologije. Ta se filozofija odnosi i na timove.

Usklađivanje funkcionalnih timova za DevOps

U tom pristupu stvarate snažnu suradnju između svojih tradicionalnih razvojnih i operativnih timova. Timovi i dalje ostaju funkcionalne prirode - jedan usmjeren na operativne sustave, a drugi usmjeren na kod. Ali njihovi poticaji su usklađeni. Raste s povjerenjem jedni drugima i radit će dok se dva tima međusobno trgnu.

Za manje inženjerske organizacije usklađivanje funkcionalnih timova je dobar izbor. Čak i kao prvi korak, ovo usklađivanje može pojačati pozitivne promjene do sada. Obično započinjete poravnanje uzimajući vremena za izgradnju izvještaja. Osigurajte da svaka osoba iz oba tima ne samo što intelektualno razumije ulogu i ograničenja drugog tima, već i suosjeća s boli.

Za ovaj pristup dobra je ideja promovirati politiku „Vi ga gradite, podržavate ga.“ Ovo pravilo znači da svi - i programeri i osobe u operaciji - sudjeluju u vašoj rotaciji dežurstva.

Ovo sudjelovanje omogućava programerima da počnu razumjeti frustracije zbog poziva usred noći i borbe se dok maglovitih očiju i kofeina ne mogu popraviti bug koji utječe na kupce. Radnici također počinju vjerovati predanosti vašeg programera u njihov rad. Čak i ova mala promjena gradi iznimno povjerenje.

Riječ opreza: Ako se programeri teško bore protiv poziva, u vašoj se organizaciji pojavljuje veći problem. Povratak nije rijetkost jer se poziv na divlje odnose različito od uobičajenih svakodnevnih obaveza. Povratak često dolazi iz mjesta nelagode i straha. Možete pomoći ublažavanju ove reakcije tako što ćete se obratiti činjenici da vaši programeri možda ne znaju što učiniti prvih nekoliko puta u pozivu.

Možda nisu upoznati s infrastrukturom, i to je u redu. Potaknite ih da eskaliraju incident i dodajte stranicu nekome s više iskustva. Na kraju, stvorite vodič sa uobičajenim upozorenjima i koje akcije morate poduzeti. Pružanje ovog resursa pomoći će ublažavanju straha dok ne počnu vješati stvari.

Još jedna taktika koja će pomoći poticanju suradnje na stvaranju kohezivnijeg DevOps tima je uvođenje dana sjenčanja, pri čemu svaki tim "trguje" svojim kolegom. Trgovačka osoba jednostavno sjeni nekoga drugog u timu, sjedi za njihovim stolom (ili na svom području) i pomaže u svakodnevnim obvezama. Oni mogu pomoći u radu, razgovarati o problemima kao tim (programiranje parova) i naučiti više o sustavu s drugog stajališta. Ovaj stil nastave nije propisan.

Umjesto toga, prepušta se radoznalosti i izgradnji povjerenja. Kolege biste trebali slobodno postavljati pitanja - čak i „glupu“ raznolikost - i slobodno učiti. Ne postoje očekivanja od izvedbe. Vrijeme treba utrošiti na jednostavno upoznavanje i uvažavanje međusobnog rada. Svaki produktivni rezultat je bonus!

U ovom pristupu, oba tima apsolutno moraju biti uključena u procese planiranja, arhitekture i razvoja. Oni moraju dijeliti odgovornosti i odgovornost tijekom cijelog životnog ciklusa razvoja.

Predavanje DevOps tima

Posvećeni DevOps tim više je evolucija Sys Admina nego pravog DevOps tima. To je operativni tim s kombinacijom vještina. Možda su neki inženjeri upoznati s upravljanjem konfiguracijom, drugi IaC (infrastruktura kao kod), a možda su drugi stručnjaci za kontejnere ili zavičajnu infrastrukturu u oblaku ili CI / CD (kontinuirana integracija i kontinuirana isporuka / razvoj).

Ako mislite da je dovođenje grupe ljudi u službeni tim dovoljno za razbijanje silosa, griješite. Ljudi su složeniji od proračunskih tablica. Hijerarhija ne znači ništa ako su vaši silosi ušli u fazu u kojoj su nezdravi i plemenski. U toksičnim kulturama može se pojaviti silanski stil vođenja kojeg gotovo uvijek prate ljudi koji se suprotstavljaju. Ako to vidite u vlastitom timu, imate posla.

Iako bilo koji pristup može funkcionirati za vaš tim, upravo biste trebali razmisliti o ovom posvećenom timskom pristupu. Najveći nedostatak posvećenog DevOps tima je taj što lako postaje nastavak tradicionalnih inženjerskih timova bez priznavanja potrebe da se poravnaju timovi, smanje silosi i uklone trenje. Rizik od nastavka trenja (ili stvaranja više) je visok kod ovog pristupa. Pazite da osigurate da odaberete ovu organizaciju tima iz određenog razloga.

Prednosti ovog DevOps pristupa je to što je posvećen tim koji će se baviti velikim promjenama ili prilagodbama infrastrukture. Ako se borite s problemima u središtu poslovanja koji usporavaju implementaciju ili uzrokuju zabrinutost za pouzdanost web mjesta, ovaj bi mogao biti dobar pristup - čak i privremeno.

Posvećeni tim ako planirate premjestiti naslijeđenu aplikaciju u oblak. No umjesto da ovaj tim nazovete DevOps tim, možete ga pokušati označiti kao tim za automatizaciju.

Ova posvećena skupina inženjera može se u potpunosti usredotočiti na to da osigurate da postavite ispravne infrastrukture i alate za automatizaciju. Zatim možete nastaviti s pouzdanjem da će vaš zahtjev sletjeti u oblak bez većih ometanja. Ipak, ovaj je pristup privremen. Ako momčad držite izoliranu predugo, riskirate da klizite niz sklisku padinu od brzog rasta do ugrađenog silosa.

Stvaranje višefunkcionalnih timova proizvoda za DevOps

Višefunkcionalni tim je tim koji je formiran oko pojedinog fokusa proizvoda. Umjesto da imate odvojene timove za razvoj, korisničko sučelje i korisničko iskustvo (UI / UX), osiguranje kvalitete (QA) i operacije, kombinirate ljude iz svakog od tih timova.

Višefunkcijski tim najbolje funkcionira u srednjim i velikim organizacijama. Potrebno vam je dovoljno programera i operatora da ispunite pozicije svakog tima proizvoda. Svaki višenamjenski tim izgleda malo drugačije.

Dobra je ideja imati najmanje jednu operativnu osobu u timu. Nemojte tražiti od operativne osobe da podijeli odgovornosti između dva tima. Ovaj scenarij prema njima nije pravedan i brzo će stvoriti trenje između dva tima proizvoda. Dajte svojim inženjerima privilegiju da se mogu usredotočiti i kopati duboko u svom poslu.

Ako je vaša organizacija još uvijek mala ili je u fazi pokretanja, možete razmišljati o čitavoj inženjerskoj organizaciji kao o višefunkcionalnom timu. Neka bude mala i usredotočena. Kad počnete prilaziti 10-12 ljudi, započnite razmišljati o tome kako možete reorganizirati inženjere.

Slika ispod pokazuje kako bi mogli izgledati vaši međudjelovalni timovi. Ali imajte na umu da njihov sastav varira od tima do tima i od organizacije do organizacije. Neki proizvodi imaju snažni dizajnerski fokus, što znači da možda imate više dizajnera u svakom timu. Ostali proizvodi tehnički su dizajnirani za inženjere koji se ne brinu puno za estetiku. Timovi za tu vrstu proizvoda mogu imati jednog dizajnera - ili uopće nijednog.

DevOps tim proizvoda

Ako je vaša organizacija dovoljno velika, sigurno možete stvoriti više timova koristeći različite DevOps ideje i pristupe. Imajte na umu da je vaša organizacija jedinstvena. Osjećate se ovlaštenom donositi odluke na temelju vaših trenutnih okolnosti i prilagoditi se odande. Evo nekoliko mogućih kombinacija različitih vrsta timova proizvoda.

  • Naslijeđeni tim proizvoda: Voditelj projekta (PM), razvojni programer, Back-end programer, Back-end Developer, Inženjer za pouzdanost web mjesta (SRE), Inženjer automatizacije, QA Tester Tim za transformaciju u oblaku: SRE, SRE, Operator inženjer, Automatizacija u automatizaciji, Back-end programer MVP tim: PM, dizajner, UX inženjer, napredni programer, napredni programer, operativni inženjer

Nedostatak višefunkcionalnog tima proizvoda je što inženjeri gube drugarsku stručnost inženjera istim tim setima i strastima. Imati grupu istomišljenika s kojima se možete družiti i s kojima možete učiti važan je aspekt zadovoljstva poslom. U nastavku potražite rješenje za ovaj problem.

Kao što je prikazano u nastavku, možete inženjerima dati posvećeno radno vrijeme koje će provesti sa svojim plemenima. Možete učiniti nešto velikodušno poput plaćanja ručka jednom tjedno, kako bi se oni mogli okupljati i razgovarati. Ili im možete osigurati 10–20 posto radnog vremena za rad na projektima kao pleme. Bilo kako bilo, potrebni su vam inženjeri da ostanu oštri.

Plemena dijele znanje iz industrije, pružaju dobre povratne informacije i podržavaju rast karijere. Ostavite vrijeme da vaši inženjeri nauče od ljudi s kojima dijele obrazovanje, iskustvo i ciljeve. Ovo vrijeme pruža sigurno mjesto na kojem se mogu opustiti i osjećati kao kod kuće.

DevOps plemena

Nijedna količina savršenog finaliziranja neće nadvladati nedostatke loše organizacijske kulture. Ali ako ste do sada obraćali pažnju i napravili odgovarajuće korake, sljedeći korak je formiranje timova koji će ojačati kulturne ideale koje ste već postavili.

  1. Upravljanje poslovnim operacijama Prelazak na procese DevOps: Od linije do kruga

Autor: Emily Freeman

Pristup DevOps uključuje ciklus za razliku od crte. Omogućuje kontinuiranu integraciju i kontinuiranu isporuku, pružajući stalne povratne informacije tijekom procesa. Metodologija DevOps samo je jedan primjer razvoja procesa.

U posljednjih nekoliko desetljeća, radi dobrog razloga, radikalno su se promijenili razvojni procesi. Šezdesetih godina prošlog vijeka Margaret Hamilton vodila je inženjerski tim koji je razvio softver za misiju Apollo 11. Ne želite iterativno lansirati ljude u svemir - barem oni nisu bili u 1960-ima. To nije područje softvera u kojem se "brzo propadne" osjeća kao posebno dobar pristup. Životi su na redu, a da ne spominjemo milijune dolara.

Hamilton i njezini vršnjaci morali su razviti softver koristeći metodologiju vodopada. Slika ispod pokazuje primjer procesa razvoja vodopada (koji se odvija u ravnoj liniji).

postupak vodopada

Sljedeća slika dodaje faze. Uočite kako strelice idu u jednom smjeru. Oni pokazuju jasan početak i jasan kraj. Kada završite, gotovi ste. Pravo?

Ne. Koliko god bi ljudi željeli zauvijek otići od dijelova svojih baza podataka (ili ih ubiti vatrom), obično ne dobivaju privilegiju.

Softver koji su razvili Hamilton i njezin tim bio je divan uspjeh (pametno je pomisliti da su u Skupštini razvili nula pomagača poput slanja pogrešaka). Nisu, međutim, svi projekti podjednako uspješni.

Kasnije, kad vodopad nije uspio, Agile je uspio. (DevOps je rođen iz pokreta Agile.) Agile nastoji uzeti ravnu vodopad i saviti je u krug, stvarajući neprekinuti krug kroz koji se vaš inženjerski tim može iterativno i kontinuirano poboljšavati.

cjevovod za razvoj vodopada

Donja slika prikazuje kako razmišljati o životnom ciklusu kružnog razvoja.

Krug DevOps

Često, na različite petlje koje propisuju različite organizacije utječu proizvodi koje ti dobavljači prodaju. Na primjer, ako dobavljač prodaje infrastrukturni softver i alate, oni vjerojatno ističu onaj dio životnog ciklusa razvoja, možda se najviše fokusirajući na raspoređivanje, nadzor i podršku vašeg softvera.

Ovdje nema ništa za prodaju. Faze koje su ovdje usredotočene najvažnije su za programere, zajedno s onima koji se najviše bore kada nauče bolje upravljati svojim razvojem softvera i usvojiti DevOps.

Pet je faza životnog ciklusa razvoja softvera

  • Planiranje: Faza planiranja vašeg razvojnog procesa DevOps možda je najvažnija za vašu DevOps misiju. Postavlja vas za uspjeh ili neuspjeh niz put. Također je najplodnije vrijeme okupiti sve. Pod svima podrazumijevamo poslovne dionike, prodaju i marketing, inženjering, proizvod i druge. Dizajn: U većini tvrtki faza dizajniranja spaja se u fazu kodiranja. Ovaj monstruozni amalgam dizajna i koda ne dopušta odvajanje arhitektonske strategije od implementacije. Međutim, ako stvari poput dizajna baze podataka, logistike API-ja i ključnih infrastrukturnih izbora ostavite do kraja razvojnog cjevovoda - ili, što je još gore, pojedinačnim programerima koji rade na odvojenim značajkama - brzo ćete naći da vam se baza podataka kodova prikaže kao vaš inženjerski tim. Kodiranje: Stvarni razvoj značajki lice je DevOps procesa i dobiva svu slavu. Ali ovo je jedan od najmanje bitnih koraka u vašem životnom ciklusu razvoja. Na mnoge načine to je jednostavno izvršavanje prethodnih područja vašeg cjevovoda. Ako se prođe dobro, kodiranje bi trebao biti relativno jednostavan i jasan postupak.

Ako ste programer i zadivili ste posljednju rečenicu jer ste se bavili stotinama slučajnih i teško rješivih pogrešaka, lako je razumjeti kako se osjećate. Kodiranje je teško. Ništa u vezi s razvojem softvera nije jednostavno. Savladavanjem planiranja, dizajna i arhitekture (i razdvajajući ih od stvarne implementacije koda) osiguravate da se oduzmu najteže odluke razvoja softvera.

  • Testiranje: Testiranje je područje vašeg cjevovoda u koje se inženjeri iz svih područja struke mogu udubiti i uključiti, omogućujući jedinstvenu priliku za učenje o testiranju, održavanju i sigurnosti. Postoji šest vrsta faza života softvera za različite vrste testova kako bi vaš softver funkcionirao onako kako se i očekivalo. Uvođenje u rad: implementacija je faza koja je možda najviše usko povezana s operacijama. Tradicionalno, vaš operativni tim uzeo bi kôd koji su razvili vaši programeri i testirao vaš tim za osiguranje kvalitete (QA), a zatim ga pustio kupcima - čineći ih samostalnim odgovornima za postupak objavljivanja. DevOps je imao ogroman utjecaj u ovoj fazi razvojnog procesa. Također je raspoređivanje jedno od područja na kojemu možete pronaći najviše alata za automatizaciju. Iz DevOps perspektive, vaš prioritet je pojednostavljenje postupka implementacije tako da svaki inženjer iz vašeg tima može implementirati svoj kod. To ne znači da operacije nemaju jedinstveno znanje ili da se operativni timovi mogu raspustiti.

Ljudi iz operacije uvijek će imati jedinstveno znanje o infrastrukturi, uravnoteživanju opterećenja i slično. U stvari, uklanjanje ručnog zadatka raspoređivanja softvera iz vašeg operativnog tima omogućit će vam da uštedete vrijeme i novac drugdje. Imat će vremena raditi na poboljšanju pouzdanosti i održivosti vaše aplikacije.

Najvažniji aspekt životnog ciklusa isporuke unutar DevOps okvira je da je istinska petlja. Kad dođete do kraja, vraćate se odmah na početak. Također, ako u bilo kojem trenutku primite povratne informacije od podrške, vratite se na sljedeću fazu (ili fazu planiranja) kako biste mogli razviti softver na način koji najbolje služi vašim kupcima.

Prvi dio izgradnje cjevovoda je linearno tretiranje. Gradite ravnu crtu sa postavljenim fazama i kontrolnim točkama na putu. U tom okviru životni ciklus razvoja softvera možete gledati kao nešto što pokrećete i nešto što dovršite. Ljubitelji vodopada bili bi ponosni.

Ali stvarnost ne dopušta vam da radite u pravoj liniji. Ne možete jednostavno započeti s proizvodnjom koda, završiti i otići. Umjesto toga, prisiljeni ste nadograditi na temeljnom softveru koji ste objavili u prvoj iterativnoj petlji i poboljšati ga kroz drugi ciklus. I tako dalje i tako dalje. Proces se nikada ne završava i nećete se prestati poboljšavati.

Proces DevOps pomaže vam da povežete početak i kraj tog ravnog cjevovoda tako da ga počnete shvaćati kao cijeli krug ili petlju, kako biste se kontinuirano razvijali i poboljšavali.

  1. Tehnike upravljanja poslovnim operacijamaIntervju za izgradnju DevOps tima: dobivanje pravih tehničkih vještina

Autor: Emily Freeman

Može biti teško procijeniti kandidate za odgovarajući skup vještina prilikom zapošljavanja za DevOps poslove ... ali nije nemoguće. Uz malo kreativnosti i spremnosti za iskorakom izvan okvira, možete koristiti tehnike intervjua kako biste pronašli kandidate s pravim tehničkim vještinama za vaše DevOps inicijative.

Intervju za DevOps

Doba nejasnih zagonetki i razgovora s pločama koji izazivaju znoj opada - i to s dobrim razlogom. Ako je razgovor na bijeloj ploči omogućio inženjer kojemu je više stalo do prevare kandidata nego što je to slučaj u razgovoru o tehničkom razgovoru, nećete ići nigdje brzo.

Razgovori s radnim daskama nedavno su uzeli mnogo vrućine zbog nepovoljnog predstavljanja i marginalizovanih grupa - koje uključuju žene i ljude u boji. U ovom je vremenu za tehnološke tvrtke apsolutno neophodno zapošljavanje različitih radnih snaga, tako da je ova situacija neprihvatljiva. Međutim, morate nekako odmjeriti tehničke sposobnosti neke osobe.

Što je odgovor? Dobra vijest je da imate mogućnosti. (Loša vijest je ... imate mogućnosti.)

Kako ćete se zaposliti, utvrdit ćete tko ste.

Ponovno pogledajte intervju na bijeloj ploči za kandidate za posao u DevOpsu

Intervju na bijeloj ploči nikada nije bio namijenjen onome što je postao. U jednom intervjuu na radnoj ploči kandidatu DevOps uručen je računalni program ispisan na osam listova papira. Upute? "Otklanjanje pogrešaka u programu." , , ispričajte me?

Intervju na bijeloj ploči postao je situacija u kojoj kandidatu naizgled niste mogući problem, pošaljite ih na ploču s markerom i gledajte ih kako se obilno znoje dok četiri ili pet osoba promatra njihovu paniku. Ova vrsta intervjua nikome ne pruža kvalitetne informacije o tome je li poslodavac ili sugovornik dobra pogodnost za drugu stranu.

Iako su drugi pozvali na uklanjanje razgovora s radne ploče, evo još nijansiranijeg prijedloga: promijenite ga tako da odgovara vašim DevOps potrebama. Neka diskusija između dvoje ljudi bude dio koda ili određeni problem. Ne pravite problem nečim ludim, poput balansiranja stabla binarnog pretraživanja. Ako posao za koji obavljate razgovor doslovno piše kôd u Skupštini, ne trebate ocjenjivati ​​sposobnost kandidata za pisanje skupštine.

Budite svjesni DevOps posla koji želite ispuniti, potrebnih skupova vještina i najboljeg načina za mjerenje tih vještina kod kandidata. Neka jedan inženjer u vašem timu sjedne s kandidatom i razgovara o problemu. Kako biste započeli razgovor? S kojim se problemima susrećete na putu? Kako biste oboje prilagodili svoja rješenja izazovima s kojima se susrećete?

Ovaj razgovorni pristup postiže dvije stvari za DevOps kandidate za posao:

  • Umanjuje paniku. Većina ljudi ne misli dobro pod pritiskom. Osim toga, ne obavljate svoj posao svakodnevno dok vas netko gleda preko ramena, kritizirajući svaku pogrešku ili pogrešku. Prestavili biste taj posao u trenu. Zato nemojte prisiljavati ljude na razgovor. Umjesto toga, dajte svojim kandidatima priliku da pokažu što mogu učiniti. Dobit ćete uvid u to kako misle i komuniciraju. To oponaša stvarni rad. Razgovorni razgovor daje vam predstavu o tome kako bi bilo raditi s tom osobom. Ne rješavate teške probleme na poslu gledajući jedni druge kako se bore. (Barem, ne biste trebali. Zaista. To nije baš kolaborativno ili DevOps-y, prepuštajući kolegama da pate u njihovom silosu.) Umjesto toga, radite zajedno, trgujete ideje, promišljate stvari, radite greške, oporavljate se i pronalazite rješenje - zajedno.

Najbolji intervjui na tabli su suradnički, komunikativni i usredotočeni na znatiželju - sve ono što praktičari vole u DevOpsu.

Ponudite DevOps kandidatima za posao testiranje kod kuće

Alternativa tradicionalnijem intervjuu na tabli je test kod kuće. Ova vrsta testa je posebno prijateljska za ljude koji imaju bilo kakvu vrstu tjeskobe ili nevidljivi invaliditet koji utječe na njihovu sposobnost da sudjeluju u intervjuu s bijelom pločom. Ovaj stil razgovora prijateljski je i s inženjerima koji se intenzivno bore s imposter sindromom.

Imposter sindrom opisuje pojedince sa visokim postignućima koji se bore da internaliziraju svoje uspjehe i uporno osjećaju izlaganje kao prevaru.

Test za polaganje kod kuće sastoji se od neke vrste problema koje kandidat DevOps može riješiti kod kuće u svoje vrijeme. Testovi kod kuće često se postavljaju kao testni paket za koji kandidat mora napisati kod kako bi testovi prošli.

Alternativno, problem bi mogao biti nešto relativno malo, poput, "Napravite program na [vašem jeziku po izboru] koji uzima unos i preokreće znakove." Opcije su beskrajne, a test možete prilagoditi svom tehnološkom skupu kao smatrate prikladnim.

Možete čak zatražiti i od kandidata za posao DevOps da rasporede svoju prijavu. Osigurajte da dopustite kandidatima da koriste alate otvorenog koda ili da im osigurate potrebne pretplate za upotrebu određenih tehnologija.

Glavni nedostatak testova kod kuće jeste što tražite da ljudi odvoje vrijeme tijekom večeri ili vikenda za ono što je u biti besplatan posao. Čak i ako im platite za njihov rad na kućnom testu, ovaj stil razgovora može nepošteno utjecati na DevOps kandidata koji ima druge odgovornosti izvan posla, uključujući brigu o djeci, partneru ili roditeljima koji pate.

Nije svaki veliki inženjer neograničeno vrijeme da se posveti svom zanatu. Ali ako ograničite svoj DevOps skup kandidata na ljude koji si mogu priuštiti da odvoje 5-10 sati za testiranje kod kuće, brzo ćete primijetiti da vaš tim postaje homogen i stagnira.

Pregledajte kod s DevOps kandidatima za posao

Jedna tehnika intervjua koja vam može biti zaista značajna je kada sjednete s inženjerom ili grupom inženjera kako biste zajedno riješili stvarne pogreške u stvarnom kodu. Možete uzeti nekoliko pristupa intervjuu u stvarnom vremenu s kodom.

Možete oponašati test kod kuće i dati kandidatu sat vremena ili približno tako da stvori program ili napiše funkciju da prođe niz testova. Intervju također možete postavljati poput pregleda koda u kojem izvlačite stvarni PR i kopate o tome što radi kôd, kao i onome što bi se moglo poboljšati.

Na mnogo načina, programska priroda pregleda koda kombinira najbolje dijelove intervjua s bijelom pločom i kućnog testa - ali bez nekih njihovih glavnih nedostataka.

Parno programiranje je inženjerska praksa u kojoj dva inženjera sjede i zajedno rade kroz problem. Obično jedna osoba "vozi" posjedujući tipkovnicu, ali oni zajednički odlučuju koji je pristup najbolji, koji kôd dodati i što oduzeti.

Ako DevOps položaj uključuje ulogu usmjerenu na operacije, korištenje ovog načina kodiranja u stvarnom vremenu je još bolje. Iako mnogi operativni sustavi uče implementirati infrastrukturu kao kod ili upravljati konfiguracijama, oni nemaju isto iskustvo kao programeri.

Pregledavanje o tome što se nešto radi i kako bi moglo funkcionirati fantastičan je način da se potvrdi da kandidat ima iskustva s popisom alata i tehnologija na njihovom rezimeu, kao i da se osigura da kandidat može komunicirati s timom.

Izgradnja vašeg DevOps tima individualna je potraga. Vaš DevOps tim ne mora odgovarati drugima koje ste vidjeli. Ocijenite svoje ciljeve i odaberite pravog kandidata za svaki DevOps posao.

  1. Neprekidna integracija i kontinuirana isporuka: implementacija i korist od CI / CD-a

Autor: Emily Freeman

Rast kulture DevOps promijenio je način na koji programeri grade i isporučuju softver. Prije pojave agilnog načina razmišljanja, razvojni timovi su mu dodijelili značajku, izgradili je i zatim zaboravili na nju. Bacili su kôd QA timu, koji ga je potom bacio zbog bugova ili ga prebacio zajedno s operativnim timom. Operacije su bile odgovorne za raspoređivanje i održavanje koda u proizvodnji.

Taj je proces, u najmanju ruku, nespretan i izazvao prilično sukobe. Budući da timovi postoje u silosima, imali su malo i nimalo uvida u rad drugih timova, uključujući njihove procese i motivacije.

CI / CD, koji stoji za kontinuiranu integraciju i kontinuiranu isporuku (ili uvođenje), želi srušiti zidove koji su povijesno postojali između timova i umjesto toga pokrenuti postupak glatkog razvoja.

Prednosti kontinuirane integracije i kontinuirane isporuke

CI / CD nudi brojne prednosti. Međutim, proces izgradnje CI / CD cjevovoda može biti dugotrajan, a osim toga zahtijeva doplatu od strane tima i izvršnog rukovodstva.

Neke prednosti CI / CD uključuju:

  • Temeljito automatizirano testiranje: Čak i najjednostavnija implementacija CI / CD-a zahtijeva robustan testni paket koji se može pokrenuti protiv koda svaki put kada programer izvrši promjene u glavnoj grani. Ubrzana petlja za povratne informacije: Programeri dobivaju neposrednu povratnu informaciju s CI / CD-om. Automatizirani testovi i integracije događaja neće uspjeti prije spajanja novog koda. To znači da programeri mogu skratiti razvojni ciklus i brže rasporediti značajke. Smanjeni međuljudski sukob: Automatiziranje procesa i smanjenje trenja između timova potiče radnije okruženje za suradnju u kojem programeri rade ono što najbolje rade: inženjerska rješenja. Pouzdan postupak implementacije: svatko tko se vraća u petak poslijepodne može vam reći koliko je važno da uređaji nesmetano idu. Kontinuirana integracija osigurava da se kôd dobro testira i da se pouzdano provodi u proizvodnom okruženju prije nego što ikada stigne do krajnjeg korisnika.

Provođenje kontinuirane integracije i kontinuirane isporuke

CI / CD je ukorijenjen u agilnim metodologijama. Trebali biste razmišljati o implementaciji CI / CD-a kao iterativnog procesa. Svaki tim može imati koristi od verzije CI / CD-a, ali prilagođavanje cjelokupne filozofije uvelike će ovisiti o vašem trenutnom tehnološkom paketu (jezicima, okvirima, alatima i tehnologiji koje koristite) i kulturi.

Kontinuirana integracija

Timovi koji prakticiraju kontinuirano integriranje (CI) kod spajanja kodova vraćaju se u glavni ili razvojni ogranak što je češće moguće. CI obično koristi alat za integraciju za potvrđivanje sastavljanja i pokretanja automatiziranih testova prema novom kodu.

Proces CI omogućava programerima u timu da rade na istom području kodne baze, zadržavajući promjene minimalne i izbjegavajući velike sukobe spajanja.

Da biste proveli kontinuiranu integraciju:

  • Napišite automatizirane testove za svaku značajku. Na taj se način sprečava postavljanje grešaka u proizvodno okruženje. Postavljanje CI poslužitelja. Poslužitelj nadzire glavno spremište radi promjena i pokreće automatizirane testove kada se guraju nove naredbe. Vaš CI poslužitelj trebao bi biti u mogućnosti brzo pokrenuti testove. Ažurirajte navike razvojnog programera. Programeri moraju često spajati promjene u glavnu bazu kodova. U najmanju ruku, ovo bi se spajanje trebalo dogoditi jednom dnevno.

Kontinuirana isporuka

Kontinuirana isporuka korak je od CI-a jer programeri svaku promjenu koda smatraju dostupnom. Međutim, za razliku od kontinuirane implementacije, puštanje mora pokrenuti čovjek i promjena se ne mora odmah isporučiti krajnjem korisniku.

Umjesto toga, implementacije su automatizirane i programeri mogu spojiti i implementirati svoj kod jednim gumbom. Čineći male, često isporučene iteracije, tim osigurava da oni mogu lako otkloniti promjene.

Nakon što kôd prođe automatizirane testove i bude izrađen, tim može implementirati kod u bilo koje okruženje koje odrede, poput QA ili postavljanja. Često vršnjak ručno pregledava kod prije nego što ga inženjer spoji u podružnicu za proizvodnju.

Da biste implementirali kontinuiranu isporuku:

  • Imati snažne temelje u CI. Paket automatiziranih testova trebao bi rasti u korelaciji s razvojem značajki, a trebali biste dodavati testove svaki put kada se prijavi bug. Automatiziranje izdanja. Čovjek još uvijek pokreće implementaciju, ali izdanje bi trebao biti postupak u jednom koraku - jednostavan klik gumba. Razmotrite zastave značajki. Oznake značajki skrivaju nepotpune značajke određenih korisnika, osiguravajući da vaši vršnjaci i kupci vide samo željenu funkcionalnost.

Kontinuirana primjena

Kontinuirana primjena traje kontinuirano, čak i korak dalje od kontinuirane isporuke. Svaka promjena koja prođe kroz cjelokupni cjevovod za puštanje u pogon se primjenjuje. To je tačno: kôd se stavlja izravno u proizvodnju.

Kontinuirana implementacija eliminira ljudsku intervenciju iz procesa implementacije i zahtijeva temeljito automatizirani testni skup.

Da biste implementirali kontinuiranu implementaciju:

  • Održavajte jaku kulturu testiranja. Trebali biste smatrati da je testiranje temeljni dio razvojnog procesa. Dokumentirajte nove značajke. Automatizirana izdanja ne bi smjela nadmašiti dokumentaciju API-ja. Koordinirati s drugim odjelima. Uključite odjele poput marketinga i uspjeha korisnika kako biste osigurali neometan proces uvođenja.
  1. Zamke za upravljanje poslovnim operacijama: Top 10 DevOps Zamke: Zašto softverski projekti ne uspijevaju

Autor: Emily Freeman

Podržavanje DevOps kulture i odabir alata koji podržavaju vaš DevOps pristup će imati koristi za vašu organizaciju. DevOps pristup pocinkuje vaš inženjerski tim i fokusira razvoj vašeg proizvoda na kupca.

Međutim, svaki put kad pokušate izvršiti ogromnu promjenu u neredu svoje organizacije, suočite se s izazovima i morate riješiti probleme s neuspjehom. Kako se transformirate u DevOps, otkrit ćete jedinstvene nalete brzine za vas i vaš tim da biste prevladali.

Iako ne možete predvidjeti svaku prepreku s kojom ćete se suočiti, ovaj članak može vas pripremiti za deset najčešćih zamki DevOps-a. Imajte na umu da, iako pristupite svojoj DevOps praksi, vaši prioriteti trebaju ostati usmjereni na ljude, proces i tehnologiju - tim redoslijedom.

Neuspjeh prioriteta kulture u vašem DevOps projektu

Više od ičega drugog, DevOps je kulturni pokret. Kultura koju gradite u svojoj organizaciji učinit će ili prekinuti vašu DevOps praksu. Vaša DevOps kultura mora naglasiti suradnju, povjerenje i inženjersko osnaživanje. Ako automatizirate nokte, ali propustite one kulturne komponente, vjerojatno ćete propasti.

Zapravo, alat nije toliko bitan. Alat koji imate na raspolaganju sličniji je ne. Iako su problemi koje rješavaju važni, nijedan od tih problema ne može se usporediti s gotovo beskrajnom frustracijom pokušaja ujedinjavanja programera i operatora - kao i drugih timova, poput sigurnosti - u tradicionalnu inženjersku organizaciju.

DevOps nastoji potaknuti inženjere (kao i poslovne grupe). To stvara temelj na kojem svi mogu učiti, dijeliti i rasti. To će osobno ubrzanje potaknuti cijelu vašu inženjersku organizaciju da stvori bolji DevOps softver brže. Inženjeri koje imate u svom timu su najvrjednija imovina koju imate. Tretirajte ih dobro, poštujte ih i ako volite raditi ono što najbolje rade - inženjerska rješenja.

Ostavljajući druge iza sebe dok krećete naprijed s DevOpsom

Ako interno napravite slučaj za DevOps, odredit ćete vrstu temelja koje gradite za svoju kulturu. Potražite plodno tlo. Ako se prebrzo krenete i ne uvjerite ključne ljude u važnost DevOps transformacije, ljudi će sa vašim skepticizmom gledati vaše pokrete i skakati po prvoj prilici da pokažu svima da niste u pravu. To nije zabavna pozicija i nikada ne želite započeti ovo putovanje s ljudima koji čekaju da propadnete.

Da biste bili uspješni, potrebni su vam svi ukrcaji na brod DevOps, čak i najajteri i skeptici. Inženjeri mogu biti skeptični. Nakon deset ili dva u ovoj industriji, vidjeli su mnoštvo ideja i novih pristupa koji dolaze i prolaze. Oni lako mogu odvratiti DevOps kao "samo još jedan neuspjeli pristup" istim starim problemima. A ako ga loše implementirate, DevOps će doista biti samo još jedan neuspjeli pristup. Vi i vaš tim morate uvjeriti druge u potencijal i djelovati na načine koji pozivaju sve za sto.

Pokušajte uvjeriti rukovoditelje u podatke i potencijal za ubrzanu isporuku softvera. Ali inženjeri moraju znati kako će DevOps svoj posao učiniti ugodnijim. Pokažite im kako se DevOps usklađuje s poslovnim potrebama i smanjuje trenje duž cjevovoda za isporuku softvera.

Samo budite sigurni da ne pretjerate s konceptom. DevOps izazovi će se dogoditi. DevOps nije srebrni metak i zahtijeva intenzivan rad na početku kako bi se osiguralo da tim stvara kulturu učenja u kojoj su inženjeri slobodni raditi pogreške i rasti.

Nakon što dosegnete horizont događaja gdje dovoljno ljudi vjeruje u DevOps, možete prijeći na spoznaju da imate podršku svoje organizacije i ljudi u njoj.

Zaboravite uskladiti poticaje u vašem DevOps projektu

Ako ne namjeravate usklađivati ​​poticaje s onim što očekujete od određenih timova ili određenih inženjera, pojavit će se veći broj izazova. Pravi alat DevOps-a, ako ga možete savladati, je osnaživanje. Želite osnažiti svoje inženjere da dobro rade svoj posao, bez smetnji. Angažirali ste talentirane inženjere, pa vjerujte njihovoj sposobnosti da ispune svoje odgovornosti.

Na primjer, kada programeri služe za rotaciju dežurstva, neke organizacije to shvaćaju kao malu kaznu. "Izgradili ste ga, podržavate ga", ne ispunjava upravo ljude sretnim osjećajima. Umjesto toga, čini se da je to samo još jedan oblik odgovornosti. Ali humana i ravnomjerno raspoređena rotacija dežurstva ne samo da omogućava programerima da preuzmu vlasništvo nad svojim radom, već stvara i mogućnosti učenja za cijeli tim.

U DevOpsu ne kažnjavate inženjere za nesavršen posao; umjesto toga, dijelite odgovornost i kultivirate organizaciju koja cijeni učenje i omogućuje svima da budu znatiželjni kao i da sudjeluju u područjima tehnike u kojima su manje poznati.

Usklađivanje poticaja i stvaranje prilika za suradnju utječu na vaš cilj poboljšanja proizvoda i boljeg služenja svojim kupcima. Ako se svi usklade s ciljem stvaranja nevjerojatnih usluga za svoje kupce putem DevOps-a, vidjet ćete da grupa počinje galvanizirati.

Šutjeti o svom DevOps projektu

DevOps je antiteza tajni i pregovarački pregovori. Umjesto toga, sve polaže na stol i prisiljava vas da vjerujete u integritet ljudi u vašoj organizaciji. Kad prvi put predstavite otvorenu komunikaciju, može se činiti da sukob raste. Ne radi Umjesto toga, točke prvog trenja jednostavno vidite prvi put. Umjesto da se sukob ostavi ispod površine, ljudi se osjećaju dovoljno sigurnim da iskažu zabrinutost i izraze svoje mišljenje.

Važan aspekt otvorene komunikacije je da se ona nastavi tijekom cijelog životnog ciklusa proizvoda - od ideje do proizvodnje. Morate uključiti inženjere u planiranje rasprava, arhitektonskih odluka, ažuriranja o napretku razvoja i implementacija.

Iako ovaj naglasak na komunikaciji stvara više detaljnih rasprava, on također omogućava inženjerima vidljivost izvan svog temeljnog područja stručnosti, što im zauzvrat omogućava da savjetuju druge dok su opremljeni kontekstom potrebnim za donošenje zdravih odluka.

Držite kupca - i što očekuju od proizvoda koji gradite - u središtu svake rasprave i odluke. Ako ostanete poravnati na tom cilju, sigurno ćete ići zajedno naprijed kao jedna cjelina.

Zaboravljajući mjeriti svoj razvoj DevOps

Mjerenje vašeg napretka ključno je za uspjeh DevOps-a. Omogućuje vam provjeru valjanosti dok argumentiranje DevOpsa sumnjaju u dionike, pomaže vam u uvjerenju rukovoditelja izdržavanja i podsjeća vaš inženjerski tim koliko su postigli.

Prije nego što napravite jednu promjenu, stvorite osnovnu crtu. Odaberite mali skup podataka koje želite pratiti kroz cijeli postupak. Ovi podaci služe vašim odlukama i služe kao gorivo za nastavak pritiska kad započnete s poteškoćama. Potencijalna mjerenja uključuju:

  • Zadovoljstvo Emstakeployee-om: Vole li vaši inženjeri raditi u vašoj organizaciji? Mjesečni ponavljajući prihod (MRR): Koliko novca zarađujete od kupaca? Karte za kupce: Koliko grešaka prijavljuju vaši kupci? Učestalost uvođenja: Koliko implementacija imate svaki tjedan ili mjesec? Srednje vrijeme do oporavka (MTTR): Koliko vremena treba da se oporavi od poremećaja usluge? Dostupnost usluge: Koliko je produžen rok za prijavu? Postižete li svoje trenutne sporazume o razini usluga? Neuspješne implementacije: Koliko izdanja uzrokuje poremećaje u usluzi? Koliko ih treba odstupiti?

Micromanagement DevOps projektom

Jedan od najbržih načina za podrivanje vaših inženjera je da upravljate njihovim radom. Dan Pink, autor knjige Drive, vjeruje da motivaciju na poslu utječu tri faktora:

  • Autonomija Majstorstvo Svrha

Vanjski pokretači poput visokih plaća, bonusa i opcija na dionicama mogu djelovati u kratkom roku, ali dugoročno zadovoljstvo poslom više ovisi o osobnom i profesionalnom rastu. Želite da vaši inženjeri postoje u napetosti osjećaja da su vrlo izazovni, ali ne i da ih preplavi stres. To je slatko mjesto različito za svaku osobu. To je DevOps izazov, ali jednom kada se to može napraviti kao svijet ako se učini kako treba. Ako možete probuditi nečiju strast, sigurno će raditi s oduševljenjem.

Povjerenje može biti DevOps izazov. To je apsolutno kritično za organizacije DevOps. Morate vjerovati kolegama, vršnjacima, inženjerima, menadžerima i rukovoditeljima. Također morate imati povjerenja u uloge i odgovornosti različitih odjela u vašoj organizaciji - što ne znači da nikada nećete imati sukoba. Naravno da će se među ljudima dogoditi trenuci trenja. Ali minimiziranje tih trenutaka i omogućavanje zdravog rješavanja sukoba je ono što razlikuje DevOps inženjerske timove od njihovih konkurencija.

Mijenja se previše, prebrzo

Mnogi timovi prebrzo izvrše previše promjena. Ljudi ne vole promjene. DevOps je dugoročno koristan, brze promjene uobičajenog načina rada mogu donijeti inženjerima.

Jedan od nedostataka DevOpsa je da on podrazumijeva da svi žive na greenfield polju (novi softver) s kišnim i jednorog. To može zvučati kao "Ako samo uzmete svoj tim da radi zajedno, razvoj softvera bit će jednostavan!" To nije istina. Inženjering softvera je težak i uvijek će biti težak. To je jedna stvar koju većina inženjera voli u vezi s tim. Uživate u izazovu. Ali izazovi trebaju biti poticajni, a ne stresni.

DevOps nema za cilj ukloniti sve intelektualne izazove inženjerstva. Umjesto toga, ono omogućava da se trenje među ljudima umanji kako bi se svi mogli usredotočiti na svoj rad. Ako pokušate prebrzo izvršiti previše promjena, možete se naći usred sveopćeg pobune - Pobune u Binarnom.

Loš odabir alata DevOps

Iako deprioritizirate alat u DevOpsu - i s pravom je to - alat je i dalje faktor. Čak i najmanje važan aspekt DevOps-a doprinosi vašem ukupnom uspjehu. Alati koje odaberete trebaju riješiti probleme s kojima se susreće vaš inženjerski tim, ali također bi trebali uskladiti s područjima stila, znanja i udobnosti vašeg postojećeg tima.

Ne bojte se isprobati nekoliko rješenja i vidjeti koje od njih odgovara. Posvećivanje nekoliko tjedana minimalnom održivom proizvodu (MVP) ili dokazu koncepta (POC) za testiranje alata dobro je vrijedno truda. Čak i ako ga na kraju bacite, „trošite“ inženjerijske resurse, poželjno je uključiti se u određenu tehnologiju samo da biste godinu dana kasnije otkrili da to nije dobro.

Bojite se neuspjeha vašeg DevOps projekta

Ako ne uspijete, kratak je način na koji trebate konstantno ponavljati probleme kako biste uočili probleme u ranom postupku bez trošenja tona vremena i novca. to je nešto o čemu mnogi ljudi u tehnologiji razgovaraju, a malo ih zapravo primjenjuje jer zahtijeva brzu ponavljanje u okruženju u kojem pogreške imaju mali polumjer eksplozije i lako se ispravljaju. Prečesto tvrtke tvrde mentalitet neuspjeha i umjesto toga otpuštaju prvog inženjera koji je izbrisao proizvodnu bazu podataka. (Kao da neki inženjer tamo nikad nije izbrisao proizvodnu bazu podataka..)

U kontekstu DevOps-a, bolje vam je da ne uspijete brže nego da brzo padnete. Ako ne uspijete, podrazumijevate da imate nadzor radi upozoravanja na potencijalne probleme mnogo prije nego što situacija utječe na kupce. Neuspjeh također podrazumijeva da ste svoj sustav dizajnirali na segmentirani način koji sprečava da jedna usluga koja prelazi iz kaskadne u sistemski prekid. Ali i organizacije koje ne uspijevaju ići su korak dalje: Ne krive ljude. Umjesto toga, oni traže kvare u sustavima i procesima.

Kaizen je japanska riječ za neprestano usavršavanje. U DevOpsu, kaizen znači kontinuirano poboljšavati vaše procese. To nije neka seksi transformacija koja ima početak i kraj. Cilj nije ići od nule do savršenstva. Umjesto toga, DevOps potiče rad polako i postepeno na poboljšanju jedne stvari, svaki dan. Ako napuštate posao svake večeri znajući da je samo jedan mali aspekt posla bolji zbog vas, zar se ne biste osjećali zadovoljno? Puno inženjera se tako osjeća.

Umjesto da po svaku cijenu pokuša izbjeći neuspjeh, DevOps inzistira na razmišljanju o rastu. Neuspjeh nije znak gluposti ili loše pripreme. To je marker rasta i neophodan korak u inovacijama. Inovacija je ishod za kojim biste trebali biti željni, čak i ako znače da ponekad uspijete.

Previše kruta stvorit će DevOps probleme

DevOps nije propisan i u tome je i najbolja i najgora stvar. DevOps bi bio mnogo lakši za implementaciju kada biste imali popis od deset koraka koje biste mogli poduzeti kako biste postigli DevOps nirvanu. Kad bi samo bilo tako jednostavno! Ali ljudi ne rade na taj način, a skupine ljudi - kao što su inženjerski timovi i velike organizacije - stvaraju još veće složenosti koje je potrebno riješiti.

Iako ne postoji nacrt za izgradnju DevOps organizacije, vi ste ovlašteni da prilagodite metodologiju praksama koje rade za vas i vaš tim. Poznajete svoju organizaciju, a kao dobro poznati stručnjak trebali biste razmišljati izvan okvira primjene osnova. Neke stvari u DevOpsu savršeno će vam odgovarati. Drugi će se osjećati kao da nose jaknu koja je samo jedna veličina premala. To je u redu.

Napravit ćete pogreške. Nitko nije savršen. Ali ako se malo prepustite, osnažite svoje inženjere i vjerujete svom timu, vidjet ćete fantastične rezultate. Samo počnite. I zapamtite: pozovite sve za stol, mjerite svoj napredak, dajte prednost kulturi nad tehnologijom i osnažite svoje inženjere da rade ono što najbolje rade.

  1. Upravljanje poslovnim operacijama Što je DevOps?

Autor: Emily Freeman

Što je DevOps? Teško vam je pružiti točan DevOps recept - jer takav ne postoji. DevOps je filozofija koja upravlja razvojem softvera, ona koja ljudima daje prednost tijekom obrade i procesa preko alata. DevOps gradi kulturu povjerenja, suradnje i stalnog unapređenja.

Ciklus DevOps

Kao kultura, DevOps filozofija promatra razvojni proces na holistički način, uzimajući u obzir sve uključene: programere, testere, radnike, sigurnosne i infrastrukturne inženjere. DevOps nijednu od ovih skupina ne stavlja iznad ostalih, niti ocjenjuje važnost njihovog rada. Umjesto toga, tvrtka DevOps tretira cijeli tim inženjera kao kritične za osiguravanje da kupac ima najbolje moguće iskustvo.

DevOps je evoluirao iz Agile-a

U 2001. godini 17 softverskih inženjera sastalo se i objavilo „Manifest za agilni razvoj softvera“, koji je istaknuo 12 principa upravljanja projektima Agile. Ovaj novi tijek rada odgovarao je frustraciji i nefleksibilnosti timova koji rade u vodenom (linearnom) procesu.

Radeći u skladu s Agile principima, inženjeri se ne moraju pridržavati originalnih zahtjeva ili slijediti linearni razvojni tijek u kojem svaki tim predaje posao sljedećem. Umjesto toga, sposobni su se prilagoditi neprekidnim potrebama poslovanja ili tržišta, a ponekad čak i promjenjivoj tehnologiji i alatima.

Iako je Agile na mnogo načina revolucionirao softverski razvoj, nije uspio riješiti sukob između programera i stručnjaka za operacije. Silosi su se i dalje razvijali oko seta tehničkih vještina i specijaliteta, a programeri su još uvijek dijelili kod operativnim ljudima na uvođenju i pružanju podrške.

Andrew Clay Shafer je 2008. razgovarao s Patrickom Deboisom o svojim frustracijama zbog stalnog sukoba između programera i operativnih ljudi. Zajedno su pokrenuli prvi događaj DevOpsDays u Belgiji, kako bi stvorili bolji - i brži način pristupa pristupu razvoju softvera. Ta evolucija Agilea zauzela se i DevOps je od tada omogućio tvrtkama širom svijeta brže (i obično jeftinije) proizvode bolji softver. DevOps nije mod. To je široko prihvaćena inženjerska filozofija.

DevOps se fokusira na ljude

Tko kaže da se DevOps bavi alatom, želi vam nešto prodati. Prije svega, DevOps je filozofija koja se fokusira na inženjere i kako oni mogu bolje raditi zajedno u proizvodnji sjajnog softvera. Mogli biste potrošiti milione na svaki DevOps alat na svijetu i dalje biti bliži DevOps nirvani.

Umjesto toga, usredotočite se na vaše najvažnije inženjersko dobro: inženjere. Sretni inženjeri prave sjajan softver. Kako činiti sretne inženjere? Pa, stvarate radno okruženje za suradnju u kojem može napredovati međusobno poštovanje, zajedničko znanje i priznanje napornog rada.

Kultura tvrtke temelj je DevOps-a

Vaša tvrtka ima kulturu, čak i ako joj je preostalo da se razvija po inerciji. Ta kultura više utječe na vaše zadovoljstvo poslom, produktivnost i brzinu tima nego što vjerojatno znate.

Kultura tvrtke najbolje se opisuje kao neizgovorena očekivanja, ponašanje i vrijednosti organizacije. Kultura je ono što vašim zaposlenicima govori je li vodstvo tvrtke otvoreno za nove ideje. To je ono što upozorava na odluku zaposlenika hoće li se javiti problem ili ga pomesti pod tepih.

Kultura je nešto što treba osmisliti i oplemeniti, a ne nešto prepustiti slučaju. Iako stvarna definicija varira od tvrtke do tvrtke i od osobe do osobe, DevOps je kulturološki pristup inženjerstvu u svojoj srži.

Toksična kultura tvrtke ubit će vaše putovanje DevOpsom prije nego što uopće započne. Čak i ako vaš inženjerski tim usvoji DevOps način razmišljanja, stavovi i izazovi veće tvrtke prolijevaju u vaše okruženje.

S DevOps-om izbjegavate kriviti, rastete povjerenje i usredotočite se na kupca. Dajete svojim inženjerima autonomiju i osnažujete ih da rade ono što najbolje rade: inženjerska rješenja. Kad započnete implementirati DevOps, dajete svojim inženjerima vrijeme i prostor da se prilagode, pružajući im mogućnosti da se bolje upoznaju i izgrade odnos s inženjerima različitih specijalnosti.

Također, možete mjeriti napredak i nagrađivati ​​postignuća. Nikada ne krivite pojedince za neuspjehe. Umjesto toga, tim bi se trebao kontinuirano poboljšavati, a postignuća treba slaviti i nagrađivati.

Učite promatrajući svoj proces i prikupljajući podatke

Promatranje vašeg tijeka rada bez očekivanja moćna je tehnika pomoću koje ćete vidjeti uspjehe i izazove vašeg tijeka rada realno. Ovo je promatranje jedini način za pronalaženje ispravnog rješenja za područja i probleme koji stvaraju uska grla u vašim procesima.

Baš kao što je slučaj i sa softverom, šamaranje nekih Kubernetes-a (ili drugog novog alata) na problemu to ne mora nužno riješiti. Morate znati gdje su problemi prije nego što ih krenete riješiti. Dok nastavljate, prikupljate podatke - ne za mjerenje uspjeha ili neuspjeha već za praćenje rada tima. Vi određujete što funkcionira, a šta ne i što trebate pokušati sljedeći put.

Uvjeravanje je ključno za usvajanje DevOps-a

Prodavati ideju DevOps svojim liderima, vršnjacima i zaposlenicima nije jednostavno. Proces inženjera također nije intuitivan. Ne bi li se trebala sjajna ideja jednostavno prodati? Kad bi samo bilo tako jednostavno. Ključni koncept koji uvijek morate imati na umu dok implementirate DevOps jest da naglašava ljude.

takozvane "meke vještine" komunikacije i suradnje središnje su mjesto za vašu DevOps transformaciju. Uvjeravanje ostalih u vašem timu i unutar vaše tvrtke u prihvaćanje DevOps-a zahtijeva vježbanje dobrih komunikacijskih vještina. Rani razgovori s kolegama o DevOpsu mogu vas postaviti na uspjeh niz put - pogotovo kada pogodite neočekivani skok brzine.

Male, inkrementalne promjene, u DevOpsu su neprocjenjive vrijednosti

Aspekt DevOps-a koji naglašava unošenje promjena na male, inkrementalne načine, ima svoje korijene u mršavoj proizvodnji koja uključuje ubrzane povratne informacije, kontinuirano poboljšavanje i brže vrijeme na tržištu.

Voda je dobra metafora za DevOps transformacije. Voda je jedan od najsnažnijih elemenata na svijetu. Osim ako ljudi ne gledaju kako se poplavne vode povećavaju ispred njih, oni to smatraju relativno bezopasnim. Rijeka Colorado uklesao je Grand Canyon. Polako, tijekom milijuna godina, voda se probija kroz kamen kako bi otkrila gotovo dvije milijarde godina tla i stijena.

Možete biti poput vode. Budite polake, neumoljive promjene u svojoj organizaciji. Evo onog čuvenog citata iz intervjua Brucea Leeja koji vas nadahnjuje:

Budite neformalni, bezoblični poput vode. Sad stavite vodu u šalicu, ona postaje čaša. Staviš vodu u bocu, ona postaje boca. Stavite ga u čajnik, on postaje čajnik. Sada voda može teći ili se može srušiti. Budi voda PRIJATELJU.

Unošenje inkrementalnih promjena znači, na primjer, da ste pronašli problem i riješili ga. Zatim popravite sljedeću. Ne preuzimate previše brzo i ne birate svaku bitku za vođenje. Shvaćate da neke borbe ne vrijede ni energije ni društvenog kapitala koji vas mogu koštati.

Konačno, DevOps nije popis koraka koje možete poduzeti, već je pristup koji bi trebao voditi odluke koje donosite tijekom razvoja.

  1. BusinessOperations ManagementDevOps for Dummies Cheat Sheet
  2. BusinessOperations ManagementBase Transfer Price on Full Cost

Autor: Mark P. Holtzman

Tvrtka može postaviti transfernu cijenu po punom trošku (poznat i kao trošak apsorpcije), koji je zbroj varijabilnih i fiksnih troškova po jedinici. Kako bi se osiguralo da prodajni odjel donosi profit, oni mogu dodati i maržu.

Pretpostavimo da HOO Water Company proizvodi i izvorsku vodu i bezalkoholna pića. Divizija Clor proizvodi izvorsku vodu, a Shpritz divizija proizvodi bezalkoholna pića. Rukovodioci HOO-a potiču Clor i Shpritz da rade zajedno, tako da Shpritz odjel koristi izvorsku vodu Clor Division-a za izradu bezalkoholnih pića.

Međutim, Clor divizija također prodaje svoju vodu vanjskim kupcima za 0,75 USD po galonu. Da bi smanjio troškove, Shpritz također može kupiti vodu od dobavljača osim Spring.

Ove godine Clor divizija planira proizvesti 100 000 litara izvorske vode, ali ima mogućnost proizvodnje više vode ako je može prodati. Voda Klorova nosi promjenjive troškove od 0,30 USD po galonu i mora pokriti fiksne troškove od 40 000 USD.

Shpritz-ova divizija planira napraviti 60.000 galona bezalkoholnih pića; vodu može kupiti od Shpritza ili od vanjskog dobavljača. Pored troškova vode, Shpritz mora platiti 0,40 dolara po gali za arome i druge aditive za proizvodnju svakog galona bezalkoholnog pića. Shpritz također plaća fiksne troškove od 30 000 USD godišnje. Shpritzovo bezalkoholno piće prodaje se za 2 dolara po galonu.

Prvo izračunajte puni trošak Clora. Fiksni troškovi iznose 40 000 američkih dolara potrebnih za proizvodnju 100 000 litara izvorske vode. Fiksni trošak po jedinici tada iznosi 0,40 USD po galonu (40 000 ÷ 100 000 galona). Clorovi varijabilni troškovi jednaki su 0,30 USD po galonu; dodajte to fiksnim troškovima po jedinici kako biste dobili ukupni trošak od 0,70 USD po galonu, cijena prijenosa.

Sljedeća slika objašnjava što se događa kada Clor opskrbi Shpritz izvorskom vodom 60.000 dolara po cijeni prijenosa od 0,70 dolara po galonu, a ostatak za vanjske kupce za 0,75 dolara po galonu.

image0.jpg

Ovdje Clor prima 30.000 dolara prihoda od vanjskih kupaca i 42.000 dolara prihoda od Shpritza. Oduzimanje promjenjivih troškova Clora od 30 000 USD i fiksnih troškova od 40 000 USD rezultira neto prihodom od 2 000 USD. Shpritz od svojih bezalkoholnih pića uzima prihode od 120 000 dolara.

Od tog iznosa, on mora platiti 42.000 USD Clor-u i 24.000 USD u ostalim varijabilnim troškovima. Shpritz također mora platiti fiksne troškove u vrijednosti od 30 000 američkih dolara, što rezultira neto prihodom od 24 000 dolara za Shpritz. HOO Water, koji posjeduje oba odjela, ostvaruje ukupni prihod od 26.000 dolara od oba proizvoda.

Odluke o temeljnim cijenama transfera na punom trošku mogu prevariti menadžere odjeljenja u donošenju loših odluka koje štete ukupnoj profitabilnosti tvrtke. Pretpostavimo da neka druga tvrtka, Malcolm Water, prodaje vodu za 0,65 dolara po galonu. (U slučaju da se pitate, Malcolm Water može naplatiti manje novca za svoju vodu jer je voda lošije kvalitete.) Podjela Shpritz mora odabrati između plaćanja 0,70 USD po galonu za odjeljenje Clor ili 0,65 USD po galonu za Malcolm.

S jedne strane, Shpritz možda radije posluje s Clorom samo zato što obje tvrtke imaju istog roditelja. Međutim, ako HOO plaća vodu od 0,70 galona, ​​ali samo 0,65 USD za kupnju od Malcolma, zar HOO ne bi trebao samo kupiti vodu od jeftinijeg vanjskog dobavljača i uštedjeti 0,05 dolara po litri?

Nije nužno. Sljedeća slika ilustrira fijasko koji se događa kada Shpritz pokušava uštedjeti novac kupujući vodu od Malcolma.

slika1.jpg

Shpritzova odluka da pokuša smanjiti troškove smanjuje ukupnu profitabilnost HOO Water-a za 21 000 USD. Nema sumnje u to: Shpritzova profitabilnost raste. Budući da se odlukom o outsourcingu smanjuju varijabilni troškovi kupnje vode s 42.000 na 39.000 USD, neto prihod Shpritza raste na 27.000 dolara.

Međutim, Shpritzova odluka šteti Clor-u i na kraju smanjuje ukupnu profitabilnost HOO Water-a. Prodaja Clora Shpritzu u iznosu od 42.000 dolara potpuno se presušila. Njegovi varijabilni troškovi također padaju sa 30.000 na 12.000 dolara.

Međutim, stalni troškovi Clora od 40.000 USD ostaju isti, zbog čega je Clor pretrpio gubitak u iznosu od 22.000 dolara. Ukupna zarada HOO vode pala je s 26.000 na samo 5.000 dolara. Osnivanje transferne cijene na punom trošku dovelo je Shpritz donositi odluke koje štete ukupnoj profitabilnosti tvrtke.

  1. BusinessMarketingSocijalni medijski marketingKako pronaći svoje kontakte na Instagramu
Instagram za posao za lutke

Autor: Jennifer Herman, Eric Butow, Corey Walker

Ako ste novi na Instagramu, možda se pitate odakle započeti. Instagram (i njegov tata, Facebook) rado vam pomažu u uspostavljanju veza. Možete pronaći ljude na nekoliko različitih načina.

Pronalaženje svojih Facebook prijatelja

Facebook ima veliki interes za postizanje rasta na Instagramu, pa vas pokušava potaknuti da zaokružite svoje Facebook prijatelje i dovedete ih u Instagram. To vam je lak način da pronađete ljude.

Da biste pronašli prijatelje na Facebooku, slijedite ove korake:

  1. Idite na svoju Instagram stranicu profila dodirom na fotografiju u donjem desnom kutu zaslona telefona. Dodirnite osobu s plusom (i eventualno crvenim brojem) u gornjem lijevom kutu. Dodirnite Facebook vezu na vrhu zaslona. Potvrdite svoju prijavu na Facebooku tako da dodirnete U redu. Na ekranu se prikazuje koliko Facebook prijatelja imate na Instagramu. Dodirnite ili Slijedite sve ili Slijedite. Da biste na Instagramu pratili svakog svog prijatelja na Facebooku, dodirnite Follow All. Ako biste radije bili selektivniji, posebno zato što ćete vjerojatno promovirati svoj proizvod ili uslugu, možda biste htjeli slijediti prijatelje jednog po jednog. Jednostavno dodirnite Slijedite pokraj svakog prijatelja s kojim se želite povezati i nastavite se pomicati i slijediti!
pronađite Facebook prijatelje na Instagramu

Neki od vaših prijatelja možda su postavili svoje račune na privatne. U ovom slučaju, nakon što dotaknete Slijedi, vidite Traženo. Moraju vas odobriti prije nego što pogledate njihov profil i postove.

Sinkroniziranje popisa kontakata

Instagram vas može povezati i s kontaktima pohranjenim na vašem telefonu ili tabletu. Nakon što aktivirate ovu značajku, vaši se kontakti povremeno sinkroniziraju s Instagram-ovim poslužiteljima. Instagram ne prati nikoga u vaše ime i možete u bilo kojem trenutku prekinuti vezu s njim tako da im Instagram ne može pristupiti.

Ova je značajka možda na početku najbolja kao učinjena jednom i učinjena nasuprot stalnoj vezi u svrhu privatnosti.

Da biste povezali kontakte, slijedite ove korake:

  1. Idite na svoju Instagram stranicu profila dodirom na fotografiju u donjem desnom kutu zaslona telefona. Dodirnite malu osobu s plusom (i eventualno crvenim brojem) u gornjem lijevom kutu. Dodirnite vezu Kontakti. Sljedeći će vam ekran reći da će Instagram pronaći ljude koje poznajete, a vi imate mogućnost da ih slijede. Da biste nastavili, dodirnite Poveži kontakte. Drugi skočni prozor može li Instagram moći pristupiti vašim kontaktima. Dodirnite Dopusti pristup. Pojavit će se skočni prozor sa zahtjevom da omogućite Instagramu pristup vašim kontaktima. Ovo vam je posljednja prilika da otkažete odluku kako biste Instagramu omogućili pristup vašim kontaktima. Dodirnite U redu. Skočni prozor će se ugasiti i pojavit će se zaslon s kontaktima. Slijedite sve svoje kontakte na Instagramu dodirom na Follow All ili odaberite koje kontakte želite slijediti dodirom na Next pored svakog.
instagram kontakti

Ako se u nekom trenutku predomislite i želite onemogućiti Instagramu pristup vašim kontaktima, dodirnite ikonu kotača na stranici vašeg profila, pomaknite se prema dolje do Postavke, a zatim dodirnite Kontakti. Dodirnite prekidač Connect Contacts da biste ga vratili u bijelo, čime se Instagramu ukida pristup.

  1. Upravljanje poslovnim operacijama Odabir najboljeg pružatelja usluga oblaka, značajki i alata za DevOps

Autor: Emily Freeman

Uspjeh vaše DevOps inicijative u velikoj se mjeri oslanja na praćenje postupka, ali je također važno koristiti prave alate. Odabir pružatelja usluga oblaka nije lak izbor, posebno kada je DevOps vaša pokretačka motivacija. GCP (Google Cloud Platform), AWS (Amazon Web Services) i Azure imaju više zajedničkog nego što razdvajaju.

Često vaša odluka više ovisi o razini komfora vašeg tima DevOps s određenim pružateljem oblaka ili trenutnim paketom više od samog pružatelja usluga oblaka. Nakon što se odlučite za prelazak u oblak, sljedeća je odluka da odlučite o pružatelju usluge oblaka koji odgovara vašim DevOps potrebama. Evo nekoliko stvari koje treba uzeti u obzir prilikom procjene davatelja usluga oblaka s principima DevOps:

  • Solidna evidencija. Oblak koji odaberete trebao bi imati povijest odgovornih financijskih odluka i dovoljno kapitala za rad i širenje velikih podatkovnih centara tijekom desetljeća. Usklađenost i upravljanje rizikom. Formalna struktura i utvrđene politike usklađivanja ključne su za osiguravanje sigurnih i sigurnih podataka. U idealnom slučaju pregledajte revizije prije nego što potpišete ugovore. Pozitivan ugled. Povjerenje kupaca apsolutno je ključno. Vjerujete li da se možete pouzdati u ovog davatelja usluga oblaka da će nastaviti rasti i podržavati svoje razvijajuće se DevOps potrebe? Ugovori o razini usluge (SLA). Koju razinu usluge želite? Obično pružatelji usluga oblaka nude različite razine pouzdanosti rada na temelju troškova. Na primjer, 99,9 posto produženog radnog vremena bit će znatno jeftinije od produženog 99,999 posto. Metrike i nadzor. Koje vrste uvida u aplikacije, nadzor i telemetrija pruža dobavljač? Budite sigurni da možete steći odgovarajuću razinu uvida u svoje sustave što je moguće bliže realnom vremenu.

Na kraju, osigurajte da pružatelj usluga oblaka kojeg odaberete ima izvrsne tehničke mogućnosti koje pružaju usluge koje zadovoljavaju vaše specifične DevOps potrebe. Općenito, potražite

  • Mogućnosti računanja Rješenja za skladištenje Značajke implementacije Zapisivanje i nadgledanje Prijateljska korisnička sučelja

Također biste trebali potvrditi sposobnost implementacije hibridnog cloud rješenja u slučaju da trebate u nekom trenutku, kao i upućivati ​​HTTP pozive na druge API-je i usluge.

Tri glavna pružatelja usluga oblaka su Google Cloud Platform (GCP), Microsoft Azure i Amazon web Services (AWS). Također možete pronaći manje davatelje oblaka i sigurno brojne privatne pružatelje usluga oblaka, ali većina onoga što trebate znati dolazi od usporedbe javnih pružatelja usluga oblaka.

Web usluge Amazon (AWS)

Kao i drugi veliki javni pružatelji usluga oblaka, AWS nudi računanje na zahtjev putem pretplate uz naplatu. Korisnici AWS-a mogu se pretplatiti na bilo koji broj usluga i računalnih resursa. Amazon je trenutni lider na tržištu među pružateljima usluga oblaka koji drži većinu pretplatnika u oblaku.

Nudi robustan skup značajki i usluga u regijama širom svijeta. Dvije najpoznatije usluge su Amazon Elastic Compute Cloud (EC2) i Amazon Simple Storage Service (Amazon S3). Kao i kod drugih pružatelja usluga oblaka, uslugama se pristupa i pruža se infrastruktura putem API-ja.

Microsoft Azure

Prije nego što je Microsoft pokrenuo ovog pružatelja usluga oblaka kao Microsoft Azure, zvao se Windows Azure. Microsoft ga je dizajnirao da radi upravo ono što naziv podrazumijeva - služi kao pružatelj usluga oblaka za tradicionalno Windows IT organizacije. No kako je tržište postajalo konkurentnije i Microsoft je počeo bolje razumijevati tehnički krajolik, Azure se prilagođavao, rastao i evoluirao.

Iako još uvijek manje robustan od AWS-a, Azure je dobro zaokružen pružatelj usluga oblaka koji je usredotočen na korisničko iskustvo. Kroz različite lansiranje i akvizicije proizvoda - posebno GitHub - Microsoft je uložio velika ulaganja u Linux infrastrukturu, što mu je omogućilo snažnije usluge široj publici.

Google Cloud Platform (GCP)

Google Cloud Platform (GCP) ima najmanji tržišni udio od tri glavna pružatelja javnih usluga u oblaku, ali nudi značajan niz usluga u oblaku u gotovo dvije desete geografskih regija.

Možda je najprivlačniji aspekt GCP-a taj što on nudi korisnicima istu infrastrukturu koju Google koristi interno. Ova infrastruktura uključuje izuzetno moćne usluge računanja, pohrane, analitike i strojnog učenja. Ovisno o vašem konkretnom proizvodu, GCP može imati specijalizirane alate koji nedostaju (ili manje zreli) u AWS-u i Azure-u.

Pronalaženje DevOps alata i usluga u oblaku

Bukvalno stotine alata i usluga stoje vam na raspolaganju putem glavnih pružatelja usluga oblaka. Ti se alati i usluge obično dijele na sljedeće kategorije:

  • prebrojavati skladištenje Umrežavanje Upravljanje resursima Oblačna umjetna inteligencija (AI) Identitet sigurnosti serverless IOT

Slijedi popis najčešće korištenih usluga za sva tri glavna pružatelja usluga oblaka. Te usluge uključuju implementaciju aplikacija, upravljanje virtualnim strojevima (VM), orkestraciju spremnika, funkcije bez poslužitelja, pohranu i baze podataka.

Uključene su dodatne usluge kao što su upravljanje identitetom, blok pohrana, privatni oblak, pohrana tajni i još mnogo toga. To je daleko od iscrpnog popisa, ali može vam poslužiti kao solidna osnova dok počnete istraživati ​​svoje mogućnosti i osjećate se u čemu se razlikuju pružatelji usluga oblaka.

  • Implementacija aplikacije: Platforma kao servisno (PaaS) rješenje za raspoređivanje aplikacija na različitim jezicima, uključujući Java, .NET, Python, Node.js, C #, Ruby i Go Azure: Usluge oblaka Azure AWS: AWS elastični beanstalk GCP: Google App Engine
  • Upravljanje virtualnim strojem (VM): Infrastruktura kao usluga (IaaS) opcija za pokretanje virtualnih strojeva (VM-ova) s Linuxom ili Windows-om Azure: Virtualni strojevi Azure AWS: Amazon EC2 GCP: Google Compute Engine
  • Upravljani kuberneti: Omogućuje bolje upravljanje spremnicima putem popularnog orkestra Kubernetes Azure: Azure Kubernetes Service (AKS) AWS: Amazonska usluga za elastične spremnike (ECS) za Kubernetes GCP: Google Kubernetes Engine
  • Bez poslužitelja: Omogućuje korisnicima stvaranje logičkih tijekova funkcija bez poslužitelja Azure: Azure funkcije AWS: AWS Lambda GCP: Google Cloud Functions
  • Spremanje u oblaku: Nestrukturirano spremanje predmeta s predmemoriranjem Azure: Azure Blob Storage AWS: Amazon S3 GCP: Google Cloud Storage
  • Baze podataka: SQL i NoSQL baze podataka, na zahtjev Azure: DB Azure Cosmos AWS: Amazonska usluga relacijske baze podataka (RDS) i Amazon DynamoDB (NoSQL) GCP: Google Cloud SQL i Google Cloud BigTable (NoSQL)

Dok istražujete tri glavna pružatelja usluga oblaka, primijetit ćete dugačak popis usluga. Možda ćete se osjećati preplavljeno stotinama opcija koje su vam na raspolaganju. Ako slučajno ne možete pronaći ono što vam treba, tržište će vjerojatno osigurati nešto slično. Tržište je mjesto gdje neovisni programeri nude usluge koje se povezuju u oblak - a domaćin je Azure, AWS ili GCP.

Donja tablica sadrži dodatne usluge koje pruža većina, ako ne i svi davatelji usluga oblaka.

Kategorija uslugefunkcionalnost
Blokiraj pohranuPohrana podataka koja se koristi u okruženjima mreže podataka (SAN). Blok pohrana slična je pohrani podataka na tvrdi disk.
Virtualni privatni oblak (VPC)Logično izolirani, dijeljeni računalni resursi.
firewallMrežna sigurnost koja kontrolira promet.
Mreža isporuke sadržaja (CDN)Dostava sadržaja ovisno o lokaciji korisnika. Obično koristi keširanje, balansiranje opterećenja i analitiku.
Sustav naziva domena (DNS)Prevoditelj imena domena na IP adrese za preglednike.
Jedinstvena prijava (SSO)Kontrola pristupa više sustava ili aplikacija pomoću istih vjerodajnica. Ako ste se prijavili u neovisnu aplikaciju pomoću svojih vjerodajnica za Google, Twitter ili GitHub, koristili ste SSO.
Upravljanje identitetom i pristupom (IAM)Upravljanje pristupom na temelju uloga. Unaprijed određene uloge imaju pristup postavljenoj grupi značajki; korisnicima su dodijeljene uloge.
Telemetrija, nadzor i evidentiranjeAlati za pružanje uvida u aplikaciju o performansama, učitavanju poslužitelja, potrošnji memorije i još mnogo toga.
implementacijaAlati za konfiguraciju, infrastrukturu i puštanje cjevovoda.
Oblak školjkeShell pristup iz sučelja naredbenog retka (CLI) unutar preglednika.
Pohrana tajniSigurno čuvanje ključeva, tokena, lozinki, potvrda i drugih tajni.
Redovi porukaBrojači poruka s dinamičkim smanjenjem.
Strojno učenje (ML)Okviri i alati za duboko učenje za znanstvenike s podacima.
IOTPovezivanje i upravljanje uređajima.