1. BusinessOperations ManagementVelg den beste leverandøren av skytjeneste, funksjoner og verktøy for DevOps

Av Emily Freeman

Suksessen med DevOps-initiativet ditt er avhengig av å følge prosessen, men det er også viktig å bruke de riktige verktøyene. Å velge en skytjenesteleverandør er ikke et lett valg, spesielt når DevOps er din drivende motivasjon. GCP (Google Cloud Platform), AWS (Amazon Web Services) og Azure har mer til felles enn de gjør fra hverandre.

Ofte avhenger avgjørelsen din mer av DevOps-teamets komfortnivå hos en bestemt skyleverandør eller din nåværende stabel mer enn skyleverandøren selv. Etter at du har bestemt deg for å flytte til skyen, er neste beslutning å bestemme deg for en skyleverandør som passer til dine DevOps behov. Her er noen ting du må vurdere når du evaluerer nettskyleverandører med DevOps-prinsipper i tankene:

  • Solid merittliste. Skyen du velger, skal ha en historie med ansvarlige økonomiske beslutninger og nok kapital til å drifte og utvide store datasentre gjennom flere tiår. Overholdelse og risikostyring. Formell struktur og etablerte retningslinjer for samsvar er avgjørende for å sikre at dataene dine er trygge og sikre. Ideelt sett må du gjennomgå revisjoner før du signerer kontrakter. Positivt omdømme. Kundenes tillit er helt sentralt. Stoler du på at du kan stole på at denne skyleverandøren fortsetter å vokse og støtte dine utviklende DevOps behov? Servicenivåavtaler (SLAs). Hvilket servicenivå trenger du? Typisk tilbyr skyleverandører forskjellige nivåer av driftssikkerhet basert på kostnader. For eksempel vil 99,9 prosent oppetid være betydelig billigere enn 99,999 prosent oppetid. Måling og overvåking. Hvilke typer applikasjonsinnsikt, overvåking og telemetri leverer leverandøren? Forsikre deg om at du kan få et passende nivå av innsikt i systemene dine så nær sanntid som mulig.

Til slutt, forsikre deg om at skyleverandøren du velger har utmerkede tekniske evner som gir tjenester som oppfyller dine spesifikke DevOps-behov. Generelt, se etter

  • Beregn evner Lagringsløsninger Distribusjonsfunksjoner Logging og overvåking Vennlige brukergrensesnitt

Du bør også bekrefte evnen til å implementere en hybrid skyløsning i tilfelle du trenger det på et tidspunkt, samt å ringe HTTP til andre API-er og tjenester.

De tre store skyleverandørene er Google Cloud Platform (GCP), Microsoft Azure og Amazon web Services (AWS). Du kan også finne mindre skyleverandører og sikkert en rekke private nettskyleverandører, men mesteparten av det du trenger å vite kommer fra å sammenligne de offentlige skyleverandørene.

Amazon Web Services (AWS)

I likhet med de andre store offentlige leverandørene av skyer, tilbyr AWS databehandling på forespørsel gjennom et pay-as-you-go-abonnement. Brukere av AWS kan abonnere på et hvilket som helst antall tjenester og databehandlingsressurser. Amazon er den nåværende markedsledende blant nettskydeleverandører, og har flertallet av skyabonnenter.

Det tilbyr et robust sett med funksjoner og tjenester i regioner over hele verden. To av de mest kjente tjenestene er Amazon Elastic Compute Cloud (EC2) og Amazon Simple Storage Service (Amazon S3). I likhet med andre nettskyleverandører får man tilgang til tjenester og infrastruktur leveres gjennom APIer.

Microsoft Azure

Før Microsoft lanserte denne skyleverandøren som Microsoft Azure, ble den kalt Windows Azure. Microsoft designet den for å gjøre akkurat det navnet tilsier - tjene som en skyleverandør for tradisjonelt Windows IT-organisasjoner. Men etter hvert som markedet ble mer konkurransedyktig og Microsoft begynte å forstå ingeniørlandskapet bedre, tilpasset Azure, vokste og utviklet seg.

Til tross for at det fremdeles er mindre robust enn AWS, er Azure en godt avrundet nettskyleverandør med fokus på brukeropplevelse. Gjennom forskjellige produktlanseringer og anskaffelser - særlig GitHub - har Microsoft investert mye i Linux-infrastruktur, noe som har gjort det mulig for å tilby mer robuste tjenester til et bredere publikum.

Google Cloud Platform (GCP)

Google Cloud Platform (GCP) har den minste markedsandelen av de tre store offentlige skyleverandørene, men tilbyr et betydelig sett med skytjenester i nesten to dusin geografiske regioner.

Det kanskje mest tiltalende aspektet ved GCP er at den tilbyr brukerne den samme infrastrukturen Google bruker internt. Denne infrastrukturen inkluderer ekstremt kraftige tjenester innen databehandling, lagring, analyse og maskinlæring. Avhengig av ditt spesifikke produkt, kan GCP ha spesialiserte verktøy som mangler (eller mindre modne) i AWS og Azure.

Finne DevOps verktøy og tjenester i skyen

Bokstavelig talt hundrevis av verktøy og tjenester står til din disposisjon gjennom de store skylverandørene. Disse verktøyene og tjenestene er vanligvis delt inn i følgende kategorier:

  • Compute Oppbevaring Nettverk Ressursforvaltning Cloud Artificial Intelligence (AI) Identitet Sikkerhet Serverløst IOT

Følgende er en liste over de mest brukte tjenestene i alle de tre store skyleverandørene. Disse tjenestene inkluderer app-distribusjon, administrasjon av virtuell maskin (VM), container-orkestrering, serverløse funksjoner, lagring og databaser.

Ytterligere tjenester er inkludert, for eksempel identitetshåndtering, blokklagring, privat sky, lagring av hemmeligheter og mer. Det er langt fra en uttømmende liste, men kan tjene som et solid grunnlag for deg når du begynner å undersøke alternativene dine og få en følelse av hva som skiller nettskyleverandørene.

  • App-distribusjon: Platform as a Service (PaaS) -løsning for distribusjon av applikasjoner på en rekke språk, inkludert Java, .NET, Python, Node.js, C #, Ruby og Go Azure: Azure Cloud Services AWS: AWS Elastic Beanstalk GCP: Google App Engine
  • Administrasjon av virtuell maskin (VM): Infrastructure as a Service (IaaS) alternativ for å kjøre virtuelle maskiner (VM) med Linux eller Windows Azure: Azure Virtual Machines AWS: Amazon EC2 GCP: Google Compute Engine
  • Administrert Kubernetes: Gjør det mulig med bedre containerstyring via den populære orkestratoren Kubernetes Azure: Azure Kubernetes Service (AKS) AWS: Amazon Elastic Container Service (ECS) for Kubernetes GCP: Google Kubernetes Engine
  • Serverløs: Gjør det mulig for brukere å lage logiske arbeidsflyter med serverløse funksjoner Azure: Azure Functions AWS: AWS Lambda GCP: Google Cloud-funksjoner
  • Skylagring: Ustrukturert objektlagring med hurtigbufring Azure: Azure Blob Storage AWS: Amazon S3 GCP: Google Cloud Storage
  • Databaser: SQL og NoSQL databaser, på forespørsel Azure: Azure Cosmos DB AWS: Amazon Relational Database Service (RDS) og Amazon DynamoDB (NoSQL) GCP: Google Cloud SQL og Google Cloud BigTable (NoSQL)

Når du utforsker de tre store skyleverandørene, merker du en lang liste med tjenester. Du kan føle deg overveldet av hundrevis av alternativer du har til rådighet. Hvis du ved en tilfeldighet ikke finner det du trenger, vil markedsplassen sannsynligvis gi noe lignende. Markedsplassen er der uavhengige utviklere tilbyr tjenester som kobles til nettskyen - hostet av Azure, AWS eller GCP.

Tabellen nedenfor viser tilleggstjenester levert av de fleste, om ikke alle, nettskyleverandører.

  1. BusinessOperations ManagementWhy DevOps Matters: 11 Ways DevOps Benefits Your Organization

Av Emily Freeman

Når det gjøres riktig, tilbyr DevOps betydelige fordeler for organisasjonen din. Denne artikkelen presenterer de viktigste punktene for å vite om hvordan DevOps kommer organisasjonen til gode. Bruk den som en referanse for å hjelpe deg med å overtale kollegaene dine eller for å styrke din forståelse av hvorfor du valgte å gå DevOps-ruten når veien blir ujevn.

DevOps fordeler

DevOps hjelper deg å akseptere konstant endring

Det tekniske landskapet er et stadig skiftende miljø. Noen språk utvikler seg og nye opprettes. Rammer kommer og går. Endring av infrastrukturverktøy for å imøtekomme de stadig voksende kravene til hosting-applikasjoner mer effektivt og for å levere tjenester raskere. Verktøy fortsetter å abstrakte databehandling på lavt nivå for å redusere tekniske overheadkostnader.

Den eneste konstanten er endring. Din evne til å tilpasse seg den endringen vil avgjøre suksessen din som en individuell bidragsyter, leder eller leder. Uavhengig av hvilken rolle du for øyeblikket fyller i ditt selskap eller håper å spille, er det viktig å tilpasse seg raskt og fjerne så mye friksjon fra veksten som mulig. DevOps lar deg tilpasse og vokse ved å forbedre kommunikasjonen og samarbeidet.

DevOps omfavner skyen

Skyen er ikke fremtiden; det snør. Selv om du fremdeles kan bytte eller ennå ikke er klar til å flytte, må du innse at skyen er veien videre for alle unntatt noen få selskaper. Det gir deg mer fleksibilitet enn tradisjonell infrastruktur, senker stresset ved driften, og (vanligvis) koster betydelig mindre på grunn av en prisstabil prisstruktur.

Offentlige, private og hybride skyer gir deg uendelige muligheter for å drive virksomheten bedre. Evnen til å spinne opp (lansere) ressurser i løpet av minutter er noe de fleste selskaper aldri har opplevd før skyen.

Denne smidigheten som leveres av skyen, går hånd i hånd med DevOps. Omri Gazitt fra Puppet, et selskap med fokus på automatisering og konfigurasjonshåndtering, sa det best: "Når organisasjoner flytter til skyen, vurderer de sine grunnleggende forutsetninger om hvordan de leverer programvare."

Med skyen kobler API-er hver tjeneste, plattform og infrastrukturverktøy slik at du kan administrere ressursene og applikasjonen din sømløst. Når du migrerer til skyen, kan du revurdere tidligere beslutninger om arkitektur og sakte overføre applikasjonen og systemet til å være sky-native, eller designet med skyen i tankene.

DevOps hjelper deg å ansette de beste

På grunn av økt etterspørsel er store ingeniører knappe. Det er rett og slett ikke nok ingeniører til å fylle alle ledige jobber eller for å dekke markedets etterspørsel det neste tiåret og utover. Selv om det kan være vanskelig å finne ingeniører, er det ikke umulig, spesielt hvis du fokuserer på å oppdage ingeniører som omfavner nysgjerrighet og ikke er redd for å mislykkes. Hvis du implementerer DevOps i den generelle ingeniørkulturen, kan du utjevne ingeniører og trene dem i metodikk og teknologi som støtter kontinuerlig forbedring.

Det er vanskelig å måle potensialet i et intervju. Vanligvis hvisker talent. De mest talentfulle ingeniørene er vanligvis ikke uekte eller braggarts; de lot arbeidet sitt tale for dem. DevOps lar deg lytte nærmere til de personlige og profesjonelle interessene til ingeniørene du intervjuer.

Prøv å velge kandidater basert på nysgjerrighetsnivå, kommunikasjonsevne og entusiasme. Disse egenskapene kan se teamet ditt gjennom bunnene av frykt, usikkerhet og tvil. De kan bære teamet gjennom harde beslutninger, tatt innenfor begrensninger, i sitt forsøk på å løse vanskelige problemer.

Du kan lære noen ferdigheter, men å lære noen å lære er en helt annen sak. Læringskulturen du oppretter i DevOps-organisasjonen din, lar deg prioritere et tankegang i vekst fremfor teknisk dyktighet. I DevOps er det viktig å ansette for teamet. Hvert individ er et stykke av en helhet, og teamet må ha balanse helhetlig. Å oppnå denne balansen betyr at du noen ganger ikke ansetter den "beste" ingeniøren, du ansetter den beste ingeniøren til teamet.

Når du ansetter for DevOps-teamet, kan du, som trekkhester, samle mer vekt enn du kunne individuelt. Med DevOps kan du multiplisere de individuelle komponentene i teamet ditt, og som en helhet lage et kraftsenter av et team.

DevOps holder deg konkurransedyktig

Den årlige rapporten State of DevOps utgitt av DevOps Research and Assessment (DORA) gjør det klart: Bedrifter over hele verden bruker DevOps for å justere sin tekniske praksis og høster fordelene. De ser økninger i ingeniørproduksjon og reduksjoner i kostnader. Med DevOps skifter disse selskapene fra klumpete prosesser og systemer til en strømlinjeformet måte å utvikle programvare fokusert på sluttbrukeren.

DevOps gjør det mulig for selskaper å lage pålitelig infrastruktur og bruke den infrastrukturen til å frigi programvare raskere og mer pålitelig. Hovedpoenget er dette: Organisasjoner med høy ytelse bruker DevOps, og de knuser konkurransen ved å øke distribusjonsfrekvensen og redusere feilene som oppstår på grunn av endringer i systemet.

Hvis du vil konkurrere, må du ta i bruk de solide DevOps-metodene. Kanskje ikke alle av dem, og definitivt ikke alle på en gang - men tiden til å vente og se om DevOps er verdt har gått.

DevOps hjelper med å løse menneskelige problemer

Mennesker har nådd et punkt i vår evolusjon der teknologien utvikler seg raskere enn hjernen vår. Dermed skyldes de største utfordringene mennesker står overfor menneskelige begrensninger - ikke begrensningene for programvare eller infrastruktur. I motsetning til andre metodologier for programvareutvikling, fokuserer DevOps helhetlig på ditt sosiotekniske system.

Å omfavne DevOps krever et skifte i kultur og tankesett. Men hvis du oppnår en DevOps-kultur og tankesett, høster du og din organisasjon nesten ubegrensede fordeler. Når ingeniører er bemyndiget til å utforske, fri for press og frykt for å mislykkes, skjer fantastiske ting.

Ingeniører oppdager nye måter å løse problemer på. De nærmer seg prosjekter og problemer med et sunt tankesett og jobber mer flytende, uten unødvendig og negativ konkurranse.

DevOps utfordrer ansatte

DevOps akselererer veksten til individuelle ingeniører så vel som for ingeniørteamet som helhet. Ingeniører er smarte mennesker. De er også naturlig nysgjerrige. En stor ingeniør som omfavner en veksttankegang trenger nye utfordringer etter å ha mestret en bestemt teknologi, verktøy eller metodikk, eller de føler seg ofte stillestående.

De trenger å føle seg som om hjernen og ferdighetene deres blir strukket - ikke til å bli overveldet eller stresset, men nok til å føle at de vokser. Det er spenningen beskrevet av Dan Pink i Drive. Hvis du kan få den balansen, vil ingeniørene dine trives - som enkeltpersoner og som et team.

Metodikken til DevOps fremmer T-formede ferdigheter, noe som betyr at ingeniører spesialiserer seg på ett område med dyp kunnskap og har en bred forståelse av mange andre områder. Denne tilnærmingen lar ingeniører utforske andre interessante områder.

Kanskje har en Python-ingeniør interesse for skyinfrastruktur, for eksempel. Ingen annen teknisk metodikk tillater og oppfordrer ingeniører til å utforske så mye som DevOps gjør, og det er en enorm bidragsyter til å ansette og beholde talent.

DevOps bygger hull

En av utfordringene til moderne teknologiselskaper er dette gapet mellom virksomhetens behov og ingeniørbehov. I et tradisjonelt selskap, med tradisjonelle styringsstrategier, eksisterer det en naturlig friksjon mellom ingeniørfag og avdelinger som markedsføring, salg og forretningsutvikling. Denne friksjonen stammer fra manglende innretting. Hver avdeling måles med forskjellige indikatorer for suksess.

DevOps søker å forene hver avdeling i en virksomhet og skape en delt forståelse og respekt. At respekten for hverandres jobber og bidrag er det som gjør at enhver person i selskapet kan trives. Det fjerner friksjonen og forbedrer akselerasjonen.

Tenk på et team med sledehunder. Hvis hver hund beveger seg i separate retninger, går sleden ingen steder. Forestill deg hundene som jobber sammen, fokusert på å komme videre - sammen. Når du mangler friksjon internt, er de eneste utfordringene du står utenfor, og eksterne utfordringer er nesten alltid mer håndterbare enn interne stridigheter.

DevOps lar deg mislykkes godt

Feil er uunngåelig. Det er rett og slett uunngåelig. Det er umulig å forutsi alle måter systemet ditt kan mislykkes på grunn av alle ukjente. (Og det kan mislykkes spektakulært, ikke sant?) I stedet for å unngå feil for enhver pris og føle deg knust når feil oppstår, kan du forberede deg på det. DevOps forbereder organisasjoner til å svare på fiasko, men ikke på en panikk, stressindusert måte.

Hendelser vil alltid involvere et visst nivå av stress. På et eller annet tidspunkt langs kommandostrukturen din, vil en utøvende leder sannsynligvis skrike etter at pengene går tapt under et servicestopp. Men du kan redusere stresset teamet ditt opplever ved å bruke feil som en måte å lære og tilpasse systemet ditt til å bli mer spenstig.

Hver hendelse er en mulighet til å forbedre og vokse, som enkeltpersoner og som et team.

DevOps omfavner kaizen, kunsten å kontinuerlig forbedring. Når teamet ditt opplever flyt i arbeidet sitt, kan de ta små valg hver dag som bidrar til langsiktig vekst og til slutt et bedre produkt.

DevOps lar deg forbedre kontinuerlig

Kontinuerlig forbedring er en sentral ingrediens i DevOps. Bruk visualiseringen av en uendelig syklus når du bruker DevOps på organisasjonen din. Syklusen skal ikke påkalle frykt gjennom tanker om Sisyphus, skyve en kampestein opp en bakke i all evighet. Tenk i stedet på denne syklusen som bevegelse, som en snøball som ruller nedover, samler fart og masse.

Når du tar i bruk DevOps og integrerer mer og mer av dens grunnleggende elementer i den daglige arbeidsflyten, vil du være vitne til denne akselerasjonen på første hånd. Syklusen med kontinuerlig forbedring skal alltid sentrere rundt kunden. Du må kontinuerlig tenke på sluttbrukeren og integrere tilbakemeldinger i programvarens leveringssyklus.

Grunnleggende for denne syklusen er CI / CD. Å vedta CI / CD er ikke et krav om alt eller ingenting av DevOps; i stedet er det en langsom implementeringsprosess. Du bør fokusere på å mestre kontinuerlig integrasjon først. Oppfordre ingeniører til å dele kode fritt og slå sammen kode ofte. Denne tilnærmingen forhindrer isolasjon og siloer fra å bli blokkerere i din ingeniørorganisasjon.

Etter at organisasjonen behersker kontinuerlig integrering, gå videre til kontinuerlig levering, praksis med å automatisere programvarelevering. Dette trinnet krever automatisering fordi kode vil gå gjennom flere kontroller for å sikre kvalitet. Etter at all koden din er sikker og tilgjengelig i et kildekodelagringssted, kan du begynne å implementere små endringer kontinuerlig. Målet ditt er å fjerne manuelle barrierer og forbedre teamets evne til å oppdage og fikse feil uten kundepåvirkning.

DevOps automatiserer slitasje

Akselerasjon og økt effektivitet er kjernen i DevOps-metodikken. Ved å automatisere arbeidsintensive manuelle prosesser, frigjør DevOps ingeniører til å jobbe med prosjekter som gjør programvaren og systemene mer pålitelige og enkelt vedlikeholdte - uten kaoset av uventede serviceavbrudd.

SiteREVERING Engineering (SRE) tar for seg slit, som er arbeidet som kreves for å holde tjenestene oppe og i gang, men er manuelt og repeterende. Arbeidet kan automatiseres og mangler langsiktig verdi. Kanskje det viktigste av alt, slitasje skalaer lineært, noe som begrenser veksten. Vær oppmerksom på at slit ikke refererer til overhead av administrative nødvendigheter som møter og planlegging. Denne typen arbeid, hvis implementert med en DevOps-mentalitet, er gunstig for den langsiktige akselerasjonen av teamet ditt.

Et av de viktigste elementene i å verktøye DevOps-praksisen din er automatisering. Du kan automatisere distribusjonspipelinjen din slik at den inkluderer en fullstendig testserie, så vel som andre porter som koden må passere for å bli utgitt. På mange måter er SRE det neste logiske trinnet i utviklingen av DevOps, og bør være det neste trinnet etter at du og organisasjonen behersker kjernekonseptene til DevOps og implementerer praksisen i teamet ditt.

DevOps akselererer leveransen

Leveringslivssyklusen for programvaren har utviklet seg fra den langsomme og lineære Fosseprosessen til en smidig og kontinuerlig sløyfe av DevOps. Du tenker ikke lenger opp et produkt, utvikler det fullt og slipper det deretter til kundene, i håp om at det skal lykkes.

I stedet oppretter du en tilbakemeldingssløyfe rundt kunden og leverer kontinuerlig iterative endringer på produktene dine. Denne tilkoblede kretsen lar deg kontinuerlig forbedre funksjonene og sikre at kunden er fornøyd med det du leverer.

Når du kobler sammen alle prikkene og vedtar DevOps i organisasjonen din, ser du på at teamet ditt kan levere bedre programvare raskere. Endringene vil være små med det første, akkurat som endringene du slipper. Men over tid legger de tilsynelatende ubetydelige endringene seg opp og skaper et team som akselererer leveringen av kvalitetsprogramvare.

  1. BusinessOperations Management Gjør mer av skyverktøyene dine: Automatisere DevOps i skyen

Av Emily Freeman

Å gifte seg med skyen med din DevOps-praksis kan fremskynde arbeidet du allerede har utført. Når de brukes sammen, kan både DevOps og nettskyen drive bedriftens digitale transformasjon.

Du vil se resultater så lenge du legger vekt på prioriteringene til DevOps: mennesker, prosess og teknologi. Skyen - sammen med annet verktøy - faller firkantet inn i den tekniske delen av DevOps-implementeringen.

DevOps og cloud computing

Cloud computing muliggjør automatisering for utviklerne og operasjonsfolket på en måte som ganske enkelt ikke er mulig når du administrerer din egen fysiske infrastruktur. Ved å tilby infrastruktur gjennom kode i skyen - som er et system kalt infrastruktur som Code (IaC) - kan du lage maler og repeterbare prosesser.

Når du sporer endringer i infrastrukturkoden din gjennom kildekontroll, tillater du at teamet ditt kan fungere sømløst og spore endringer. IaC er mye mer repeterbar og automatisert - for ikke å nevne raskere - enn å ha ingeniører til å klikke seg rundt en portal.

Selv instruksjoner på portalen er ikke tålsikre. Du risikerer å gjøre små, men likevel betydningsfulle, endringer i infrastrukturoppsettet hvis du konsekvent bygger det samme oppsettet gjennom portalen i stedet for en YAML-fil.

Ta DevOps-kulturen din til skyen

Folk snakker ofte om DevOps og cloud computing som om de er sammenvevd og på mange måter. Vær imidlertid oppmerksom på at du kan ta i bruk DevOps - eller begynne å transformere din ingeniørorganisasjon - uten å gå helt inn på skyen. Det er helt rimelig at du først oppretter standarder, praksis og prosesser for teamet ditt før du skifter infrastruktur til en skyleverandør.

Selv om folk snakker som om alle allerede er på skyen, er du fortsatt i forkant av skiftet til skyen. Cloud-leverandører blir mer robuste om dagen, og ingeniørselskaper overfører sakte sine selvhostede tjenester til skyen. Med det i bakhodet, vil en organisasjon som ønsker å ta i bruk DevOps være lurt å sterkt vurdere å benytte seg av tjenestene til en stor skyleverandør.

Alle med DevOps-erfaring vil sannsynligvis ikke kalle skyen en NoOps-løsning, men de kan kalle det OpsLite. Skytjenester abstraherer ofte kompleks driftsarkitektur på en måte som gjør at arkitekturen er mer vennlig mot utviklere og gir dem mulighet til å ta mer eierskap til komponentene sine.

Hvis du noen gang har klaget over at utviklere skal inkluderes i en rotasjonshåndbok, har du rett - de burde være det. Å inkludere utviklere i turnusrotasjonen er en fin måte å øke kunnskapen om distribusjon av kode samt administrere og tilby infrastrukturen deres tjenester fungerer på. Dette reduserer driftskostnader og frigjør tid for operasjonsspesialister til å jobbe med proaktive løsninger.

Læring gjennom DevOps adopsjon

Hvis teamet ditt er i stand til å ta i bruk DevOps og gå over til å bruke sky computing på samme tid, kan du bruke disse skiftene som læringsmuligheter for både utviklere og driftsfolk.

Mens teamet ditt skifter til skyen, har utviklere muligheten til å gjøre operasjonsspesialister kjent med kode - kanskje til og med spesifikke språk - og kildekontroll, og operasjonsfolk kan lære utviklere om infrastruktur. Når begge gruppene er både eksperter og nybegynnere, er ingen av gruppene nødt til å håndtere mye av en ego-ødeleggende kunnskapsoverføring.

Tilliten, rapporten og den sunne dynamikken som følger av disse samhandlingene vil galvanisere teamet ditt og vare mye lenger enn det umiddelbare arbeidet tok. På mange måter forsterker du DevOps-kulturen din ved å verktøyet DevOps-praksisen din.

Dra nytte av skytjenester i ditt DevOps-initiativ

Moderne operasjoner er i endring og utvikling. Konkurrentene dine tar allerede i bruk nye måter å innovere raskere og akselerere programvarens leveringssykluser.

Cloud computing representerer et stort skifte fra den tradisjonelle måten bedrifter tenker på IT-ressurser. Ved å outsourcere mye av infrastruktur og driftskrav til en skyleverandør, reduserer du overhead og frigjør teamet ditt til å fokusere på å levere bedre programvare til brukerne dine.

Her er seks vanlige grunner til at organisasjoner henvender seg til cloud computing-tjenester:

  • Forbedre overkommeligheten. Cloud-leverandører lar deg velge bare tjenestene du trenger, når du trenger dem. Tenk om du hadde tilgang til kabel-TV, men betaler bare for kanalene du ser. Du ville elsket det, ikke sant? De fleste DevOps teammedlemmer vil! Cloud-leverandører gjør nettopp det, samtidig som de gir deg den mest oppdaterte datamaskinvare som er plassert i fysisk sikre datasentre. Automatisere distribusjoner. Endringer i systemet - distribusjoner - er de vanligste bidragsyterne til strømbrudd eller forstyrrelser i tjenesten. Cloud-leverandører gjør utgivelse av kode til en automatisert, repeterbar prosess, og reduserer sannsynligheten for å gjøre feil i manuelle utgivelser betydelig og introdusere feil. Automatiserte distribusjoner gjør det også mulig for utviklere å gi ut sin egen kode. Til syvende og sist forenkler automatiserte distribusjoner prosessen og reduserer nedetid for nettstedet og reaksjonær triaging i produksjonen. Akselererende levering. Skyen reduserer friksjonen i nesten alle faser i programvarens leveringssyklus. Selv om konfigurering er påkrevd, tar det ofte ikke mer enn det dobbelte av tiden som kreves for å utføre prosessen manuelt, og du må konfigurere en tjeneste eller prosess bare en gang. Akselerert levering gir deg massevis av fleksibilitet. Øker sikkerheten. Skyleverandører utgjør sikkerhet som en del av tilbudet. Microsoft Azure, Amazon web Services (AWS) og Google Cloud Platform (GCP) oppfyller forskjellige overholdelsesstandarder og gir retningslinjer, tjenester og kontroller som vil hjelpe deg med å forsterke systemets sikkerhet. Hvis du i tillegg bruker et distribusjonsrørledningsverktøy i skyen, kan du legge til sikkerhetskontroller før ny kode slippes i et miljø, og dermed redusere muligheten for sikkerhetsproblemer. Minskende feil. Gjennom skybygging og utgivelse av rørledninger er teamet ditt i stand til å lage automatiserte tester for å bekrefte funksjonalitet, kodekvalitet, sikkerhet og overholdelse av kode som er introdusert i systemene dine. Denne muligheten reduserer muligheten for feil, samtidig som den reduserer risikoen for problematiske distribusjoner. Bygge mer spenstige og skalerbare systemer. Skyen lar organisasjoner skalere opp, skalere ut og øke kapasiteten i løpet av sekunder. Denne elastiske skaleringen muliggjør spinning av databehandlings- og lagringsressurser etter behov, uansett hvor i verden brukerne dine samhandler med produktet ditt. Denne tilnærmingen tillater deg å betjene kundene dine bedre og mer effektivt administrere infrastrukturkostnader.

DevOps-tilnærmingen handler om å lage en syklisk metode der du drar nytte av og lærer av prosessen hver gang du går gjennom den.

  1. BusinessOperations ManagementTips for å forbedre ingeniørytelsen med DevOps

Av Emily Freeman

Å forbedre ingeniørytelsen som en del av DevOps-prosessen kan ha store innvirkninger på hele virksomheten. Å effektivisere utviklingslivssyklusen og fjerne flaskehalser vil tjene til å akselerere den samlede ytelsen til virksomheten - og til slutt øke bunnlinjen. Og hvis du tror som DevOps-ingeniør at du ikke trenger å bry deg om forretningsresultatene, tar du feil.

I følge DevOps Research and Assessment (DORA) overlister DevOps-team med høy ytelse konsekvent sine konkurrenter på fire viktige områder:

  • Distribusjonsfrekvens: Dette uttrykket refererer til hvor ofte ingeniørene dine kan distribuere kode. Forbedring av ytelsen justeres med distribusjon flere ganger per dag etter ønske. Ledetid: Ledetid er hvor lang tid du tar fra å begå ny kode til å kjøre den koden i et produksjonsmiljø. De høyeste utøverne har ifølge DORA en ledetid på under en time, mens gjennomsnittlige utøvere trenger opptil en måned. MTTR (gjennomsnittlig tid å gjenopprette): MTTR viser til hvor lang tid du tar for å gjenopprette en tjeneste etter at en hendelse eller strømbrudd inntreffer. Ideelt sett ønsker du å sikte på under en time. Et strømbrudd koster alvorlige penger, spesielt når det påvirker gevinstsentrene for applikasjonen. Lange utbrudd ødelegger tillit, reduserer moral og innebærer ytterligere organisatoriske utfordringer. Endringssvikt: Dette begrepet refererer til hastigheten som endringer i systemet påvirker ytelsen negativt. Selv om du aldri vil nå en endringssviktfrekvens på null prosent, kan du absolutt nærme deg null ved å øke dine automatiserte tester og stole på en distribusjonsrørledning med kontinuerlig integrasjonskontroll og porter - som alle sikrer kvalitet.

Å eliminere perfeksjon som et mål på DevOps suksess

DevOps er avhengig av mantraet "Done is better than perfect." Det ser ut til å være et av disse sitatene som er umulig å tilskrive, men ordene snakker likevel sannhet. Å forsøke å oppnå perfeksjon er en fiende av effektivitet og produktivitet.

De fleste ingeniører, inkludert de av DevOps-sorten, lider av en eller annen versjon av analyse-lammelse - en mental lidelse som begrenser produktiviteten din i et forsøk på å overanalysere arbeidet ditt og eliminere et eventuelt uhell.

Opplæring av ufullkommenhet i arbeidet ditt krever at du omfavner muligheten for å mislykkes og uunngåeligheten av refactoring. Å lage tilbakemeldingsløkker rundt kunden og sløyfe tilbake til forskjellige ledd i rørledningen er primære leietakere for DevOps. I DevOps kobler du endene for å bøye linjen i en sirkel.

Når du tenker iterativt og sirkulært, å presse ut kode som ikke er perfekt, virker mye mindre skummelt fordi koden ikke er skåret ut i stein. I stedet er det i en midlertidig tilstand at DevOps-ingeniører forbedrer seg ofte når du samler inn mer data og tilbakemeldinger.

Designe små team for DevOps

Du har sannsynligvis hørt om Amazons “to-pizza” -team. Konseptet snakker bredt om viktigheten av små lag. Nå, det nøyaktige antallet personer som består av et to-pizzateam, varierer etter appetitten.

Det er lurt å holde lag under 12 personer. Når en gruppe nærmer seg 9, 10 eller 11 personer, kan du prøve å dele den opp i to. Det søte stedet for gruppestørrelse er rundt 4-6 personer. Det nøyaktige antallet ditt kan variere avhengig av personene det er snakk om, men poenget er dette: Når grupper blir for store, blir kommunikasjon utfordrende, klier dannes og teamarbeidet lider.

Her er ett annet bonusmål når du danner DevOps-lag: jevnstall. Det er lurt å gi folk en “kompis” på jobb - noen de kan stole på over alle andre. I jevn nummererte grupper har alle en kompis og ingen blir utelatt. Du kan koble deg jevnt sammen, og det har en tendens til å fungere bra. Danning av jevn nummererte grupper er ikke alltid oppnåelig på grunn av personaltall, men det er noe du må huske på.

En formel for måling av kommunikasjonskanaler er n (n - 1) / 2, der n representerer antall mennesker. Du kan estimere hvor komplisert teamets kommunikasjon vil være ved å gjøre en enkel beregning. For eksempel vil formelen for et to-pizzateam på 10 være 10 (10 - 1) / 2 = 45 kommunikasjonskanaler. Du kan forestille deg hvor komplekse større team kan bli.

Sporing av DevOps-arbeidet ditt

Hvis du kan komme deg over det lille overskuddet av å notere det du gjør hver dag, vil resultatene gi deg eksepsjonell verdi. Å ha ekte data om hvordan du bruker tiden din, hjelper deg med å spore deg og teamets effektivitet. Som Peter Drucker kjent sa: "Hvis du ikke kan måle det, kan du ikke forbedre det."

Hvor mange dager lar du jobben føles som om du ikke gjorde noe? Du hadde nettopp møte etter møte eller tilfeldige avbrudd hele dagen. Du er ikke alene. Mange arbeidere har det samme problemet. Det kan være vanskelig å spore fremdriften og dermed produktiviteten. Avviket mellom våre følelser av effekt og virkeligheten av vår effektivitet er farlig territorium for ethvert DevOps-team.

Prøv å bruke penn og papir i stedet for noen automatisert verktøy for dette. Ja, du kan bruke programvare for å spore hvordan du bruker tiden din på datamaskinen. Det kan fortelle deg når du leser e-post, når du slapper, og når du koder, men det mangler nyanse og ofte går glipp av eller kategoriserer store tidbiter.

Etter at du har en ide om hva du gjør og når, kan du begynne å identifisere hvilke aktiviteter som faller inn i kvadranter i Eisenhower Decision Matrix. Hvilket travelt arbeid gjør du rutinemessig som ikke gir noen verdi for deg eller organisasjonen?

Redusere friksjon i DevOps-prosjekter

Noe av det beste en leder kan gjøre for et DevOps ingeniørteam, er å la dem være i fred. Ansett nysgjerrige ingeniører som er i stand til å løse problemer uavhengig og deretter la dem gjøre jobben sin. Jo mer du kan redusere friksjonen som bremser ingeniørarbeidene deres, desto mer effektivt vil teamet ditt være.

Å redusere friksjonen inkluderer friksjonen som finnes mellom team - spesielt operasjoner og utvikling. Ikke glem spesialister som sikkerhet, også.

Å justere mål og insentiver øker hastigheten. Hvis alle er fokusert på å oppnå de samme tingene, kan de gå sammen som et team og gå metodisk mot disse målene.

Humanisere varsling for DevOps suksess

Hvert ingeniørteam har varsler om handlinger eller hendelser som ikke betyr noe. Å ha alle disse varslene sensibiliserer ingeniører til de virkelig viktige varslene. Mange ingeniører har blitt betinget av å ignorere e-postvarsler på grunn av en overflod av meldinger.

Alert utmattelse plager mange ingeniørorganisasjoner og koster høye kostnader. Hvis du blir oversvømmet hver dag, er det umulig å plukke ut det viktige fra et hav av det uviktige. Du kan til og med si at disse meldingene haster, men ikke viktige. . . .

E-post er ikke et ideelt kjøretøy for varsling fordi det ikke er tidssensitivt (mange mennesker sjekker e-post bare noen få ganger om dagen), og det blir lett begravet i andre detaljer.

Ved å bruke det du har lært om rask iterasjon, må du evaluere varslingstersklene regelmessig for å sikre en passende dekningsgrad uten for mange falske positiver. Å identifisere hvilke varsler som ikke er nødvendig, tar tid og arbeid. Og det vil nok være litt skummelt, ikke sant? Å slette et varsel eller øke en terskel medfører alltid litt risiko.

Hva hvis varselet faktisk er viktig? Hvis det er det, vil du finne ut av det. Husk at du ikke kan frykte fiasko i en DevOps-organisasjon. Du må omfavne det slik at du kan presse deg fremover og kontinuerlig forbedre deg. Hvis du lar frykten lede beslutningene dine, stagnerer du - som ingeniør og som organisasjon.

  1. BusinessOperations ManagementHvordan danne DevOps-team i organisasjonen din

Av Emily Freeman

DevOps har ingen ideell organisasjonsstruktur. Som alt innen teknologi, avhenger det "riktige" svaret til bedriftens struktur av din unike situasjon: ditt nåværende team, planene dine for vekst, teamets størrelse, teamets tilgjengelige ferdighetssett, ditt produkt og videre og videre.

Å justere visjonen til DevOps-teamet bør være ditt første oppdrag. Først etter at du har fjernet den lavthengende frukten av åpenbar friksjon mellom mennesker, bør du begynne å omorganisere team. Selv da, tillate litt fleksibilitet.

Hvis du nærmer deg en omorganisering med åpenhet og fleksibilitet, sender du meldingen om at du er villig til å lytte og gi teamet ditt autonomi - et grunnleggende grunnlag av DevOps.

Du har kanskje allerede en Python- eller Go-utvikler som er lidenskapelig og nysgjerrig på administrasjon av infrastruktur og konfigurasjon. Kanskje den personen kan bytte til en mer ops-fokusert rolle i din nye organisasjon. Legg deg selv i personens sko. Ville du ikke være lojal mot en organisasjon som tok en risiko for deg? Ville du ikke være spent på å jobbe hardt? Og den spenningen er smittsom.

Her lærer du hvordan du justerer lagene du allerede har på plass, dedikerer et team til DevOps-praksis og lager tverrfunksjonelle team - alt fra hvilken måte du kan velge å orientere teamene dine mot DevOps.

Du kan velge en tilnærming og la den utvikle seg derfra. Føler ikke at denne avgjørelsen er permanent og umulig. DevOps fokuserer på rask iterasjon og kontinuerlig forbedring, og det er den viktigste fordelen med denne metodikken. Den filosofien gjelder også lag.

Justere funksjonelle team for DevOps

I denne tilnærmingen skaper du et sterkt samarbeid mellom dine tradisjonelle utviklings- og operasjonsteam. Lagene forblir funksjonelle i sin natur - en fokusert på ops, en fokusert på kode. Men incentivene deres er på linje. De vil vokse til å stole på hverandre og jobbe som to team åket sammen.

For mindre ingeniørorganisasjoner er det å velge funksjonelle team et solid valg. Selv som et første skritt, kan denne justeringen forsterke de positive endringene du har gjort så langt. Du starter vanligvis justeringen ved å ta deg tid til å bygge rapport. Forsikre deg om at hver person på begge lag ikke bare intellektuelt forstår det andre teamets rolle og begrensninger, men også innlevelse i smertepunktene.

For denne tilnærmingen er det en god idé å markedsføre en policy om "Du bygger den, du støtter den." Denne policyen betyr at alle - både utvikler og driftsperson - deltar i rotasjonen på samtalen.

Denne deltakelsen gjør det mulig for utviklere å begynne å forstå frustrasjonene over å bli tilkalt midt på natten og slite mens de er tåkelagte og koffeinfrie for å fikse en feil som påvirker kundene. Driftsfolk begynner også å stole på utviklerne sine engasjement for arbeidet sitt. Selv denne lille endringen bygger en ekstra stor grad av tillit.

Et ord med forsiktighet: Hvis utviklere kjemper hardt mot å være på vakt, er det et større problem i organisasjonen din. Tilbakeførsel er ikke uvanlig fordi det å være på vakt er veldig forskjellig fra deres vanlige ansvarsområder. Pushback kommer ofte fra et sted med ubehag og frykt. Du kan bidra til å dempe denne reaksjonen ved å ta opp det faktum at utviklerne dine kanskje ikke vet hva de skal gjøre de første gangene de er på telefon.

De er kanskje ikke kjent med infrastrukturen, og det er greit. Oppfordre dem til å eskalere hendelsen og side noen med mer erfaring. Til slutt lager du en runbook med vanlige varsler og hvilke tiltak du må ta. Tilveiebringelse av denne ressursen vil hjelpe til med å knytte litt frykt til de begynner å få tak i tingene.

En annen taktikk som hjelper til å stimulere til samarbeid for å danne et mer sammenhengende DevOps-team, er å introdusere en dag med skygge, med hvert team som “handler” en kollega. Den handlede personen skygger ganske enkelt noen andre på teamet, sitter ved skrivebordet sitt (eller i deres område) og hjelper til med sitt daglige ansvar. De kan hjelpe med arbeid, diskutere problemer som et team (parprogrammering) og lære mer om systemet fra et annet synspunkt. Denne undervisningsstilen er ikke reseptbelagt.

I stedet egner det seg til nysgjerrighet og å bygge tillit. Kolleger bør gjerne stille spørsmål - også den "dumme" sorten - og lære fritt. Ingen resultatforventninger finnes. Tiden bør brukes bare ved å bli kjent med hverandre og sette pris på hverandres arbeid. Enhver produktiv produksjon er en bonus!

I denne justeringsmetoden må begge team absolutt være involvert i planleggings-, arkitektur- og utviklingsprosessene. De må dele ansvar og ansvarlighet gjennom hele utviklingslivssyklusen.

Vie et DevOps-team

Et dedikert DevOps-team er mer en utvikling av Sys Admin enn et ekte DevOps-team. Det er et operasjonsteam med en blanding av ferdighetssett. Kanskje er noen ingeniører kjent med konfigurasjonshåndtering, andre IaC (infrastruktur som kode) og kanskje andre er eksperter på containere eller cloud native infrastruktur eller CI / CD (kontinuerlig integrasjon og kontinuerlig levering / utvikling).

Hvis du tror at å sette en gruppe mennesker i et offisielt team er nok til å bryte ned siloer, tar du feil. Mennesker er mer sammensatte enn regneark. Hierarki betyr ikke noe hvis siloene dine har gått inn i en fase der de er usunne og stammelige. I giftige kulturer kan det oppstå en sterk lederstil som nesten alltid følges av folk som tar sider. Hvis du ser dette på ditt eget team, har du arbeid å gjøre.

Selv om enhver tilnærming kan fungere for teamet ditt, er denne dedikerte teamtilnærmingen den du bør tenke gjennom mest. Den største ulempen med et dedikert DevOps-team er at det lett blir en fortsettelse av tradisjonelle ingeniørteam uten å erkjenne behovet for å samkjøre team, redusere siloer og fjerne friksjon. Risikoen for fortsatt friksjon (eller å skape mer) er høy i denne tilnærmingen. Gå nøye gjennom for å sikre at du velger denne teamorganisasjonen av en bestemt grunn.

Fordelene med denne DevOps-tilnærmingen er å ha et dedikert team for å håndtere større infrastrukturendringer eller tilpasninger. Hvis du sliter med driftssentrerte problemer som bremser distribusjonene dine eller forårsaker bekymringer for nettstedets pålitelighet, kan dette være en god tilnærming - også midlertidig.

Et dedikert team hvis du planlegger å flytte en gammel applikasjon til skyen. Men heller enn å kalle dette teamet for et DevOps-team, kan du prøve å merke det som et automatiseringsteam.

Denne dedikerte gruppen av ingeniører kan fokusere fullstendig på å sikre at du har satt opp riktig infrastruktur og automatiseringsverktøy. Du kan deretter fortsette med tillit til at søknaden din vil lande i skyen uten større forstyrrelser. Fortsatt er denne tilnærmingen midlertidig. Hvis du holder teamet isolert for lenge, risikerer du å gå ned en glatt skråning fra rask vekst til innebygd silo.

Opprette tverrfunksjonelle produktteam for DevOps

Et tverrfunksjonelt team er et team som dannes rundt et enkelt produktfokus. I stedet for å ha separate team for utvikling, brukergrensesnitt og brukeropplevelse (UI / UX), kvalitetssikring (QA) og drift, kombinerer du mennesker fra hvert av disse teamene.

Et tverrfunksjonelt team fungerer best i mellomstore til store organisasjoner. Du trenger nok utviklere og driftspersoner til å fylle ut stillingene til hvert produktteam. Hvert tverrfunksjonelt team ser litt annerledes ut.

Det er lurt å ha minst en operasjonsperson per team. Ikke be en operasjonsperson om å dele sitt ansvar mellom to lag. Dette scenariet er urettferdig for dem og vil raskt skape friksjon mellom de to produktgruppene. Gi ingeniørene dine privilegiet å kunne fokusere og grave dypt inn i arbeidet deres.

Hvis organisasjonen din fortsatt er liten eller i oppstartfasen, kan du tenke på hele ingeniørorganisasjonen din som et tverrfunksjonelt team. Hold den liten og fokusert. Når du begynner å henvende deg til å ha 10–12 personer, kan du begynne å tenke på hvordan du kan omorganisere ingeniører.

Bildet nedenfor viser hvordan de tverrfunksjonelle teamene dine kan se ut. Men husk at deres sammensetning varierer fra team til team og fra organisasjon til organisasjon. Noen produkter har et sterkt designfokus, noe som betyr at du kan ha flere designere i hvert team. Andre produkter er tekniske produkter designet for ingeniører som ikke bryr seg mye for estetikk. Lag for den typen produkter kan ha en designer - eller ingen i det hele tatt.

DevOps produktteam

Hvis organisasjonen din er stor nok, kan du absolutt opprette flere team ved å bruke forskjellige DevOps-ideer og tilnærminger. Husk at organisasjonen din er unik. Føl deg bemyndiget til å ta avgjørelser basert på nåværende forhold og tilpasse deg derfra. Her er noen mulige kombinasjoner av forskjellige typer produktgrupper.

  • Legacy Product Team: Prosjektleder (PM), Front-end Developer, Back-end Developer, Back-end Developer, Site Reliability Engineer (SRE), Automation Engineer, QA Tester Cloud Transformation Team: SRE, SRE, Operations Engineer, Automation Engineer, Back-end Developer MVP Team: PM, Designer, UX Engineer, Front-end Developer, Backend Developer, Operations Engineer

Ulempen med et tverrfunksjonelt produktteam er at ingeniører mister kameraderiet til ingeniører med samme ferdigheter og lidenskaper. Å ha en gruppe likesinnede som du kan sosialisere deg med, og som du kan lære deg, er et viktig aspekt av arbeidsglede. Sjekk ut en løsning på dette problemet nedenfor.

Som vist nedenfor, kan du gi ingeniørene dine dedikert arbeidstid å tilbringe med stammene sine. Du kan gjøre noe så raus som å betale for lunsj en gang hver uke, slik at de kan komme sammen og snakke. Eller du kan gi 10–20 prosent av arbeidstiden til at de kan jobbe med prosjekter som stamme. Uansett, trenger du ingeniørene dine for å holde seg skarpe.

Stammene deler bransjekunnskap, gir god tilbakemelding og støtter vekst i karrieren. Gi tid for ingeniørene dine å lære av mennesker de deler utdanning, erfaring og mål med. Denne gangen gir et trygt sted hvor de kan slappe av og føle seg hjemme.

DevOps stammer

Ingen mengder perfekt finagling vil overvinne manglene ved en dårlig organisasjonskultur. Men hvis du har lagt merke til så langt og gjort passende skritt, er neste trinn å danne team som forsterker de kulturelle idealene du allerede har satt på plass.

  1. BusinessOperations Management Flytting til DevOps prosesser: Fra en linje til en krets

Av Emily Freeman

DevOps-tilnærmingen innebærer en syklus i motsetning til en linje. Det gir mulighet for kontinuerlig integrering og kontinuerlig levering, og gir konsekvent tilbakemelding gjennom hele prosessen. DevOps-metodikken er bare ett eksempel på hvordan prosesser har utviklet seg.

Utviklingsprosesser har endret seg radikalt de siste tiårene, og med god grunn. På 1960-tallet ledet Margaret Hamilton ingeniørteamet som utviklet programvaren for Apollo 11-oppdraget. Du lanserer ikke iterativt mennesker ut i verdensrommet - de gjorde i det minste ikke på 1960-tallet. Det er ikke et område med programvare der "mislykkes raskt" føles som en spesielt god tilnærming. Liv er på banen, for ikke å nevne millioner av dollar.

Hamilton og hennes jevnaldrende måtte utvikle programvare ved bruk av fossefallmetodikken. Bildet nedenfor viser et eksempel på en fossefallutviklingsprosess (som oppstår i en rett linje).

fossefall

Følgende bilde legger til fasene. Legg merke til hvordan pilene går i en retning. De viser en klar begynnelse og en klar slutt. Når du er ferdig, er du ferdig. Ikke sant?

Nei. Så mye som mange ønsker å gå vekk fra deler av kodebasen for alltid (eller drepe dem med ild), de får vanligvis ikke privilegiet.

Programvaren som ble utviklet av Hamilton og hennes team var en vill suksess (det er tankene å blåse i å tro at de utviklet seg i forsamlingen med null hjelpere som feilmeldinger). Ikke alle prosjekter var imidlertid like vellykkede.

Senere, der fossen sviktet, lyktes Agile. (DevOps ble født ut av Agile-bevegelsen.) Agile søker å ta den rette linjen med fossefall og bøye den til en sirkel, og skape en uendelig krets som ditt ingeniørteam kan iterativt og kontinuerlig forbedre.

rørledning for fossefallutvikling

Bildet nedenfor viser hvordan du tenker på den sirkulære livssyklusen.

DevOps krets

Ofte påvirkes de forskjellige løkkene som er foreskrevet av forskjellige organisasjoner av produktene som leverandørene selger. For eksempel, hvis leverandøren selger infrastrukturprogramvare og verktøy, vil de sannsynligvis legge vekt på den delen av utviklingslivssyklusen, og kanskje fokusere mest på distribusjon, overvåking og støtte programvaren din.

Her er ingenting til salgs. Stadiene som er fokusert på her er de mest kritiske for utviklere, sammen med de folk sliter mest med når de lærer å bedre styre programvareutviklingen og vedta DevOps.

De fem stadiene i programvarenes livssyklus er

  • Planlegging: Planleggingsfasen av DevOps-utviklingsprosessen er kanskje den viktigste nøkkelen til DevOps-oppdraget. Det gir deg mulighet for suksess eller fiasko underveis. Det er også den mest fruktbare tiden å samle alle sammen. Av alle betyr dette forretningsinteressenter, salg og markedsføring, prosjektering, produkt og andre. Designing: I de fleste selskaper blir designfasen slått sammen til kodingsfasen. Dette uhyrlige sammenslåingen av design og kode tillater ikke at den arkitektoniske strategien skilles fra implementering. Imidlertid, hvis du lar ting som databasedesign, API-logistikk og viktige infrastrukturvalg til slutten av utviklingsrørledningen - eller, kanskje verre, til de enkelte utviklerne som jobber med separate funksjoner - vil du raskt finne at kodebasen din blir like tøyset som ditt tekniske team. Koding: Selve utviklingen av funksjoner er ansiktet til DevOps-prosessen og får all ære. Men dette er et av de minst viktige trinnene i utviklingslivssyklusen din. På mange måter er det ganske enkelt utførelsen av de foregående områdene av rørledningen din. Hvis det gjøres bra, bør koding være en relativt enkel og grei prosess.

Hvis du nå er en utvikler og bare gispet etter den siste setningen fordi du har behandlet hundrevis av tilfeldige og vanskelig å løse feil, er det lett å forstå hvordan du har det. Koding er vanskelig. Ingenting om programvareutvikling er enkelt. Men ved å mestre planleggingen, designen og arkitekturen (og skille dem fra den faktiske implementeringen av kode), sikrer du at de vanskeligste beslutningene innen programvareutvikling blir abstrakt.

  • Testing: Testing er et område i rørledningen din der ingeniører fra alle kompetanseområder kan dykke inn og engasjere seg, noe som muliggjør en unik mulighet til å lære om testing, vedlikehold og sikkerhet. Det er mange av de seks stadiene i programvareutviklingen, forskjellige typer tester for å sikre at programvaren din fungerer som forventet. Distribusjon: Distribusjon er det stadiet som kanskje er den tettest assosierte med operasjoner. Tradisjonelt vil operasjonsteamet ta koden som er utviklet av utviklerne dine og testet av kvalitetssikringsteamet (QA) og deretter gi dem ut til kundene - noe som gjør dem alene ansvarlige for utgivelsesprosessen. DevOps har hatt en enorm innvirkning i denne fasen av utviklingsprosessen. Distribusjon er også et av områdene for å finne de mest automatiseringsverktøyene å trekke fra. Fra DevOps-perspektiv er prioriteringen å forenkle distribusjonsprosessen slik at enhver ingeniør i teamet ditt er i stand til å distribuere koden sin. Dette er ikke å si at operasjoner ikke har unik kunnskap, eller at operasjonsteam kan oppløses.

Driftsfolk vil alltid ha unik kunnskap om infrastruktur, lastbalansering og lignende. Å fjerne den manuelle oppgaven med å distribuere programvare fra operasjonsteamet ditt vil faktisk spare deg for tid og penger andre steder. De vil ha tid til å jobbe med å forbedre applikasjonens pålitelighet og vedlikeholdbarhet.

Det viktigste aspektet av en leveringslivssyklus innenfor DevOps-rammene er at det er en sann sløyfe. Når du kommer til slutten, går du helt tilbake til begynnelsen. Hvis du får tilbakemelding fra kundene når som helst underveis, gå tilbake til en påfølgende fase (eller planleggingsfasen), slik at du kan utvikle programvare på en måte som best tjener kundene dine.

Den første delen av å bygge en rørledning er å behandle den lineært. Du bygger en rett linje med faste stadier og sjekkpunkter underveis. Innenfor denne rammen kan du se livssyklusen for programvareutvikling som noe du starter og noe du er ferdig med. Fosselskere ville være stolte.

Men virkeligheten lar deg ikke jobbe i en rett linje. Du kan ikke bare begynne å produsere kode, fullføre og gå bort. I stedet er du tvunget til å bygge videre på den grunnleggende programvaren du ga ut på den første iterative sløyfen og forbedre den gjennom andre syklus. Og så videre og så videre. Prosessen slutter aldri, og du vil aldri slutte å forbedre deg.

DevOps-prosessen hjelper deg å koble til start og slutt på den rette rørledningen, slik at du begynner å forstå den som en hel krets, eller loop, slik at du kontinuerlig kan utvikle og forbedre deg.

  1. BusinessOperations ManagementInterview Techniques for Building a DevOps Team: Få de rette tekniske ferdighetene

Av Emily Freeman

Det kan være vanskelig å vurdere kandidater for riktig ferdighetssett når du ansetter til DevOps jobber ... men ikke umulig. Med litt kreativitet og vilje til å gå utenfor boksen, kan du bruke intervjuteknikker for å finne kandidater med de rette tekniske ferdighetene til DevOps-initiativene dine.

DevOps-intervjuing

Alderen på stumpe gåter og svetteinduserende tavleintervjuer avtar - og med god grunn. Hvis en tavleintervju tilrettelegges av en ingeniør som bryr seg mer om å lure kandidaten enn de gjør for å diskutere en teknisk samtale, vil du gå ingensteds raskt.

Whiteboarding-intervjuer har tatt mye hete den siste tiden for å sette underrepresenterte og marginaliserte grupper - som inkluderer kvinner og mennesker av farger - til en ulempe. I denne alderen er det helt avgjørende for teknologiselskaper å ansette forskjellige arbeidsstyrker, så denne situasjonen er uakseptabel. Imidlertid må du på en eller annen måte måle en persons tekniske evne.

Hva er svaret? Vel, den gode nyheten er at du har alternativer. (Den dårlige nyheten er ... du har muligheter.)

Hvordan du ansetter vil avgjøre hvem du er.

Gå tilbake på tavleintervjuet for DevOps-jobbkandidater

Tavleintervjuet var aldri ment som det har blitt. I ett tavleintervju fikk DevOps-kandidaten et dataprogram skrevet ut på åtte ark. Instruksjonene? “Feilsøk programmet.” Umm. . . unnskyld meg?

Tavleintervjuet har blitt en situasjon der du gir en kandidat et tilsynelatende umulig problem, sender dem opp til styret med en markør og ser dem svette voldsomt mens fire eller fem personer observerer sin panikk. Denne typen intervjuer gir ingen kvalitetsinformasjon om enten arbeidsgiveren eller intervjuobjektet passer godt for den andre parten.

Selv om andre har bedt om eliminering av tavleintervjuet, er her et mer nyansert forslag: Endre det slik at det passer til dine DevOps behov. Gjør det til en diskusjon mellom to personer om et stykke kode eller et bestemt problem. Ikke gjør problemet til noe sprøtt, for eksempel å balansere et binært søketre. Med mindre jobben du intervjuer for bokstavelig talt skriver kode i Assembly, trenger du ikke å vurdere kandidatens evne til å skrive Assembly.

Vær klar over DevOps-jobben du ønsker å fylle, ferdighetene som kreves, og den beste måten å måle ferdighetene hos en kandidat. La en enkelt ingeniør på laget ditt sette seg sammen med kandidaten og snakke om problemet. Hvordan vil du starte samtalen? Hvilke problemer støter du på underveis? Hvordan vil dere begge tilpasse løsningene dine til utfordringene dere møter?

Denne samtale-tilnærmingen oppnår to ting for DevOps-jobbkandidater:

  • Det reduserer panikken. De fleste tenker ikke godt under press. I tillegg gjør du ikke jobben din hver dag mens noen stirrer over skulderen og kritiserer enhver skrivefeil eller feil. Du ville avslutte den jobben på et øyeblikk. Så ikke tving folk til å intervjue på den måten. Gi i stedet kandidatene dine sjansen til å vise frem hva de kan gjøre. Du får innsikt i hvordan de tenker og kommuniserer. Det etterligner virkelig arbeid. Samtaleintervjuet gir deg en ide om hvordan det vil være å jobbe med denne personen. Du løser ikke harde problemer på jobb ved å se på hverandre slite. (I det minste bør du ikke. Virkelig. Det er ikke veldig samarbeidsvillig eller DevOps-y, og lar kollegene dine lide i siloen sin.) I stedet jobber du sammen, handler ideer, tenker gjennom, gjør feil, gjenoppretter og finner en løsning - sammen.

De beste tavleintervjuene er samarbeidende, kommunikative og sentrerte rundt nysgjerrighet - alle tingene som utøvere elsker om DevOps.

Tilby hjemmetester til DevOps-jobbkandidater

Et alternativ til et mer tradisjonelt tavleintervju er hjemme-testen. Denne typen tester er spesielt vennlige for personer som har noen form for angst eller usynlig funksjonshemming som påvirker deres evne til å delta i et tavleintervju. Denne stilen for intervju er også vennlig mot ingeniører som sliter intenst med imposter-syndrom.

Imposter-syndrom beskriver høypresterende individer som sliter med å internalisere suksessene og opplever en vedvarende følelse av å bli utsatt som svindel.

En hjemtest består av en slags problem som en DevOps-kandidat kan løse hjemme på egen tid. Hjemme-tester er ofte satt opp som en testsuite som kandidaten må skrive kode for at testene skal bestå.

Alternativt kan problemet være noe relativt lite, for eksempel "Lag et program på [ditt språk du velger] som tar innspill og reverserer tegnene." Alternativene er uendelige, og du kan skreddersy testen til teknologibunken din som du synes passer.

Du kan til og med be DevOps jobbkandidater om å distribuere applikasjonen sin. Forsikre deg om at du lar kandidater bruke open source-verktøy eller gi dem de nødvendige abonnementene for å bruke spesielle teknologier.

Den største ulempen med hjemmetestene er at du ber folk ta tid på kveldene eller i helgene til å gjøre det som egentlig er gratis arbeid. Selv om du betaler dem for arbeidet deres med hjemme-testen, kan denne stilen av intervjuer urettferdig påvirke en DevOps-kandidat som har andre ansvarsområder utenfor arbeidet, inkludert omsorg for barn, en partner eller syke foreldre.

Ikke alle store ingeniører har ubegrenset tid til å forplikte seg til håndverket sitt. Men hvis du begrenser DevOps-kandidatpuljen til folk som har råd til å vie 5–10 timer til en hjemme-test, vil du raskt finne at teamet ditt blir homogent og stillestående.

Gjennomgå kode med DevOps-jobbkandidater

En intervjuteknikk som virkelig kan være fortellende er når du setter deg sammen med en ingeniør, eller en gruppe ingeniører, for å løse ekte feil i ekte kode sammen. Du kan ta noen få tilnærminger til et sanntids kodeintervju.

Du kan etterligne en hjemmetest og gi kandidaten en times tid til å lage et program eller skrive en funksjon for å få en serie tester bestått. Du kan også iscenesette intervjuet som en kodegjennomgang der du trekker opp en faktisk PR og graver i hva koden gjør, så vel som hva som kan forbedres.

På mange måter kombinerer parprogrammeringen av en kodegjennomgang de beste delene av både et tavleintervju og en hjemme-test - men uten noen av de største ulempene.

Parprogrammering er en ingeniørpraksis der to ingeniører setter seg ned og jobber gjennom et problem sammen. Vanligvis "driver" en person ved å eie tastaturet, men de avgjør i samarbeid hvilken tilnærming som er best, hvilken kode de skal legge til, og hva de skal ta bort.

Hvis DevOps-stillingen innebærer en driftsfokusert rolle, er det å bruke denne sanntids kodingstilnærmingen enda bedre. Selv om mange ops mennesker lærer å implementere infrastruktur som kode eller administrere konfigurasjoner, har de ikke den samme opplevelsen som utviklere.

Gjennomgang av hva noe gjør og hvordan det kan fungere er en fantastisk måte å bekrefte at kandidaten har erfaring med listen over verktøy og teknologier på CVen, samt sikre at kandidaten kan kommunisere med et team.

Å bygge DevOps-teamet ditt er en individuell forfølgelse. DevOps-teamet ditt trenger ikke å matche andre du har sett. Evaluer målene dine og velg riktig kandidat for hver DevOps-jobb.

  1. BusinessOperations Management Kontinuerlig integrering og kontinuerlig levering: Implementering og fordel av CI / CD

Av Emily Freeman

Veksten av DevOps-kultur har endret måten utviklere bygger og sender programvare. Før Agile-tankegangen dukket opp, fikk utviklingsteamene tildelt en funksjon, bygget den og deretter glemt den. De kastet koden over til QA-teamet, som deretter kastet den tilbake på grunn av feil eller flyttet den videre til operasjonsteamet. Operasjoner hadde ansvar for å distribuere og vedlikeholde koden i produksjonen.

Denne prosessen var mildt sagt klønete, og den forårsaket ganske mye konflikt. Fordi team eksisterte i siloer, hadde de liten eller ingen innsikt i hvordan andre team opererte, inkludert prosesser og motivasjoner.

CI / CD, som står for kontinuerlig integrering og kontinuerlig levering (eller distribusjon), tar sikte på å bryte ned murene som historisk har eksistert mellom team og i stedet sette i gang en jevnere utviklingsprosess.

Fordeler med kontinuerlig integrasjon og kontinuerlig levering

CI / CD gir mange fordeler. Prosessen med å bygge en CI / CD-rørledning kan imidlertid være tidkrevende, pluss at det krever innkjøp fra teamet og ledelsen.

Noen fordeler med CI / CD inkluderer:

  • Grundig automatisert testing: Selv den mest enkle implementeringen av CI / CD krever en robust testsuite som kan kjøres mot koden hver gang en utvikler begår endringene til hovedgrenen. Akselerert feedback-loop: Utviklere får øyeblikkelig tilbakemelding med CI / CD. Automatiserte tester og hendelsesintegrasjoner vil mislykkes før ny kode slås sammen. Dette betyr at utviklere kan forkorte utviklingssyklusen og distribuere funksjoner raskere. Nedsatt mellommenneskelig konflikt: Automatisering av prosesser og redusering av friksjon mellom team oppmuntrer til et mer samarbeidende arbeidsmiljø der utviklere gjør det de gjør best: ingeniørløsninger. Pålitelig distribusjonsprosess: Alle som har rullet tilbake en utplassering på en fredag ​​ettermiddag, kan fortelle deg hvor viktig det er at utplasseringer går greit. Kontinuerlig integrasjon sikrer at kode er godt testet og fungerer pålitelig i et produksjonslignende miljø før den noen gang når en sluttbruker.

Implementering av kontinuerlig integrasjon og kontinuerlig levering

CI / CD er forankret i smidige metoder. Du bør tenke på å implementere CI / CD som en iterativ prosess. Hvert team kan dra nytte av en versjon av CI / CD, men å tilpasse den generelle filosofien vil avhenge sterkt av din nåværende teknologibunke (språkene, rammene, verktøyene og teknologien du bruker) og kulturen.

Kontinuerlig integrering

Team som praktiserer kontinuerlig integrasjon (CI), fletter kode endres tilbake i master- eller utviklingsgrenen så ofte som mulig. CI bruker vanligvis et integrasjonsverktøy for å validere bygge og kjøre automatiserte tester mot den nye koden.

Prosessen med CI gjør det mulig for utviklere på et team å jobbe på det samme området av kodebasen, samtidig som endringene er minimale og unngå massive flettkonflikter.

Slik implementerer du kontinuerlig integrasjon:

  • Skriv automatiserte tester for hver funksjon. Dette forhindrer at feil blir satt ut i produksjonsmiljøet. Sett opp en CI-server. Serveren overvåker hovedlageret for endringer og utløser de automatiserte testene når nye forpliktelser skyves. CI-serveren din skal kunne kjøre tester raskt. Oppdater utviklervaner. Utviklere må ofte slå sammen endringer tilbake til hovedkodebasen. På et minimum skal denne sammenslåingen skje en gang om dagen.

Kontinuerlig levering

Kontinuerlig levering er et steg opp fra CI ved at utviklere behandler alle endringer i koden som leverbare. I motsetning til kontinuerlig distribusjon må imidlertid en utgivelse utløses av et menneske, og endringen kan ikke leveres umiddelbart til en sluttbruker.

I stedet blir distribusjoner automatisert og utviklere kan slå sammen og distribuere koden sin med en enkelt knapp. Ved å lage små, ofte leverte iterasjoner, sikrer teamet at de enkelt kan feilsøke endringer.

Etter at koden har passert de automatiserte testene og er bygd, kan teamet distribuere koden til uansett miljø de spesifiserer, for eksempel QA eller iscenesettelse. Ofte vurderer en fagfelle manuelt koden før en ingeniør fusjonerer den til en produksjonsutgivelsesgren.

Slik implementerer du kontinuerlig levering:

  • Ha et sterkt fundament i CI. Den automatiserte testpakken skal vokse i sammenheng med funksjonsutvikling, og du bør legge til tester hver gang en feil rapporteres. Automatiser utgivelser. Et menneske initierer fremdeles distribusjoner, men utgivelsen skal være en ett-trinns prosess - et enkelt klikk på en knapp. Vurder funksjonflagg. Funksjonsflagg skjuler ufullstendige funksjoner for bestemte brukere, og sikrer at jevnaldrende og kunder bare ser funksjonaliteten du ønsker.

Kontinuerlig distribusjon

Kontinuerlig distribusjon tar kontinuerlig levering enda et skritt lenger enn kontinuerlig levering. Hver endring som passerer hele produksjonsutgivelsesrørledningen blir distribuert. Det stemmer: Koden settes direkte i produksjon.

Kontinuerlig distribusjon eliminerer menneskelig intervensjon fra distribusjonsprosessen og krever en grundig automatisert testsuite.

Slik implementerer du kontinuerlig distribusjon:

  • Opprettholde en sterk testkultur. Du bør vurdere å teste som en kjernen del av utviklingsprosessen. Dokumenter nye funksjoner. Automatiserte utgivelser skal ikke overgå API-dokumentasjonen. Koordinere med andre avdelinger. Involver avdelinger som markedsføring og kundesuksess for å sikre en jevn utrullingsprosess.
  1. BusinessOperations ManagementTop 10 DevOps Fallfalls: Hvorfor programvareprosjektene dine mislykkes

Av Emily Freeman

Å fremme en DevOps-kultur og velge verktøy for å støtte din DevOps-tilnærming vil være en fordel for din organisasjon. DevOps-tilnærmingen galvaniserer ingeniørteamet ditt og fokuserer produktutviklingen på kunden din.

Hver gang du prøver å gjøre en massiv endring i organisasjonens understrøm, møter du imidlertid utfordringer og må håndtere tilbakeslag. Når du forvandler deg til DevOps, vil du oppdage unike fartshumper for deg og teamet ditt å komme over.

Selv om du umulig kan forutsi alle hindringer du vil møte, kan denne artikkelen forberede deg på de ti vanligste DevOps fallgruvene. Husk at uansett hvordan du nærmer deg DevOps-praksis, bør prioriteringene dine forbli fokusert på mennesker, prosess og teknologi - i den rekkefølgen.

Unnlater å prioritere kultur i DevOps-prosjektet

Mer enn noe annet er DevOps en kulturell bevegelse. Kulturen du bygger på organisasjonen din vil gjøre eller ødelegge din DevOps-praksis. DevOps-kulturen din må legge vekt på samarbeid, tillit og teknisk myndighet. Hvis du spikrer automatisering, men savner de kulturelle komponentene, vil du sannsynligvis mislykkes.

Sannheten betyr ikke at verktøyet betyr så mye. Verktøyene du har til disposisjon er mer like enn ikke. Selv om problemene de løser er viktige, kan ingen av disse problemene sammenligne med den nesten uendelige frustrasjonen over å prøve å forene utviklere og driftsfolk - så vel som andre team, som sikkerhet - i en tradisjonell ingeniørorganisasjon.

DevOps søker å galvanisere ingeniører (så vel som forretningsgrupper). Det skaper et grunnlag som alle kan lære, dele og vokse på. Den personlige akselerasjonen vil gi hele ingeniørorganisasjonen drivstoff til å lage bedre DevOps-programvare, raskere. Ingeniørene du har på laget ditt, er den mest verdifulle eiendelen du har. Behandle dem godt ved å gi dem respekt og rom til å gjøre det de gjør best - ingeniørløsninger.

Etterlater andre når du går fremover med DevOps

Å lage saken internt for DevOps vil avgjøre hvilken type fundament du bygger for kulturen din. Se etter fruktbar jord. Hvis du beveger deg for raskt og ikke overbeviser nøkkelpersoner om viktigheten av en DevOps-transformasjon, vil folk se på bevegelsene dine med skepsis og hoppe ved første mulighet til å vise alle at du tar feil. Det er ikke en morsom posisjon å være i, og du vil aldri starte denne reisen med folk som venter på at du skal mislykkes.

For å lykkes, trenger du alle ombord på DevOps-skipet, til og med naysayers og skeptics. Ingeniører kan være skeptiske. Etter et tiår eller to i denne bransjen har de sett mange ideer og nye tilnærminger komme og gå. De kan lett trekke fra seg DevOps som "bare en annen mislykket tilnærming" til de samme gamle problemene. Og hvis du implementerer det dårlig, vil DevOps faktisk bare være en annen mislykket tilnærming. Du og teamet ditt må overtale andre om potensialet og iverksette tiltak på måter som inviterer alle til bordet.

Prøv å overbevise ledere med data og potensialet for akselerert programvarelevering. Men ingeniører trenger å vite hvordan DevOps vil gjøre jobbene sine morsommere. Vis dem hvordan DevOps stemmer overens med forretningsbehov og reduserer friksjon langs programvareleveringsrørledningen.

Bare pass på at du ikke overselger konseptet. DevOps utfordringer vil skje. DevOps er ikke en sølvkule og krever intenst arbeid i begynnelsen for å sikre at teamet skaper en læringskultur der ingeniører står fritt til å gjøre feil og vokse.

Etter at du har nådd en hendelseshorisont der nok mennesker tror på DevOps, kan du fortsette med kunnskapen om at du har støtte fra organisasjonen din og menneskene i den.

Glem å justere insentiver i DevOps-prosjektet

Hvis du ikke ønsker å tilpasse insentiver til det du forventer fra visse team eller spesifikke ingeniører, dukker det opp flere utfordringer. Det virkelige verktøyet til DevOps, hvis du kan mestre det, er empowerment. Du vil styrke ingeniørene dine til å gjøre jobben sin godt, fri for forstyrrelser. Du ansatt dyktige ingeniører, så stol på deres evne til å oppfylle sitt ansvar.

For eksempel, når utviklere tjener på en rotasjon på telefon, rammer noen organisasjoner det som litt av en straff. "Du bygde den, støtter du den," fyller ikke akkurat mennesker med glade følelser. I stedet føles det som bare en annen form for tapt ansvar. Men en human og jevn fordelt rotasjonsomtale gir ikke bare utviklere mulighet til å ta eierskap til arbeidet sitt, det skaper også læringsmuligheter for hele teamet.

I DevOps straffer du ikke ingeniører for ufullstendig arbeid; i stedet deler du ansvar og kultiverer en organisasjon som verdsetter læring og gjør at alle kan være nysgjerrige og delta på tekniske områder der de er mindre kjent.

Å samkjøre incentiver og skape muligheter for samarbeid driver målet ditt om å forbedre produktene dine og betjene kundene dine bedre. Hvis alle er rettet mot målet om å skape fantastiske tjenester for kundene dine gjennom DevOps, vil du se gruppen begynne å galvanisere.

Hold stille om DevOps-prosjektet ditt

DevOps er antitesen om hemmeligheter og bakromsforhandlinger. I stedet legger den alt ut på bordet og tvinger deg til å stole på integriteten til menneskene i organisasjonen din. Når du først introduserer åpen kommunikasjon, kan det se ut som om konflikten øker. Det gjør det ikke. I stedet ser du bare friksjonspunktene for første gang. I stedet for å la konflikter brygges under overflaten, føler folk seg trygge nok til å reise bekymringene og uttrykke sine meninger.

Et viktig aspekt ved åpen kommunikasjon er å holde det gående gjennom hele produktets livssyklus - fra forestillinger til produksjon. Du må inkludere ingeniører i planlegging av diskusjoner, beslutninger om arkitektur, oppdatering av fremdriftsutviklingen og distribusjoner.

Selv om denne vektleggingen av kommunikasjon skaper mer ordførende diskusjoner, gjør det også at ingeniører kan ha synlighet utenfor deres kjerneområde, som igjen gir dem mulighet til å gi råd til andre, mens de er utstyrt med den konteksten som er nødvendig for å ta gode beslutninger.

Hold kunden - og hva de forventer av produktet du bygger - i sentrum for enhver diskusjon og beslutning. Hvis du holder deg på linje med det målet, er du sikker på å komme deg videre som en enhet.

Glem å måle DevOps fremgang

Å måle fremgangen din er avgjørende for DevOps suksess. Det gir deg validering når du lager argumentet for DevOps til tvilende interessenter, hjelper deg med å overbevise holdout-ledere og minner ingeniørteamet ditt om hvor mye de har oppnådd.

Før du gjør en enkelt endring, oppretter du en grunnlinje. Velg et lite sett med data du vil spore gjennom hele prosessen. Disse dataene informerer om beslutningene dine og fungerer som drivstoff for å fortsette å presse når du treffer tilbakeslag. Potensielle målinger inkluderer:

  • Overlegen tilfredshet: Elsker ingeniørene dine å jobbe i organisasjonen din? Månedlig gjentatte inntekter (MRR): Hvor mye penger tjener du på kunder? Kundebilletter: Hvor mange feil rapporteres av kundene dine? Distribusjonsfrekvens: Hvor mange distribusjoner har du hver uke eller måned? Gjennomsnittlig tid til utvinning (MTTR): Hvor lang tid tar det å komme seg etter en tjenesteforstyrrelse? Tjenestetilgjengelighet: Hva er oppetiden til søknaden din? Treffer du de nåværende avtalene på servicenivå? Mislykkede distribusjoner: Hvor mange utgivelser forårsaker forstyrrelser i tjenesten? Hvor mange må rulles tilbake?

Micromanaging DevOps-prosjektet ditt

En av de raskeste måtene å undergrave dine ingeniører er å mikrostyrke arbeidet sitt. Dan Pink, forfatter av boken Drive, mener at motivasjon på jobben er drevet av tre faktorer:

  • Autonomi Mastery Hensikt

Extrinsic motivatorer som høye lønninger, bonuser og aksjeopsjoner kan virke på kort sikt, men langsiktig jobbtilfredshet avhenger mer av personlig og profesjonell vekst. Du vil at ingeniørene dine skal eksistere i spenningen med å føle seg veldig utfordret, men ikke overveldet av stress. Det søte stedet er forskjellig for enhver person. Det er en DevOps-utfordring, men en gang kan det gjøre en verden av forskjell hvis det gjøres riktig. Hvis du kan fremkalle noen lidenskap, er de sikre på å jobbe entusiastisk.

Tillit kan være en DevOps-utfordring. Det er helt avgjørende for DevOps organisasjoner. Du må stole på kollegene, jevnaldrende, ingeniører, ledere og ledere. Du må også stole på rollene og ansvaret til de forskjellige avdelingene i organisasjonen din - noe som ikke sier at du aldri vil ha konflikt. Selvfølgelig vil øyeblikk av friksjon skje mellom mennesker. Men å minimere disse øyeblikkene og muliggjøre sunn konfliktløsning er det som skiller DevOps-fokuserte ingeniørteam fra deres konkurranse.

Endrer for mye, for fort

Mange lag gjør for mange endringer for raskt. Mennesker liker ikke forandring. DevOps er gunstig på lang sikt, og raske endringer i den normale måten å gjøre ting på kan skurrende for ingeniører.

En feil av DevOps er at det innebærer at alle bor i greenfield (ny programvare) med regnbuer og enhjørninger. Det kan høres ut som: "Hvis du bare kan få teamet ditt til å samarbeide, vil programvareutvikling være lett!" Det er ikke sant. Programvareteknikk er vanskelig og vil alltid være vanskelig. Det er en ting de fleste ingeniører liker med det. Du liker en utfordring. Men utfordringer skal være stimulerende, ikke stressende.

DevOps har ikke som mål å fjerne alle de intellektuelle utfordringene ved engineering. I stedet tilbyr det å minimere friksjonen mellom mennesker slik at alle kan fokusere på arbeidet sitt. Hvis du prøver å gjøre for mange endringer for raskt, kan du finne deg i midten av en helt opprør - Mutiny on the Binary.

Å velge DevOps-verktøy dårlig

Selv om du avprioriterer verktøy i DevOps - og med rette - er verktøy fortsatt en faktor. Selv det minst viktige aspektet av DevOps bidrar til din samlede suksess. Verktøyene du velger skal løse problemene ditt tekniske team opplever, men bør også samsvare med stilen, kunnskapen og komfortområdene til det eksisterende teamet ditt.

Ikke vær redd for å prøve flere løsninger og se hvilken som passer best. Å dedikere noen uker til et minimum levedyktig produkt (MVP) eller proof of concept (POC) for å teste et verktøy er vel verdt innsatsen. Selv om du ender med å kaste den bort, er det å "kaste bort" ingeniørressursene å foretrekke fremfor å bruke all-in på en bestemt teknologi bare for å finne ut at et år senere er at det ikke passer godt.

Frykter frykt for DevOps-prosjektet

Å mislykkes raskt er en kort måte å si at du hele tiden bør iterere å identifisere problemer tidlig i prosessen uten å bruke massevis av tid og penger. Det er noe mange mennesker i teknologien snakker om og få faktisk implementerer fordi det krever rask iterasjon i et miljø der feil har en liten eksplosjonsradius og lett kan rettes opp. Altfor ofte hevder selskaper en mislykket rask mentalitet og avfyrer i stedet den første ingeniøren som sletter en produksjonsdatabase. (Som om ingen ingeniør der ute aldri har slettet en produksjonsdatabase...)

I forbindelse med DevOps er det imidlertid bedre å feile enn å feile raskt. Sviktende bra innebærer at du har overvåking på plass for å varsle deg om potensielle problemer lenge før situasjonen påvirker kundene. Sviktende bra innebærer også at du har designet systemet ditt på en segmentert måte som forhindrer at en tjeneste som faller over til et systemisk driftsstans. Men organisasjoner som mislykkes, går et skritt videre: De klandrer ikke folk. I stedet ser de etter feil i systemer og prosesser.

Kaizen er det japanske ordet for kontinuerlig forbedring. I DevOps betyr kaizen å forbedre prosessene dine kontinuerlig. Det er ikke noen sexy transformasjon som har en begynnelse og slutt. Målet er ikke å gå fra null til perfekt. I stedet oppfordrer DevOps til å jobbe sakte og gradvis for å gjøre en ting bedre, hver dag. Hvis du forlater jobben hver kveld og vet at bare et lite aspekt av arbeidet er bedre på grunn av deg, ville du ikke følt deg fornøyd? Mange ingeniører føler det.

I stedet for å forsøke å unngå feil for enhver pris, insisterer DevOps på et tankesett om vekst. Feil er ikke en markering av dumhet eller dårlig forberedelse. Det er en markør for vekst og et nødvendig skritt i innovasjon. Innovasjon er et resultat du bør være villig til å forfølge, selv om det betyr at du tidvis mislykkes.

Å være for stiv vil skape DevOps-problemer

DevOps er ikke reseptbelagte, og det er både det beste og verste med det. DevOps ville være så mye enklere å implementere hvis du hadde en liste over ti trinn du kan ta for å oppnå DevOps nirvana. Hvis det bare var så enkelt! Men mennesker fungerer ikke på den måten, og grupper av mennesker - for eksempel på ingeniørteam og i store organisasjoner - skaper enda mer kompleksiteter som må løses.

Selv om det ikke finnes noen blåkopi for å bygge en DevOps-organisasjon, er du bemyndiget til å skreddersy metodikken til praksis som fungerer for deg og teamet ditt. Du kjenner organisasjonen din, og som en kunnskapsrik ekspert, bør du tenke utenfor boksen når du bruker det grunnleggende. Noen av tingene i DevOps passer perfekt til deg. Andre vil føle seg som å ha på seg en jakke som bare er en størrelse for liten. Det er ok.

Du kommer til å gjøre feil. Ingen er perfekte. Men hvis du slipper litt, styrker ingeniørene dine og stoler på teamet ditt, vil du se fantastiske resultater. Bare kom i gang. Og husk: inviter alle til bordet, måle fremgangen din, prioriter kultur fremfor teknologi og gi maskinistene dine mulighet til å gjøre det de gjør best.

  1. BusinessOperations ManagementHva er DevOps?

Av Emily Freeman

Hva er DevOps? Det er vanskelig å gi deg en eksakt DevOps-resept - fordi ingen eksisterer. DevOps er en filosofi som guider programvareutvikling, en som prioriterer mennesker fremfor prosess og prosess fremfor verktøy. DevOps bygger en kultur av tillit, samarbeid og kontinuerlig forbedring.

DevOps-syklus

Som en kultur ser DevOps-filosofien utviklingsprosessen på en helhetlig måte, og tar hensyn til alle involverte: utviklere, testere, driftsfolk, sikkerhet og infrastrukturingeniører. DevOps setter ikke noen av disse gruppene over de andre, og rangerer heller ikke viktigheten av arbeidet deres. I stedet behandler et DevOps-selskap hele teamet av ingeniører som avgjørende for å sikre at kunden har en best mulig opplevelse.

DevOps utviklet seg fra Agile

I 2001 møtte 17 programvareingeniører og publiserte "Manifestet for Agile Software Development", som uttalte de 12 prinsippene for Agile prosjektledelse. Denne nye arbeidsflyten var et svar på frustrasjonen og fleksibiliteten til team som jobber i en fossefall (lineær) prosess.

Ingeniører arbeider i henhold til smidige prinsipper og er ikke pålagt å følge de opprinnelige kravene eller følge en lineær utviklingsarbeidsflyt der hvert team deler av seg arbeidet til det neste. I stedet er de i stand til å tilpasse seg de stadig skiftende behovene til virksomheten eller markedet, og noen ganger til og med den skiftende teknologien og verktøyene.

Selv om Agile revolusjonerte programvareutvikling på mange måter, klarte den ikke å løse konflikten mellom utviklere og operasjonsspesialister. Siloer utviklet seg fortsatt rundt tekniske ferdighetssett og spesialiteter, og utviklere delte fremdeles kode til operasjonsfolk for å distribuere og støtte.

I 2008 snakket Andrew Clay Shafer med Patrick Debois om frustrasjonene hans med den konstante konflikten mellom utviklere og driftsfolk. Sammen lanserte de det første DevOpsDays-arrangementet i Belgia for å skape en bedre - og mer smidig - måte å nærme seg programvareutvikling på. Denne utviklingen av Agile tok grep, og DevOps har siden gjort det mulig for selskaper over hele verden å produsere bedre programvare raskere (og vanligvis billigere). DevOps er ikke en kjepphest. Det er en allment akseptert ingeniørfilosofi.

DevOps fokuserer på mennesker

Alle som sier at DevOps handler om verktøy, vil selge deg noe. Fremfor alt annet er DevOps en filosofi som fokuserer på ingeniører og hvordan de bedre kan samarbeide for å produsere god programvare. Du kan bruke millioner på hvert DevOps-verktøy i verden og fremdeles ikke være nærmere DevOps nirvana.

Fokuser i stedet på den viktigste tekniske eiendelen: ingeniører. Glade ingeniører lager flott programvare. Hvordan lager du glade ingeniører? Vel, du skaper et samarbeidende arbeidsmiljø der gjensidig respekt, delt kunnskap og erkjennelse av hardt arbeid kan trives.

Bedriftskultur er grunnlaget for DevOps

Selskapet ditt har en kultur, selv om det har blitt overlatt til å utvikle seg gjennom treghet. Den kulturen har mer innflytelse på din arbeidsglede, produktivitet og teamhastighet enn du sannsynligvis innser.

Bedriftskultur beskrives best som en uuttalt forventning, atferd og verdier i en organisasjon. Kultur er det som forteller dine ansatte om selskapsledelse er åpen for nye ideer. Det er det som informerer en ansatt om om han vil komme med et problem eller feie det under teppet.

Kultur er noe som skal utformes og foredles, ikke noe å overlate til tilfeldighetene. Selv om den faktiske definisjonen varierer fra selskap til selskap og person til person, er DevOps en kulturell tilnærming til prosjektering i kjernen.

En giftig firmakultur vil drepe din DevOps-reise før den til og med starter. Selv om ingeniørteamet ditt tar en DevOps-tankegang, vil holdningene og utfordringene til det større selskapet blø i miljøet ditt.

Med DevOps unngår du skyld, skaper tillit og fokuserer på kunden. Du gir ingeniørene dine autonomi og gir dem mulighet til å gjøre det de gjør best: ingeniørløsninger. Når du begynner å implementere DevOps, gir du ingeniørene tid og rom til å tilpasse seg det, slik at de får mulighet til å bli bedre kjent med hverandre og bygge kontakt med ingeniører med forskjellige spesialiteter.

Du måler også fremgang og belønner prestasjoner. Kland aldri enkeltpersoner for feil. I stedet skal teamet kontinuerlig forbedre seg sammen, og prestasjoner skal feires og belønnes.

Du lærer ved å observere prosessen din og samle inn data

Å observere arbeidsflyten din uten forventning er en kraftig teknikk du kan bruke for å se suksessene og utfordringene med arbeidsflyten din realistisk. Denne observasjonen er den eneste måten å finne den rette løsningen på områdene og problemene som skaper flaskehalser i prosessene dine.

Akkurat som med programvare, løser det ikke nødvendigvis å slå noen Kubernetes (eller annet nytt verktøy) på et problem. Du må vite hvor problemene er før du går ut på å fikse dem. Når du fortsetter, samler du data - ikke for å måle suksess eller fiasko, men for å spore teamets ytelse. Du bestemmer hva som fungerer, hva som ikke fungerer, og hva du skal prøve neste gang.

Overtalelse er nøkkelen til adopsjon av DevOps

Det er ikke lett å selge ideen om DevOps til lederne, jevnaldrende og ansatte. Prosessen er ikke alltid intuitiv for ingeniører. Bør ikke en god ide bare selge seg selv? Hvis det bare var så enkelt. Imidlertid er et sentralt konsept å alltid huske når du implementerer DevOps at det fremhever mennesker.

de såkalte "myke ferdighetene" for kommunikasjon og samarbeid er sentrale i DevOps-transformasjonen. Å overtale andre på teamet ditt og i ditt selskap til å ta i bruk DevOps krever å trene på gode kommunikasjonsevner. Tidlige samtaler du har med kolleger om DevOps, kan sette deg i stand til suksess på veien - spesielt når du treffer en uventet fartshump.

Små trinnvise endringer er uvurderlige i DevOps

Det aspektet av DevOps som legger vekt på å gjøre endringer på små, inkrementelle måter, har sine røtter i mager produksjon, som omfavner akselerert tilbakemelding, kontinuerlig forbedring og raskere tid til marked.

Vann er en god metafor for DevOps-transformasjoner. Vann er et av verdens kraftigste elementer. Med mindre folk ser på at flomvannet stiger foran seg, tenker de på det som relativt ufarlig. Colorado-elven hugget Grand Canyon. Sakte, over millioner av år, skjærte vann gjennom stein for å eksponere nesten to milliarder år med jord og stein.

Du kan være som vann. Vær den sakte, nådeløse endringen i organisasjonen din. Her er det berømte sitatet fra et Bruce Lee-intervju for å inspirere deg:

Vær formløs, formløs, som vann. Nå legger du vann i en kopp, det blir koppen. Du putter vann i en flaske, det blir flasken. Du legger den i en tekanne, den blir tekannen. Nå kan vann renne, eller det kan krasje. Vær vann, min venn.

Å gjøre trinnvise endringer betyr for eksempel at du finner et problem og at du løser problemet. Så fikser du den neste. Du tar ikke for mye for fort, og du velger ikke hver kamp å kjempe. Du forstår at noen kamper ikke er verdt energien eller den sosiale kapitalen som de kan koste deg.

Til syvende og sist er DevOps ikke en liste over trinn du kan ta, men er snarere en tilnærming som bør lede beslutningene du tar når du utvikler deg.

  1. BusinessOperations ManagementDevOps For Dummies Cheat Sheet
  2. BusinessOperations ManagementBaseoverføringspris til full pris

Av Mark P. Holtzman

Et selskap kan sette overføringsprisen til full kostnad (også kjent som absorpsjonskostnad), som er summen av variable og faste kostnader per enhet. For å sikre at salgsdivisjonen tjener overskudd, kan de også legge til en påslag.

Anta at HOO Water Company produserer både kildevann og brus. Clor-divisjonen produserer kildevann, og Shpritz-divisjonen lager brus. HOO-ledere oppfordrer Clor og Shpritz til å samarbeide slik at Shpritz-divisjonen bruker Clor divisjonens kildevann til å lage brus.

Imidlertid selger Clor divisjon også vannet til kunder utenfor for $ 0,75 per gallon. For å minimere kostnadene kan Shpritz også kjøpe vann fra andre leverandører enn våren.

I år planlegger Clor divisjon å produsere 100.000 liter kildevann, men har evnen til å produsere mer vann hvis den kan selge det. Clors vann har en variabel kostnad på $ 0,30 per gallon og må dekke faste kostnader på $ 40 000.

Shpritz divisjon planlegger å lage 60.000 liter brus; den kan kjøpe vannet fra Shpritz eller fra en ekstern leverandør. I tillegg til kostnadene for vannet, må Shpritz betale $ 0,40 per gallon for smakstilsetninger og andre tilsetningsstoffer for å produsere hver liter brus. Shpritz betaler også faste kostnader på $ 30 000 per år. Shpritz's brus selger for $ 2 per gallon.

Først må du beregne Clors full kostnad. Faste kostnader beløper seg til $ 40 000 for å produsere 100 000 liter kildevann. Den faste kostnaden per enhet er da 0,40 dollar per gallon ($ 40 000 ÷ 100 000 gallon). Clors variabel koster $ 0,30 per gallon; legg til den faste kostnaden per enhet for å få en totalkostnad på $ 0,70 per gallon, overføringsprisen.

Følgende figur forklarer hva som skjer når Clor forsyner Shpritz med 60 000 verdt kildevann til en overføringspris på $ 0,70 per gallon og resten til utenforstående kunder for $ 0,75 per gallon.

image0.jpg

Her mottar Clor $ 30.000 i inntekter fra eksterne kunder og $ 42.000 i inntekter fra Shpritz. Å trekke fra Clors variable kostnader på $ 30.000 og faste kostnader på $ 40.000 gir en nettoinntekt på $ 2000. Shpritz tar inn inntekter på 120.000 dollar fra brusene sine.

Av dette beløpet må det betale $ 42.000 til Clor og $ 24.000 i andre variable kostnader. Shpritz må også betale faste kostnader på $ 30.000, noe som resulterer i en nettoinntekt på $ 24.000 for Shpritz. HOO Water, som eier begge divisjonene, tjener en samlet inntekt på $ 26 000 for begge produktene.

Avgjørelser om å basere overføringspris på full pris kan lure divisjonsledere til å ta dårlige beslutninger som skader selskapets samlede lønnsomhet. Anta at et annet selskap, Malcolm Water, selger vann for $ 0,65 per gallon. (I tilfelle du lurer på, kan Malcolm Water kreve mindre penger for vannet fordi vannet er av dårligere kvalitet.) Shpritz-divisjonen må velge mellom å betale $ 0,70 per gallon til Clor divisjon eller $ 0,65 per gallon til Malcolm.

På den ene siden kan Shpritz foretrekke å gjøre forretninger med Clor bare fordi begge selskapene har samme foreldre. Hvis HOO imidlertid betaler 0,70 dollar per gallon for å lage vann, men bare 0,65 dollar for å kjøpe det fra Malcolm, bør ikke HOO bare kjøpe vannet fra den billigere eksterne leverandøren og spare 0,05 dollar per gallon?

Ikke nødvendigvis. Følgende figur illustrerer fiaskoen som oppstår når Shpritz forsøker å spare penger ved å kjøpe vannet fra Malcolm.

bilde1.jpg

Shpritz sin beslutning om å prøve å kutte kostnader reduserer HOO Waters samlede lønnsomhet med $ 21 000. Ingen spørsmål om det: Shpritzs lønnsomhet øker. Fordi beslutningen om å outsource reduserer de variable kostnadene ved å kjøpe vann fra $ 42.000 til $ 39.000, stiger nettoinntekten til Shpritz til $ 27.000.

Imidlertid gjør Shpritz sin beslutning Clor og reduserer til slutt HOO Waters totale lønnsomhet. Clors salg til Shpritz på 42 000 dollar tørker helt opp. De variable kostnadene synker også fra $ 30.000 til $ 12.000.

Clors faste kostnader på $ 40 000 forblir imidlertid de samme, noe som tvinger Clor til å lide et tap på $ 22 000. HOO Waters samlede fortjeneste faller fra $ 26 000 til bare 5 000 dollar. Å basere overføringsprisen på full kostnad har ført til at Shpritz har tatt beslutninger som skader selskapets samlede lønnsomhet.

  1. VirksomhetMarkedsføringSosial mediemarkedsføring Slik finner du kontakter på Instagram
Instagram For Business For Dummies

Av Jennifer Herman, Eric Butow, Corey Walker

Hvis du er ny på Instagram, lurer du kanskje på hvor du skal begynne. Instagram (og pappaen, Facebook) hjelper deg gjerne med å få forbindelser. Du kan finne mennesker på noen få forskjellige måter.

Finne Facebook-vennene dine

Facebook har en interesse av å få Instagram til å vokse, så den prøver å oppmuntre deg til å avrunde Facebook-vennene dine og bringe dem over til Instagram. Det er en enkel måte å finne mennesker på.

Følg disse trinnene for å finne venner på Facebook:

  1. Gå til Instagram-profilsiden din ved å banke på bildet ditt nederst til høyre på telefonens skjerm. Trykk på personen med et pluss (og muligens et rødt tall) øverst til venstre. Trykk på Facebook-koblingen øverst på skjermen. Bekreft påloggingen på Facebook ved å tappe OK. Skjermen viser hvor mange Facebook-venner du har på Instagram. Trykk på enten Følg alle eller Følg. For å følge hver eneste av Facebook-vennene dine på Instagram, trykk på Følg alle. Hvis du heller vil være mer selektiv, spesielt fordi du sannsynligvis vil markedsføre produktet eller tjenesten din, kan det være lurt å følge venner en etter en. Bare trykk på Følg ved siden av hver venn du vil kontakte, og fortsett å bla og følge!
finn Facebook-vennene Instagram

Noen av vennene dine kan ha satt kontoene sine til private. I dette tilfellet ser du Forespurt etter at du trykker på Følg. De må godkjenne deg før du kan se profilen deres og innlegg.

Synkroniserer kontaktlisten din

Instagram kan også koble deg til kontaktene som er lagret på telefonen eller nettbrettet. Etter at du har aktivert denne funksjonen, blir kontaktene dine periodisk synkronisert med Instagram-serverne. Instagram følger ikke noen på dine vegne, og du kan koble fra kontaktene dine når som helst slik at Instagram ikke får tilgang til dem.

Denne funksjonen kan være best som en og-gjort i begynnelsen kontra en konstant forbindelse for personvern.

Følg disse trinnene for å koble kontaktene dine:

  1. Gå til Instagram-profilsiden din ved å banke på bildet ditt nederst til høyre på telefonens skjerm. Trykk på den lille personen med et pluss (og muligens et rødt tall) øverst til venstre. Trykk på koblingen Kontakter. Den neste skjermen forteller deg at Instagram vil finne folk du kjenner, og du har muligheten til å følge dem. Trykk på Koble til kontakter for å fortsette. En annen pop-up spør om Instagram har tilgang til kontaktene dine. Trykk på Tillat tilgang. En pop-up vises og ber deg om å gi Instagram tilgang til kontaktene dine. Dette er din siste sjanse til å kansellere beslutningen din om å la Instagram få tilgang til kontaktene dine. Trykk på OK. Pop-up-en forsvinner, og kontaktskjermen vises. Følg alle kontaktene dine på Instagram ved å trykke på Følg alle, eller velg hvilke kontakter du vil følge ved å trykke på Følg ved siden av hver enkelt.
instagram kontakter

Hvis du ombestemmer deg på et tidspunkt og vil avvise Instagram tilgang til kontaktene dine, trykker du på hjulikonet på profilsiden din, blar ned til Innstillinger og klikker på Kontakter. Trykk på Connect Connect for å skifte den til hvitt, som avslutter Instagram tilgang.

  1. BusinessOperations ManagementVelg den beste leverandøren av skytjeneste, funksjoner og verktøy for DevOps

Av Emily Freeman

Suksessen med DevOps-initiativet ditt er avhengig av å følge prosessen, men det er også viktig å bruke de riktige verktøyene. Å velge en skytjenesteleverandør er ikke et lett valg, spesielt når DevOps er din drivende motivasjon. GCP (Google Cloud Platform), AWS (Amazon Web Services) og Azure har mer til felles enn de gjør fra hverandre.

Ofte avhenger avgjørelsen din mer av DevOps-teamets komfortnivå hos en bestemt skyleverandør eller din nåværende stabel mer enn skyleverandøren selv. Etter at du har bestemt deg for å flytte til skyen, er neste beslutning å bestemme deg for en skyleverandør som passer til dine DevOps behov. Her er noen ting du må vurdere når du evaluerer nettskyleverandører med DevOps-prinsipper i tankene:

  • Solid merittliste. Skyen du velger, skal ha en historie med ansvarlige økonomiske beslutninger og nok kapital til å drifte og utvide store datasentre gjennom flere tiår. Overholdelse og risikostyring. Formell struktur og etablerte retningslinjer for samsvar er avgjørende for å sikre at dataene dine er trygge og sikre. Ideelt sett må du gjennomgå revisjoner før du signerer kontrakter. Positivt omdømme. Kundenes tillit er helt sentralt. Stoler du på at du kan stole på at denne skyleverandøren fortsetter å vokse og støtte dine utviklende DevOps behov? Servicenivåavtaler (SLAs). Hvilket servicenivå trenger du? Typisk tilbyr skyleverandører forskjellige nivåer av driftssikkerhet basert på kostnader. For eksempel vil 99,9 prosent oppetid være betydelig billigere enn 99,999 prosent oppetid. Måling og overvåking. Hvilke typer applikasjonsinnsikt, overvåking og telemetri leverer leverandøren? Forsikre deg om at du kan få et passende nivå av innsikt i systemene dine så nær sanntid som mulig.

Til slutt, forsikre deg om at skyleverandøren du velger har utmerkede tekniske evner som gir tjenester som oppfyller dine spesifikke DevOps-behov. Generelt, se etter

  • Beregn evner Lagringsløsninger Distribusjonsfunksjoner Logging og overvåking Vennlige brukergrensesnitt

Du bør også bekrefte evnen til å implementere en hybrid skyløsning i tilfelle du trenger det på et tidspunkt, samt å ringe HTTP til andre API-er og tjenester.

De tre store skyleverandørene er Google Cloud Platform (GCP), Microsoft Azure og Amazon web Services (AWS). Du kan også finne mindre skyleverandører og sikkert en rekke private nettskyleverandører, men mesteparten av det du trenger å vite kommer fra å sammenligne de offentlige skyleverandørene.

Amazon Web Services (AWS)

I likhet med de andre store offentlige leverandørene av skyer, tilbyr AWS databehandling på forespørsel gjennom et pay-as-you-go-abonnement. Brukere av AWS kan abonnere på et hvilket som helst antall tjenester og databehandlingsressurser. Amazon er den nåværende markedsledende blant nettskydeleverandører, og har flertallet av skyabonnenter.

Det tilbyr et robust sett med funksjoner og tjenester i regioner over hele verden. To av de mest kjente tjenestene er Amazon Elastic Compute Cloud (EC2) og Amazon Simple Storage Service (Amazon S3). I likhet med andre nettskyleverandører får man tilgang til tjenester og infrastruktur leveres gjennom APIer.

Microsoft Azure

Før Microsoft lanserte denne skyleverandøren som Microsoft Azure, ble den kalt Windows Azure. Microsoft designet den for å gjøre akkurat det navnet tilsier - tjene som en skyleverandør for tradisjonelt Windows IT-organisasjoner. Men etter hvert som markedet ble mer konkurransedyktig og Microsoft begynte å forstå ingeniørlandskapet bedre, tilpasset Azure, vokste og utviklet seg.

Til tross for at det fremdeles er mindre robust enn AWS, er Azure en godt avrundet nettskyleverandør med fokus på brukeropplevelse. Gjennom forskjellige produktlanseringer og anskaffelser - særlig GitHub - har Microsoft investert mye i Linux-infrastruktur, noe som har gjort det mulig for å tilby mer robuste tjenester til et bredere publikum.

Google Cloud Platform (GCP)

Google Cloud Platform (GCP) har den minste markedsandelen av de tre store offentlige skyleverandørene, men tilbyr et betydelig sett med skytjenester i nesten to dusin geografiske regioner.

Det kanskje mest tiltalende aspektet ved GCP er at den tilbyr brukerne den samme infrastrukturen Google bruker internt. Denne infrastrukturen inkluderer ekstremt kraftige tjenester innen databehandling, lagring, analyse og maskinlæring. Avhengig av ditt spesifikke produkt, kan GCP ha spesialiserte verktøy som mangler (eller mindre modne) i AWS og Azure.

Finne DevOps verktøy og tjenester i skyen

Bokstavelig talt hundrevis av verktøy og tjenester står til din disposisjon gjennom de store skylverandørene. Disse verktøyene og tjenestene er vanligvis delt inn i følgende kategorier:

  • Compute Oppbevaring Nettverk Ressursforvaltning Cloud Artificial Intelligence (AI) Identitet Sikkerhet Serverløst IOT

Følgende er en liste over de mest brukte tjenestene i alle de tre store skyleverandørene. Disse tjenestene inkluderer app-distribusjon, administrasjon av virtuell maskin (VM), container-orkestrering, serverløse funksjoner, lagring og databaser.

Ytterligere tjenester er inkludert, for eksempel identitetshåndtering, blokklagring, privat sky, lagring av hemmeligheter og mer. Det er langt fra en uttømmende liste, men kan tjene som et solid grunnlag for deg når du begynner å undersøke alternativene dine og få en følelse av hva som skiller nettskyleverandørene.

  • App-distribusjon: Platform as a Service (PaaS) -løsning for distribusjon av applikasjoner på en rekke språk, inkludert Java, .NET, Python, Node.js, C #, Ruby og Go Azure: Azure Cloud Services AWS: AWS Elastic Beanstalk GCP: Google App Engine
  • Administrasjon av virtuell maskin (VM): Infrastructure as a Service (IaaS) alternativ for å kjøre virtuelle maskiner (VM) med Linux eller Windows Azure: Azure Virtual Machines AWS: Amazon EC2 GCP: Google Compute Engine
  • Administrert Kubernetes: Gjør det mulig med bedre containerstyring via den populære orkestratoren Kubernetes Azure: Azure Kubernetes Service (AKS) AWS: Amazon Elastic Container Service (ECS) for Kubernetes GCP: Google Kubernetes Engine
  • Serverløs: Gjør det mulig for brukere å lage logiske arbeidsflyter med serverløse funksjoner Azure: Azure Functions AWS: AWS Lambda GCP: Google Cloud-funksjoner
  • Skylagring: Ustrukturert objektlagring med hurtigbufring Azure: Azure Blob Storage AWS: Amazon S3 GCP: Google Cloud Storage
  • Databaser: SQL og NoSQL databaser, på forespørsel Azure: Azure Cosmos DB AWS: Amazon Relational Database Service (RDS) og Amazon DynamoDB (NoSQL) GCP: Google Cloud SQL og Google Cloud BigTable (NoSQL)

Når du utforsker de tre store skyleverandørene, merker du en lang liste med tjenester. Du kan føle deg overveldet av hundrevis av alternativer du har til rådighet. Hvis du ved en tilfeldighet ikke finner det du trenger, vil markedsplassen sannsynligvis gi noe lignende. Markedsplassen er der uavhengige utviklere tilbyr tjenester som kobles til nettskyen - hostet av Azure, AWS eller GCP.

Tabellen nedenfor viser tilleggstjenester levert av de fleste, om ikke alle, nettskyleverandører.

Tjenestekategorifunksjonalitet
Blokker lagringDatalagring som brukes i SAN-miljøer (Storage-Area Network). Blokkering av lagring ligner på å lagre data på en harddisk.
Virtual Private Cloud (VPC)Logisk isolerte, delte databehandlingsressurser.
brannmurNettverkssikkerhet som kontrollerer trafikken.
Content Delivery Network (CDN)Innholdslevering basert på brukerens beliggenhet. Bruker vanligvis hurtigbufring, belastningsbalansering og analyse.
Domenenavnsystem (DNS)Oversetter av domenenavn til IP-adresser for nettlesere.
Enkelt pålogging (SSO)Tilgangskontroll til flere systemer eller applikasjoner som bruker samme legitimasjonsbeskrivelser. Hvis du har logget deg på en uavhengig applikasjon med Google-, Twitter- eller GitHub-legitimasjonen, har du brukt SSO.
Identity and Access Management (IAM)Rollebasert brukertilgangshåndtering. Forhåndsbestemte roller har tilgang til en angitt gruppe av funksjoner; brukere tildeles roller.
Telemetri, overvåking og loggingVerktøy for å gi applikasjonsinnsikt om ytelse, serverbelastning, minneforbruk og mer.
distribusjonerKonfigurasjon, infrastruktur og frigjøringsledningsadministrasjonsverktøy.
Cloud shellShell-tilgang fra et kommandolinjegrensesnitt (CLI) i nettleseren.
Lagring av hemmeligheterSikker lagring av nøkler, symboler, passord, sertifikater og andre hemmeligheter.
MeldingskøerDynamisk skalert meldingsmeglere.
Maskinlæring (ML)Dype læringsrammer og verktøy for dataforskere.
IOTEnhetstilkobling og styring.