1. BusinessOperations ManagementVælg den bedste leverandør af cloud service, funktioner og værktøjer til DevOps

Af Emily Freeman

Succesen med dit DevOps-initiativ afhænger meget af at følge processen, men det er også vigtigt at bruge de rigtige værktøjer. At vælge en cloud-udbyder er ikke et let valg, især når DevOps er din drivkraft. GCP (Google Cloud Platform), AWS (Amazon Web Services) og Azure har mere til fælles, end de gør hinanden.

Ofte afhænger din beslutning mere af dit DevOps-teams komfortniveau hos en bestemt skyudbyder eller din nuværende stak mere end selve skyudbyderen. Når du har besluttet at flytte til skyen, er den næste beslutning at beslutte en skyudbyder, der passer til dine DevOps-behov. Her er nogle ting, du skal overveje, når du vurderer cloud-udbydere med DevOps-principper i tankerne:

  • Solid track record. Den sky, du vælger, skal have en historie med ansvarlige økonomiske beslutninger og kapital nok til at drive og udvide store datacentre gennem årtier. Overholdelse og risikostyring. Formel struktur og etablerede overholdelsespolitikker er vigtige for at sikre, at dine data er sikre og sikre. Det er ideelt, at du gennemgår revisioner, før du underskriver kontrakter. Positivt omdømme. Kundernes tillid er absolut nøglen. Har du tillid til, at du kan stole på, at denne skyudbyder fortsætter med at vokse og understøtte dine udviklende DevOps-behov? Serviceniveauaftaler (SLA'er). Hvilket serviceniveau har du brug for? Cloud-udbydere tilbyder typisk forskellige niveauer af driftssikkerhed baseret på omkostninger. For eksempel vil 99,9 procent oppetid være markant billigere end 99,999 procent oppetid. Metrics og overvågning. Hvilke typer applikationsindsigt, overvågning og telemetri leverer leverandøren? Vær sikker på at du kan få et passende niveau af indsigt i dine systemer så tæt på realtid som muligt.

Endelig skal du sikre dig, at den skyudbyder, du vælger, har fremragende tekniske kapaciteter, der leverer tjenester, der imødekommer dine specifikke DevOps-behov. Generelt skal du kigge efter

  • Beregn evner Opbevaringsløsninger Distributionsfunktioner Logning og overvågning Venlige brugergrænseflader

Du skal også bekræfte muligheden for at implementere en hybrid sky-løsning, hvis du har brug for det på et tidspunkt, samt at foretage HTTP-opkald til andre API'er og tjenester.

De tre store cloud-udbydere er Google Cloud Platform (GCP), Microsoft Azure og Amazon web Services (AWS). Du kan også finde mindre skyudbydere og bestemt et antal private skyudbydere, men hovedparten af ​​det, du har brug for at vide, kommer fra at sammenligne de offentlige skyudbydere.

Amazon Web Services (AWS)

Som de andre store offentlige cloud-udbydere leverer AWS on-demand computing gennem et pay-as-you-go-abonnement. Brugere af AWS kan abonnere på ethvert antal tjenester og databehandlingsressourcer. Amazon er den nuværende markedsleder blandt cloud-udbydere og har størstedelen af ​​skyabonnenter.

Det tilbyder et robust sæt funktioner og tjenester i regioner over hele verden. To af de mest kendte tjenester er Amazon Elastic Compute Cloud (EC2) og Amazon Simple Storage Service (Amazon S3). Som med andre cloud-udbydere får man adgang til tjenester, og infrastruktur leveres via API'er.

Microsoft Azure

Før Microsoft lancerede denne sky-udbyder som Microsoft Azure, kaldte den Windows Azure. Microsoft designet den til at gøre netop, som navnet antyder - tjene som en cloud-udbyder til traditionelt Windows IT-organisationer. Men efterhånden som markedet blev mere konkurrencedygtigt, og Microsoft begyndte bedre at forstå tekniklandskabet, tilpassede Azure, voksede og udviklede sig.

Selvom der stadig er tvivlsom mindre robust end AWS, er Azure en godt afrundet skyudbyder med fokus på brugeroplevelse. Gennem forskellige produktlanceringer og erhvervelser - især GitHub - har Microsoft investeret meget i Linux-infrastruktur, hvilket har gjort det muligt for den at levere mere robuste tjenester til et bredere publikum.

Google Cloud Platform (GCP)

Google Cloud Platform (GCP) har den mindst markedsandel af de tre store offentlige cloud-udbydere, men tilbyder et betydeligt sæt cloud-tjenester i næsten to dusin geografiske regioner.

Det mest tiltalende aspekt ved GCP er måske, at det tilbyder brugerne den samme infrastruktur, som Google bruger internt. Denne infrastruktur inkluderer ekstremt kraftige computere, opbevaring, analyse og maskinindlæringstjenester. Afhængigt af dit specifikke produkt kan GCP have specialiserede værktøjer, der mangler (eller er mindre modne) i AWS og Azure.

Find DevOps værktøjer og tjenester i skyen

Bogstaveligt talt står hundredvis af værktøjer og tjenester til din rådighed gennem de største skyudbydere. Disse værktøjer og tjenester er generelt opdelt i følgende kategorier:

  • Beregn Opbevaring Netværk Ressourcestyring Cloud kunstig intelligens (AI) Identitet Sikkerhed serverless IoT

Følgende er en liste over de mest almindeligt anvendte tjenester på tværs af alle tre af de store skyudbydere. Disse tjenester inkluderer app-distribution, virtual machine (VM) management, container orchestration, serverløse funktioner, opbevaring og databaser.

Yderligere tjenester er inkluderet, såsom identitetsstyring, blokopbevaring, privat sky, hemmeligholdelse og mere. Det er langt fra en udtømmende liste, men kan tjene som et solidt fundament for dig, når du begynder at undersøge dine muligheder og få en fornemmelse af, hvad der adskiller skyudbydere.

  • App-implementering: Platform as a Service (PaaS) -løsning til implementering af applikationer på forskellige sprog, herunder Java, .NET, Python, Node.js, C #, Ruby og Go Azure: Azure Cloud Services AWS: AWS Elastic Beanstalk GCP: Google App Engine
  • Management af virtuel maskine (VM): Infrastructure as a Service (IaaS) mulighed for at køre virtuelle maskiner (VM'er) med Linux eller Windows Azure: Azure Virtual Machines AWS: Amazon EC2 GCP: Google Compute Engine
  • Administreret Kubernetes: Gør det muligt bedre containerstyring via den populære orkestrator Kubernetes Azure: Azure Kubernetes Service (AKS) AWS: Amazon Elastic Container Service (ECS) til Kubernetes GCP: Google Kubernetes Engine
  • Serverløs: Gør det muligt for brugere at oprette logiske arbejdsgange af serverløse funktioner Azure: Azure-funktioner AWS: AWS Lambda GCP: Google Cloud-funktioner
  • Skyopbevaring: Ustruktureret objektopbevaring med cache Azure: Azure Blob Storage AWS: Amazon S3 GCP: Google Cloud Storage
  • Databaser: SQL og NoSQL databaser, efter behov 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 udforsker de tre store skyudbydere, bemærker du en lang liste med tjenester. Du kan føle dig overvældet af de hundreder af muligheder, du har til rådighed. Hvis du ved en tilfældighed ikke kan finde det, du har brug for, vil markedspladsen sandsynligvis give noget lignende. Markedet er, hvor uafhængige udviklere tilbyder tjenester, der tilslutter skyen - hostet af Azure, AWS eller GCP.

Tabellen nedenfor viser yderligere tjenester leveret af de fleste, hvis ikke alle, skyudbydere.

  1. ForretningsOperations ManagementWhy DevOps Matters: 11 måder DevOps gavner din organisation

Af Emily Freeman

Når det gøres korrekt, tilbyder DevOps betydelige fordele for din organisation. Denne artikel præsenterer de vigtigste punkter for at vide, hvordan DevOps gavner din organisation. Brug det som en henvisning til at hjælpe dig med at overtale dine kolleger eller for at styrke din forståelse af, hvorfor du valgte at gå DevOps-ruten, når vejen bliver ujævn.

DevOps fordele

DevOps hjælper dig med at acceptere konstant ændring

Det tech-landskab er et stadigt skiftende miljø. Nogle sprog udvikler sig, og der oprettes nye. Rammer kommer og går. Ændringer i infrastrukturværktøjer for at imødekomme de stadigt voksende krav til hosting-applikationer mere effektivt og levering af tjenester hurtigere. Værktøjer fortsætter med at abstrakte computerniveau på lavt niveau for at reducere teknisk overhead.

Den eneste konstante er forandring. Din evne til at tilpasse sig denne ændring bestemmer din succes som en individuel bidragyder, manager eller direktør. Uanset hvilken rolle du i øjeblikket udfylder hos din virksomhed eller håber på at spille, er det vigtigt at tilpasse sig hurtigt og fjerne så meget friktion fra væksten som muligt. DevOps giver dig mulighed for at tilpasse dig og vokse ved at forbedre kommunikationen og samarbejdet.

DevOps omfavner skyen

Skyen er ikke fremtiden; det sneer. Selvom du muligvis stadig skifter eller ikke er klar til at flytte, skal du indse, at skyen er vejen frem for alle undtagen et par virksomheder. Det giver dig mere fleksibilitet end traditionel infrastruktur, sænker stresset ved driften og (normalt) omkostninger betydeligt mindre på grund af en prisfastsættelsesstruktur.

Offentlige, private og hybride skyer giver dig utallige muligheder for at drive din virksomhed bedre. Evnen til at spinde (lancere) ressourcer inden for få minutter er noget de fleste virksomheder aldrig har oplevet før skyen.

Denne smidighed leveret af skyen går hånd i hånd med DevOps. Omri Gazitt fra Puppet, et firma med fokus på automatisering og konfigurationsstyring, udtrykte det bedst: "Når organisationer flytter til skyen, gennemgår de deres centrale antagelser om, hvordan de leverer software."

Med skyen forbinder API'er alle tjenester, platforme og infrastrukturværktøjer, så du kan administrere dine ressourcer og din applikation problemfrit. Når du migrerer til skyen, kan du revurdere tidligere beslutninger om arkitektur og langsomt overføre din applikation og system til at være sky-native eller designet med skyen i tankerne.

DevOps hjælper dig med at ansætte de bedste

På grund af øget efterspørgsel er store ingeniører knappe. Der er simpelthen ikke nok ingeniører til at udfylde alle de nuværende åbne job eller til at imødekomme markedets efterspørgsel i det næste årti. Selvom det kan være vanskeligt at finde ingeniører, er det ikke umuligt, især hvis du fokuserer på at opdage ingeniører, der omfavner nysgerrighed og ikke er bange for at mislykkes. Hvis du implementerer DevOps i din overordnede ingeniørkultur, kan du udjævne ingeniører og uddanne dem i den metode og teknologi, der understøtter kontinuerlig forbedring.

Det er vanskeligt at måle potentiale i en samtale. Normalt hvisker talent. De mest talentfulde ingeniører er typisk ikke gregarious eller braggarts; de lod deres arbejde tale for dem. DevOps giver dig mulighed for at lytte nærmere til de personlige og professionelle interesser hos de ingeniører, du interviewer.

Prøv at vælge kandidater baseret på deres nysgerrighed, kommunikationsevner og entusiasme. Disse egenskaber kan se dit team gennem tunene af frygt, usikkerhed og tvivl. De kan bære holdet gennem hårde beslutninger, der træffes inden for begrænsninger, i deres forsøg på at løse vanskelige problemer.

Du kan lære nogen en færdighed, men at lære nogen at lære er en helt anden sag. Den læringskultur, du opretter i din DevOps-organisation, giver dig mulighed for at prioritere en væksttankegang frem for teknisk dygtighed. I DevOps er ansættelse til teamet kritisk. Hvert individ er et stykke af en helhed, og holdet skal have balance holistisk. Opnåelse af denne balance betyder, at du sommetider ikke ansætter den "bedste" ingeniør, du ansætter den bedste ingeniør til teamet.

Når du ansætter i DevOps-teamet, kan du ligesom trækheste, der samles sammen, trække mere vægt end du kunne individuelt. Med DevOps kan du multiplicere de individuelle komponenter i dit team og som helhed oprette et kraftcenter af et team.

DevOps holder dig konkurrencedygtig

Den årlige State of DevOps-rapport udgivet af DevOps Research and Assessment (DORA) gør det klart: Virksomheder over hele verden bruger DevOps til at justere deres tekniske praksis og høster fordelene. De ser stigninger i teknisk produktion og reduktioner i omkostninger. Med DevOps skifter disse virksomheder fra uklare processer og systemer til en strømlinet måde at udvikle software fokuseret på slutbrugeren.

DevOps gør det muligt for virksomheder at skabe pålidelig infrastruktur og bruge denne infrastruktur til at frigive software hurtigere og mere pålideligt. Hovedpunkterne er denne: Højtydende organisationer bruger DevOps, og de knuser deres konkurrence ved at øge deres installationsfrekvens og reducere deres fejl betydeligt, som opstår på grund af ændringer i systemet.

Hvis du vil konkurrere, skal du anvende de solide DevOps-metoder. Måske ikke alle af dem, og bestemt ikke alle på én gang - men tiden til at vente og se, om DevOps er umagen værd er gået.

DevOps hjælper med at løse menneskelige problemer

Mennesker har nået et punkt i vores udvikling, hvor teknologi udvikler sig hurtigere end vores hjerner. Således skyldes de største udfordringer mennesker står over for menneskelige begrænsninger - ikke begrænsningerne af software eller infrastruktur. I modsætning til andre softwareudviklingsmetoder, fokuserer DevOps holistisk på dit sociotekniske system.

Omfavnelse af DevOps kræver et skift i kultur og tankegang. Men hvis du opnår en DevOps-kultur og tankegang, høster du og din organisation næsten ubegrænsede fordele. Når ingeniører er bemyndiget til at udforske, fri for pres og frygt for fiasko, sker der fantastiske ting.

Ingeniører opdager nye måder at løse problemer på. De nærmer sig projekter og problemer med et sundt tankesæt og arbejder mere flydende uden unødvendig og negativ konkurrence.

DevOps udfordrer medarbejderne

DevOps fremskynder væksten hos individuelle ingeniører såvel som i ingeniørteamet som helhed. Ingeniører er smarte mennesker. De er også naturligvis nysgerrige. En stor ingeniør, der omfavner et væksttankegang, har brug for nye udfordringer efter at have mestret en bestemt teknologi, værktøj eller metodologi, eller de føler sig ofte stillestående.

De er nødt til at føle sig som om deres hjerne og færdigheder sæt strækkes - ikke til det punkt, at de bliver overvældede eller stressede, men nok til at føle, at de vokser. Det er den spænding, der er beskrevet af Dan Pink i Drive. Hvis du kan finde den balance, vil dine ingeniører trives - som enkeltpersoner og som et team.

Metodikken til DevOps fremmer T-formede færdigheder, hvilket betyder, at ingeniører specialiserer sig i et område med dyb viden og har en bred forståelse af mange andre områder. Denne fremgangsmåde giver ingeniører mulighed for at udforske andre interesserede områder.

Måske har en Python-ingeniør f.eks. Interesse i skyinfrastruktur. Ingen anden teknologisk metode tillader og opfordrer ingeniører til at udforske så meget som DevOps gør, og det er en enorm bidragyder til at ansætte og fastholde talent.

DevOps brohuller

En af udfordringerne for moderne teknologivirksomheder er denne kløft mellem virksomhedens behov og tekniske behov. I en traditionel virksomhed med traditionelle styringsstrategier findes der en naturlig friktion mellem engineering og afdelinger som marketing, salg og forretningsudvikling. Denne friktion stammer fra manglende tilpasning. Hver afdeling måles ved forskellige indikatorer for succes.

DevOps søger at forene hver afdeling i en virksomhed og skabe en fælles forståelse og respekt. Den respekt for hinandens job og bidrag er det, der tillader enhver person i virksomheden at trives. Det fjerner friktionen og forbedrer accelerationen.

Tænk på et hold slædehunde. Hvis hver hund bevæger sig i separate retninger, går slæden ingen steder. Forestil dig nu hundene, der arbejder sammen, fokuseret på at komme videre - sammen. Når du mangler friktion internt, er de eneste udfordringer, du står overfor, eksterne, og eksterne udfordringer er næsten altid mere håndterbare end interne stridigheder.

DevOps giver dig mulighed for at mislykkes godt

Fejl er uundgåelig. Det er simpelthen uundgåeligt. Det er umuligt at forudsige alle måder, hvorpå dit system kan mislykkes på grund af alle de ukendte. (Og det kan mislykkes spektakulært, ikke sandt?) I stedet for at undgå fiasko for enhver pris og føle dig knust, når der opstår fiasko, kan du forberede dig på det. DevOps forbereder organisationer til at reagere på fiasko, men ikke på en panikagtig, stressinduceret måde.

Begivenheder vil altid involvere et vist niveau af stress. På et tidspunkt langs din kommandostruktur skriges en sandsynligvis sandsynligvis, at pengene går tabt under et servicestop. Men du kan reducere den stress dit team oplever ved at bruge fiasko som en måde at lære og tilpasse dit system til at blive mere robust.

Hver hændelse er en mulighed for at forbedre og vokse, som enkeltpersoner og som et team.

DevOps omfavner kaizen, kunsten til kontinuerlig forbedring. Når dit team oplever flow i deres arbejde, kan de træffe små valg hver dag, der bidrager til langsigtet vækst og i sidste ende et bedre produkt.

DevOps giver dig løbende forbedringer

Kontinuerlig forbedring er en nøgleingrediens i DevOps. Brug visualiseringen af ​​en uendelig cyklus, når du anvender DevOps til din organisation. Cyklussen bør ikke påkalde frygt gennem tanker om Sisyphus, skubbe en sten på en bakke i all evighed. Tænk i stedet på denne cyklus som bevægelse, som en snebold, der ruller ned ad bakke, samler fart og masse.

Når du vedtager DevOps og integrerer mere og mere af dets grundlæggende elementer i din daglige arbejdsgang, vil du være vidne til denne acceleration fra første hånd. Cyklen med kontinuerlig forbedring skal altid koncentrere sig omkring kunden. Du skal løbende overveje slutbrugeren og integrere feedback i din softwareleveringscyklus.

Grundlæggende for denne cyklus er CI / CD. At vedtage CI / CD er ikke et krav til alt eller intet af DevOps; i stedet er det en langsom implementeringsproces. Du skal først fokusere på at mestre kontinuerlig integration. Opfordre ingeniører til at dele kode frit og flette kode ofte. Denne tilgang forhindrer isolering og siloer i at blive blokerere i din ingeniørorganisation.

Når din organisation mestrer kontinuerlig integration, skal du gå videre til kontinuerlig levering, praksis med at automatisere softwarelevering. Dette trin kræver automatisering, fordi kode flytter sig gennem flere kontroller for at sikre kvalitet. Når al din kode er sikker og tilgængelig i et kildekodelager, kan du begynde at implementere små ændringer kontinuerligt. Dit mål er at fjerne manuelle barrierer og forbedre dit teams evne til at opdage og rette bugs uden kundepåvirkning.

DevOps automatiserer slid

Acceleration og øget effektivitet er kernen i DevOps-metodikken. Ved at automatisere arbejdsintensive manuelle processer frigør DevOps ingeniører til at arbejde på projekter, der gør softwaren og systemerne mere pålidelige og let vedligeholdes - uden kaos af uventede service-afbrydelser.

SRE (Site pålidelighedsteknik) beskæftiger sig med slid, som er det arbejde, der kræves for at holde tjenesterne i gang, men er manuelle og gentagne. Arbejdskraft kan automatiseres og mangler langsigtet værdi. Måske vigtigst af alt, slid skalaer lineært, hvilket begrænser væksten. Bemærk, at slid ikke henviser til omkostningen af ​​administrative behov såsom møder og planlægning. Denne type arbejde, hvis implementeret med en DevOps-mentalitet, er gavnlig for den langsigtede acceleration af dit team.

En af de vigtigste elementer i at værktøj din DevOps-praksis er automatisering. Du kan automatisere din implementeringspipeline til at omfatte en verbose test suite samt andre porte, gennem hvilke kode skal passere for at blive frigivet. På mange måder er SRE det næste logiske trin i udviklingen af ​​DevOps og bør være dit næste trin, efter at du og din organisation behersker kernekoncepterne i DevOps og implementerer praksis i dit team.

DevOps fremskynder levering

Softwareleveringens livscyklus har udviklet sig fra den langsomme og lineære vandfaldsproces til en smidig og kontinuerlig loop af DevOps. Du tænker ikke længere et produkt op, udvikler det fuldt ud og frigiver det derefter til kunderne i håb om dets succes.

I stedet opretter du en feedbacksløjfe omkring kunden og leverer kontinuerligt iterative ændringer til dine produkter. Dette tilsluttede kredsløb giver dig mulighed for kontinuerligt at forbedre dine funktioner og sikre, at kunden er tilfreds med det, du leverer.

Når du forbinder alle prikkerne og vedtager DevOps fuldt ud i din organisation, ser du, da dit team kan levere bedre software hurtigere. Ændringerne vil være små i starten, ligesom de ændringer, du frigiver. Men over tid tilføjer de tilsyneladende ubetydelige ændringer og skaber et team, der fremskynder levering af kvalitetssoftware.

  1. ForretningOperations Management Få mere af dine skyværktøjer: Automatisering af DevOps i skyen

Af Emily Freeman

At gifte sig med skyen med din DevOps-praksis kan fremskynde det arbejde, du allerede har udført. Når de bruges sammen, kan både DevOps og skyen drive din virksomheds digitale transformation.

Du vil se resultater, så længe du lægger vægt på prioriteringerne af DevOps: mennesker, proces og teknologi. Skyen - sammen med andet værktøj - falder firkantet ind i den tekniske del af din DevOps-implementering.

DevOps og cloud computing

Cloud computing muliggør automatisering af dine udviklere og driftsfolk på en måde, der simpelthen ikke er mulig, når du administrerer din egen fysiske infrastruktur. At levere infrastruktur gennem kode i skyen - som er et system kaldet infrastruktur som kode (IaC) - giver dig mulighed for at oprette skabeloner og gentagne processer.

Når du sporer ændringer til din infrastrukturkode gennem kildekontrol, tillader du dit team at arbejde problemfrit og spore ændringer. IaC er meget mere gentagne og automatiserede - for ikke at nævne hurtigere - end at få ingeniører til at klikke rundt på en portal.

Selv instruktioner på portalen er ikke narresikre. Du risikerer at foretage små, men alligevel betydelige, ændringer i infrastrukturopsætningen, hvis du konsekvent bygger den samme opsætning gennem portalen snarere end en YAML-fil.

At tage din DevOps-kultur til skyen

Folk taler ofte om DevOps og cloud computing, som om de er sammenflettet og på mange måder. Vær dog opmærksom på, at du kan vedtage DevOps - eller begynde at transformere din ingeniørorganisation - uden at gå helt ind på skyen. Det er helt rimeligt, at du først opretter standarder, praksis og processer for dit team, før du skifter din infrastruktur til en skyudbyder.

Selvom folk taler som om alle allerede er på skyen, er du stadig i forkant med skiftet til skyen. Cloududbydere bliver mere robuste af dagen, og ingeniørfirmaer overfører langsomt deres self-hostede tjenester til skyen. Med det i tankerne ville en organisation, der forsøger at vedtage DevOps, være klogt at overveje stærkt at udnytte tjenesterne fra en større skyudbyder.

Enhver med DevOps-oplevelse vil sandsynligvis ikke kalde skyen en NoOps-løsning, men de kan muligvis kalde det OpsLite. Cloud-tjenester abstraherer ofte kompleks driftsarkitektur på en måde, der gør denne arkitektur mere venlig overfor udviklere og giver dem mulighed for at tage mere ejerskab af deres komponenter.

Hvis du nogensinde har gnurret over, at udviklere skal inkluderes i en on-call-rotation, har du ret - de burde være det. At inkludere udviklere i on-call-rotationen er en fantastisk måde at forbedre deres viden om implementering af kode samt styre og forsyne infrastrukturen, som deres tjenester kører på. Dette reducerer driftsomkostninger og frigør tid for driftsspecialister til at arbejde med proaktive løsninger.

Læring gennem DevOps-adoption

Hvis dit team er i stand til at vedtage DevOps og skifte mod at bruge cloud computing på samme tid, kan du bruge disse skift som læringsmuligheder for både udviklere og driftsfolk.

Mens dit team skifter til skyen, har udviklere muligheden for at gøre operationelle specialister bekendt med kode - måske endda specifikke sprog - og kildekontrol, og driftsfolk kan lære udviklere om infrastruktur. Når begge grupper er både eksperterne og de nybegynder, er ingen af ​​grupperne nødt til at tackle meget af en egoskadelig overførsel af viden.

Den tillid, rapport og den sunde dynamik, der fremkommer ved disse interaktioner, vil galvanisere dit team og vare meget længere, end det øjeblikkelige arbejde tog. På mange måder forstærker du din DevOps-kultur gennem værktøj til din DevOps-praksis.

Få fordel af sky-tjenester i dit DevOps-initiativ

Moderne operationer ændrer sig og udvikler sig. Dine konkurrenter vedtager allerede nye måder at innovere hurtigere og fremskynde deres leveringscykler for softwarelevering.

Cloud computing repræsenterer et stort skift fra den traditionelle måde, hvorpå virksomheder tænker på it-ressourcer. Ved at outsourcere meget af din infrastruktur og driftskrav til en skyudbyder, reducerer du overhead og frigør dit team til at fokusere på at levere bedre software til dine brugere.

Her er seks almindelige grunde til, at organisationer henvender sig til cloud computing-tjenester:

  • Forbedring af overkommeligheden. Cloududbydere giver dig kun mulighed for at vælge de tjenester, du har brug for, når du har brug for dem. Forestil dig, om du kunne få adgang til kabel-tv, men kun betale for de kanaler, du ser. Du ville elske det, ikke? De fleste DevOps-teammedlemmer ville! Cloududbydere gør netop det, mens de også giver dig den mest opdaterede computerhardware, der er placeret i fysisk sikre datacentre. Automatisering af implementeringer. Ændringer i systemet - implementeringer - er de mest almindelige bidragydere til driftsstop eller serviceforstyrrelser. Cloududbydere laver frigivelseskode til en automatisk, gentagelig proces, hvilket markant mindsker sandsynligheden for at begå fejl i manuelle udgivelser og indføre fejl. Automatiske implementeringer gør det også muligt for udviklere at frigive deres egen kode. I sidste ende forenkler automatiserede implementeringer processen, samtidig med at webstedets nedetid reduceres og reaktionær triaging i produktionen. Fremskyndelse af levering. Skyen reducerer friktion langs næsten alle faser i softwareleveringens livscyklus. Selvom opsætning er påkrævet, tager det ofte ikke mere end det dobbelte af den tid, der kræves for at udføre processen manuelt, og du er nødt til at konfigurere en service eller proces kun én gang. Accelereret levering giver dig masser af fleksibiliteter. Øget sikkerhed. Cloududbydere udgør sikkerhed som en del af deres tilbud. Microsoft Azure, Amazon web Services (AWS) og Google Cloud Platform (GCP) opfylder forskellige overholdelsesstandarder og leverer politikker, tjenester og kontroller, der hjælper dig med at styrke dit systems sikkerhed. Derudover, hvis du bruger et installationspipeline-værktøj i skyen, kan du tilføje sikkerhedskontrol, før ny kode frigives til et miljø, hvorved muligheden for sikkerhedssårbarheder reduceres. Faldende fiasko. Gennem skybuilding og frigivelse af rørledninger er dit team i stand til at oprette automatiske test for at bekræfte funktionalitet, kodekvalitet, sikkerhed og overholdelse af enhver kode, der er introduceret i dine systemer. Denne kapacitet mindsker muligheden for fejl, samtidig med at den reducerer risikoen for problematiske implementeringer. Bygge mere elastiske og skalerbare systemer. Skyen giver organisationer mulighed for at opskalere, skalere ud og øge kapaciteten inden for få sekunder. Denne elastiske skalering muliggør spinning af computere og opbevaringsressourcer efter behov, uanset hvor i verden dine brugere interagerer med dit produkt. Denne fremgangsmåde giver dig mulighed for bedre at betjene dine kunder og mere effektivt administrere infrastrukturomkostninger.

DevOps-fremgangsmåden handler om at skabe en cyklisk metode, hvor du drager fordel af og lærer af processen, hver gang du går igennem den.

  1. BusinessOperations ManagementTips til forbedring af tekniske ydelser med DevOps

Af Emily Freeman

Forbedring af teknisk ydeevne som en del af DevOps-processen kan have store konsekvenser for hele virksomheden. Effektivisering af udviklingslivscyklussen og fjernelse af flaskehalse vil tjene til at fremskynde virksomhedens samlede præstation - i sidste ende øge bundlinjen. Og hvis du som DevOps-ingeniør mener, at du ikke behøver at være interesseret i forretningspræstationen, har du fejl.

I henhold til DevOps Research and Assessment (DORA) overgår højtydende DevOps-hold konsekvent deres konkurrenter på fire nøgleområder:

  • Distributionsfrekvens: Dette udtryk henviser til, hvor ofte dine ingeniører kan indsætte kode. Forbedring af ydeevnen justeres med anvendelse af flere gange om dagen efter ønske. Ledetid: Ledetid er, hvor lang tid du tager at gå fra at indgive en ny kode til at køre den kode i et produktionsmiljø. Ifølge DORA har de højeste kunstnere en ledetid på under en time, mens gennemsnitlige kunstnere har brug for op til en måned. MTTR (gennemsnitlig tid til gendannelse): MTTR refererer til, hvor lang tid du tager for at gendanne en service efter en hændelse eller strømafbrydelse. Ideelt set ønsker du at sigte mod under en time. Et strømafbrydelse koster alvorlige penge, især når det påvirker profitcentre i applikationen. Lange afbrydelser ødelægger tillid, mindsker moral og indebærer yderligere organisatoriske udfordringer. Ændringsfejl: Dette udtryk henviser til den hastighed, hvormed ændringer til dit system påvirker ydeevnen negativt. Selvom du aldrig vil nå en ændringsfejlrate på nul procent, kan du absolut nærme dig nul ved at øge dine automatiske test og stole på en installationsinstallation med kontinuerlig integrationskontrol og porte - som alle sikrer kvalitet.

Fjernelse af perfektion som et mål for DevOps succes

DevOps er afhængig af mantraet ”Udført er bedre end perfekt.” Det ser ud til at være et af disse citater, der er umulige at attributter, men ordene taler ikke desto mindre sandhed. Forsøg på at opnå perfektion er en fjende af effektivitet og produktivitet.

De fleste ingeniører, inklusive dem af DevOps-sorten, lider af en eller anden version af analyse-lammelse - en mental lidelse, der begrænser din produktivitet i et forsøg på at overanalisere dit arbejde og undgå enhver mulig uheld.

Træning ufuldkommenhed i dit arbejde kræver, at du omfavner muligheden for fiasko og uundgåeligheden af ​​refactoring. Oprettelse af feedback-løkker rundt om kunden og looping tilbage til forskellige faser i rørledningen er primære lejere af DevOps. I DevOps forbinder du enderne for at bøje linjen i en cirkel.

Når du tænker iterativt og cirkulært, er det meget mindre skræmmende at skubbe kode, der ikke er perfekt ud, fordi koden ikke er udskåret i sten. I stedet er det i en midlertidig tilstand, at DevOps-ingeniører ofte forbedrer sig, når du samler flere data og feedback.

Designe små teams til DevOps

Du har sandsynligvis hørt om Amazons “to-pizza” -hold. Konceptet taler bredt om betydningen af ​​små teams. Nu, det nøjagtige antal mennesker, der består af et to-pizzateam, varierer afhængigt af dine appetit.

Det er en god ide at holde hold under 12 personer. Når en gruppe nærmer sig 9, 10 eller 11 personer, kan du prøve at opdele den i to. Det søde sted for gruppestørrelse er omkring 4-6 personer. Dit nøjagtige antal kan variere afhængigt af de involverede mennesker, men pointen er dette: Når grupper bliver for store, bliver kommunikation udfordrende, kliske dannes, og teamarbejdet lider.

Her er et andet bonusmål, når du danner DevOps-hold: lige antal. Det er en god ide at give folk en "kompis" på arbejdspladsen - nogen, de kan stole på over alle andre. I grupper med lige numre har alle en ven, og ingen er ude. Du kan parre jævnt fra hinanden, og det har en tendens til at fungere godt. Dannelse af lige numre grupper er ikke altid opnåelig på grund af personaltal, men det er noget at huske på.

En formel til måling af kommunikationskanaler er n (n - 1) / 2, hvor n repræsenterer antallet af mennesker. Du kan estimere, hvor kompliceret dit teams kommunikation vil være ved at foretage en simpel beregning. For eksempel ville formlen for et to-pizzateam på 10 være 10 (10 - 1) / 2 = 45 kommunikationskanaler. Du kan forestille dig, hvordan komplekse større teams kan blive.

Sporing af dit DevOps-arbejde

Hvis du kan komme over det lille overhead med at fortælle, hvad du gør hver dag, giver resultaterne dig enestående værdi. At have ægte data om, hvordan du bruger din tid, hjælper dig med at spore dig og dit teams effektivitet. Som Peter Drucker berømt sagde: "Hvis du ikke kan måle det, kan du ikke forbedre det."

Hvor mange dage forlader du arbejde, og følelsen af ​​at du ikke gjorde noget? Du har lige haft møde efter møde eller tilfældige afbrydelser hele dagen. Du er ikke alene. Mange arbejdstagere har det samme problem. Det kan være vanskeligt at spore dine fremskridt og derfor din produktivitet. Forskellen mellem vores følelser af effektivitet og virkeligheden af ​​vores effektivitet er farligt område for ethvert DevOps-team.

Prøv at bruge pen og papir i stedet for et automatiseret værktøj til dette. Ja, du kan bruge software til at spore, hvordan du bruger din tid på din computer. Det kan fortælle dig, når du læser e-mail, hvornår du slapper, og når du koder, men det mangler nuance og ofte går glip af eller forkert kategoriserer store tidstykker.

Når du har en idé om, hvad du laver, og hvornår du kan begynde at identificere, hvilke aktiviteter der falder ind under hvilke kvadranter i Eisenhower Decision Matrix. Hvilket travlt arbejde laver du rutinemæssigt og giver ingen værdi for dig eller organisationen?

Reduktion af friktion i DevOps-projekter

En af de bedste ting, en manager kan gøre for et DevOps-teknikerteam, er at lade dem være i fred. Ansæt nysgerrige ingeniører, der er i stand til at løse problemer uafhængigt og derefter lade dem gøre deres job. Jo mere du kan reducere den friktion, der bremser deres tekniske arbejde, desto mere effektivt bliver dit team.

Reduktion af friktion inkluderer den friktion, der findes mellem holdene - især operationer og udvikling. Glem ikke specialister som sikkerhed.

Tilpasning af mål og incitamenter øger hastigheden. Hvis alle er fokuseret på at nå de samme ting, kan de gå sammen som et team og bevæge sig metodisk mod disse mål.

Humanisering af alarmering for DevOps succes

Hvert ingeniørteam har advarsler om handlinger eller begivenheder, der ikke betyder noget. Når du har alle disse alarmer, føles ingeniørerne følsomme over for de virkelig vigtige alarmer. Mange ingeniører er blevet betinget af at ignorere e-mail-advarsler på grund af en overflod af meddelelser.

Alert træthed skader mange ingeniørorganisationer og koster høje omkostninger. Hvis du bliver oversvømmet hver dag, er det umuligt at vælge det vigtige fra et hav af det uvæsentlige. Du kan endda sige, at disse meddelelser er presserende, men ikke vigtige. . . .

E-mail er ikke et ideelt køretøj til alarmering, fordi det ikke er tidssensitivt (mange mennesker tjekker e-mail kun et par gange om dagen), og det er let at blive begravet i andre detaljer.

Anvend det, du har lært om hurtig iteration, og evaluer regelmæssigt dine alarmeringstærskler for at sikre en passende dækningsgrad uden for mange falske positiver. Det tager tid og arbejde at identificere hvilke advarsler, der ikke er nødvendige. Og det vil sandsynligvis være lidt skræmmende, ikke? Sletning af en advarsel eller forøgelse af en tærskel medfører altid en smule risiko.

Hvad hvis advarslen faktisk er vigtig? Hvis det er tilfældet, finder du ud af det. Husk, at du ikke kan frygte fiasko i en DevOps-organisation. Du skal omfavne det, så du kan skubbe fremad og konstant forbedre. Hvis du lader frygt styre dine beslutninger, stagnerer du - som ingeniør og som organisation.

  1. BusinessOperations ManagementHvordan dannes DevOps-teams i din organisation

Af Emily Freeman

DevOps har ingen ideel organisationsstruktur. Ligesom alt inden for tech, afhænger det "rigtige" svar vedrørende din virksomheds struktur af din unikke situation: dit nuværende team, dine planer for vækst, dit teams størrelse, dit teams tilgængelige færdigheder, dit produkt og til og med.

Tilpasning af dit DevOps-teams vision skal være din første mission. Først efter at du har fjernet den lavthængende frugt af åbenlyst friktion mellem mennesker, skal du begynde at omarrangere hold. Tillad dig endda en vis fleksibilitet.

Hvis du nærmer dig en omorganisering med åbenhed og fleksibilitet, sender du beskeden, at du er villig til at lytte og give dit team autonomi - et grundlæggende princip for DevOps.

Du har muligvis allerede en Python- eller Go-udvikler, der er lidenskabelig og nysgerrig omkring infrastruktur og konfigurationsstyring. Måske kan denne person skifte til en mere ops-fokuseret rolle i din nye organisation. Sæt dig selv i den persons sko. Ville du ikke være loyal over for en organisation, der tog en risiko for dig? Ville du ikke være begejstret for at arbejde hårdt? Og den spænding er smitsom.

Her lærer du, hvordan du justerer de hold, du allerede har, på plads, dedikerer et team til DevOps-praksis og skaber tværfunktionelle teams - alle tilgange, hvorfra du kan vælge at orientere dine hold mod DevOps.

Du kan vælge en tilgang og lade den udvikle sig derfra. Må ikke føle, at denne beslutning er permanent og ubevægelig. DevOps fokuserer på hurtig iteration og kontinuerlig forbedring, og det er den største fordel ved denne metode. Denne filosofi gælder også for hold.

Tilpasning af funktionelle teams til DevOps

I denne tilgang skaber du et stærkt samarbejde mellem dine traditionelle udviklings- og operationsteams. Holdene forbliver funktionelle i naturen - et fokuseret på ops, et fokuseret på kode. Men deres incitamenter er på linje. De vil vokse til at stole på hinanden og arbejde, som to teams skrædder sammen.

For mindre ingeniørorganisationer er tilpasning af funktionelle teams et solidt valg. Selv som et første skridt kan denne justering styrke de positive ændringer, du har foretaget indtil videre. Du starter typisk justeringen ved at tage dig tid til at opbygge rapport. Sørg for, at hver person på begge hold ikke kun intellektuelt forstår det andet holds rolle og begrænsninger, men også empati med smertepunkterne.

Til denne tilgang er det en god ide at promovere en politik om "Du bygger den, du støtter den." Denne politik betyder, at alle - både udvikler og driftsperson - deltager i din rotation på telefon.

Denne deltagelse giver udviklere mulighed for at begynde at forstå frustrationerne ved at blive kaldt midt på natten og kæmpe, mens de er tågeede og koffeinberøvet til at løse en fejl, der påvirker kunderne. Operationsfolk begynder også at stole på dine udviklere 'engagement i deres arbejde. Selv denne lille ændring bygger en ekstraordinær mængde tillid.

Et forsigtighedsord: Hvis udviklere kæmper hårdt mod at være på vagt, er der et større problem i din organisation. Pushback er ikke ualmindeligt, fordi at være på vagt er meget forskelligt fra deres normale daglige ansvar. Pushback kommer ofte fra et sted med ubehag og frygt. Du kan hjælpe med at afbøde denne reaktion ved at tage fat på det faktum, at dine udviklere muligvis ikke ved, hvad de skal gøre de første par gange, de er på telefon.

De er muligvis ikke bekendt med infrastrukturen, og det er okay. Opmuntr dem til at eskalere hændelsen og søge nogen med mere erfaring. Til sidst oprette en runbook med almindelige alarmer og hvilke handlinger der skal tages. Tilvejebringelse af denne ressource vil hjælpe med at dæmpe nogle frygt, indtil de begynder at få fat på tingene.

En anden taktik til at hjælpe med at anspore til samarbejde om at danne et mere sammenhængende DevOps-team er at introducere en dag med skygge, hvor hvert team ”handler” med en kollega. Den handlede person skygger blot en anden på holdet, sidder ved deres skrivebord (eller i deres område) og hjælper med deres daglige ansvar. De kan hjælpe med arbejde, diskutere problemer som et team (parprogrammering) og lære mere om systemet fra et andet synspunkt. Denne undervisningstilstand er ikke ordinerende.

I stedet egner det sig til nysgerrighed og opbygning af tillid. Kolleger bør være velkomne til at stille spørgsmål - også den "dumme" sort - og lære frit. Der er ingen forventninger til præstationer. Tiden skal bruges ved blot at lære hinanden at kende og værdsætte hinandens arbejde. Enhver produktiv produktion er en bonus!

I denne tilpasningstilgang skal begge teams absolut være involveret i planlægning, arkitektur og udviklingsprocesser. De skal dele ansvar og ansvarlighed gennem hele udviklingslivscyklussen.

Dedikere et DevOps-team

Et dedikeret DevOps-team er mere en udvikling af Sys Admin end et ægte DevOps-team. Det er et operationsteam med en blanding af færdighedsæt. Måske er nogle ingeniører kendte med konfigurationsstyring, andre IaC (infrastruktur som kode) og måske andre er eksperter i containere eller cloud native infrastruktur eller CI / CD (kontinuerlig integration og kontinuerlig levering / udvikling).

Hvis du synes, at det er nok at sætte en gruppe mennesker i et officielt hold til at nedbryde siloer, tager du fejl. Mennesker er mere komplekse end regneark. Hierarki betyder ikke noget, hvis dine siloer er gået ind i en fase, hvor de er usunde og stammelige. I giftige kulturer kan en stærk lederstil dukke op, som næsten altid følges af folk, der tager sider. Hvis du ser dette på dit eget team, har du arbejde at gøre.

Selvom enhver tilgang kan fungere for dit team, er denne dedikerede teamtilgang den, du skal tænke mest igennem. Den største ulempe ved et dedikeret DevOps-team er, at det let bliver en fortsættelse af traditionelle ingeniørteam uden at erkende behovet for at justere hold, reducere siloer og fjerne friktion. Risikoen for fortsat friktion (eller skabe mere) er høj i denne tilgang. Træd omhyggeligt for at sikre, at du vælger denne teamorganisation af en bestemt grund.

Fordelene ved denne DevOps-tilgang er at have et dedikeret team til at tackle store infrastrukturændringer eller justeringer. Hvis du kæmper med driftsorienterede problemer, der bremser dine implementeringer eller forårsager bekymringer for webstedspålidelighed, kan dette være en god tilgang - selv midlertidigt.

Et dedikeret team, hvis du planlægger at flytte en ældre applikation til skyen. Men snarere end at kalde dette team et DevOps-team, kan du prøve at mærke det som et automatiseringsteam.

Denne dedikerede gruppe af ingeniører kan fokusere fuldstændigt på at sikre, at du har konfigureret de korrekte infrastruktur- og automatiseringsværktøjer. Du kan derefter fortsætte med tillid til, at din ansøgning lander i skyen uden større forstyrrelser. Denne tilgang er stadig midlertidig. Hvis du holder teamet isoleret for længe, ​​risikerer du at gå ned ad en glat hældning fra hurtig vækst til indlejret silo.

Oprettelse af tværfunktionelle produktteam til DevOps

Et tværfunktionelt team er et team dannet omkring et enkelt produktfokus. I stedet for at have separate teams til udvikling, brugergrænseflade og brugeroplevelse (UI / UX), kvalitetssikring (QA) og operationer, kombinerer du mennesker fra hvert af disse teams.

Et tværfunktionelt team fungerer bedst i mellemstore til store organisationer. Du har brug for nok udviklere og driftsfolk til at udfylde positionerne for hvert produkthold. Hvert tværfunktionelt team ser lidt anderledes ud.

Det er en god ide at have mindst en driftsperson pr. Team. Bed ikke en driftsperson om at opdele sit ansvar mellem to hold. Dette scenarie er urimeligt over for dem og skaber hurtigt friktion mellem de to produktteams. Giv dine ingeniører privilegiet at være i stand til at fokusere og grave dybt ned i deres arbejde.

Hvis din organisation stadig er lille eller i opstartfasen, kan du tænke på hele din ingeniørorganisation som et tværfunktionelt team. Hold det lille og fokuseret. Når du begynder at henvende dig til at have 10-12 personer, skal du begynde at tænke på, hvordan du kan omorganisere ingeniører.

Billedet herunder viser, hvordan dine tværfunktionelle teams kunne se ud. Men husk, at deres sammensætning varierer fra team til team og fra organisation til organisation. Nogle produkter har et stærkt designfokus, hvilket betyder, at du muligvis har flere designere i hvert team. Andre produkter er tekniske produkter designet til ingeniører, der ikke er meget interesseret i æstetik. Hold til den slags produkt har muligvis en designer - eller slet ingen.

DevOps produktteam

Hvis din organisation er stor nok, kan du helt sikkert oprette flere teams ved hjælp af forskellige DevOps-ideer og tilgange. Husk, at din organisation er unik. Føl dig bemyndiget til at tage beslutninger baseret på dine nuværende omstændigheder og justere derfra. Her er nogle mulige kombinationer af forskellige typer produkthold.

  • Legacy Product Team: Project Manager (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 tværfunktionelt produktteam er, at ingeniører mister kameraderiet for ingeniører med deres samme kvalifikationssæt og lidenskaber. Det er et vigtigt aspekt af jobtilfredshed at have en gruppe ligesindede personer, som du kan socialisere dig med, og som du kan lære af. Tjek en løsning på dette problem nedenfor.

Som vist nedenfor kan du give dine ingeniører dedikeret arbejdstid til at tilbringe med deres stammer. Du kan gøre noget så generøst som at betale for frokost en gang hver uge, så de kan mødes og tale. Eller du giver måske 10-20 procent af arbejdstiden til dem at arbejde på projekter som en stamme. Uanset hvad, har du brug for dine ingeniører for at forblive skarpe.

Stammer deler branchekendskab, giver god feedback og understøtter vækst i karrieren. Giv tid til dine ingeniører at lære af mennesker, som de deler uddannelse, erfaring og mål med. Denne tid giver et sikkert sted, hvor de kan slappe af og føle sig hjemme.

DevOps stammer

Intet beløb af perfekt finagling vil overvinde underskuddene ved en dårlig organisationskultur. Men hvis du hidtil har været opmærksom og gjort de rette skridt, er det næste skridt at danne teams, der styrker de kulturelle idealer, du allerede har sat på plads.

  1. BusinessOperations Management Flytning til DevOps-processer: Fra en linje til en kredsløb

Af Emily Freeman

DevOps-fremgangsmåden involverer en cyklus i modsætning til en linje. Det giver mulighed for kontinuerlig integration og kontinuerlig levering, hvilket giver konstant feedback gennem hele processen. DevOps-metodikken er kun et eksempel på, hvordan processer har udviklet sig.

Udviklingsprocesser har ændret sig radikalt i de sidste par årtier og med god grund. I 1960'erne ledede Margaret Hamilton ingeniørteamet, der udviklede softwaren til Apollo 11-missionen. Du lancerer ikke iterativt mennesker i rummet - i det mindste gjorde de det ikke i 1960'erne. Det er ikke et softwareområde, hvor "fejle hurtigt" føles som en særlig god tilgang. Liv er på banen, for ikke at nævne millioner af dollars.

Hamilton og hendes kammerater måtte udvikle software ved hjælp af vandfaldsmetodikken. Billedet herunder viser et eksempel på en vandfaldsudviklingsproces (der forekommer i en lige linje).

vandfaldsproces

Følgende billede tilføjer faser. Bemærk, hvordan pilene går i en retning. De viser en klar begyndelse og en klar afslutning. Når du er færdig, er du færdig. Ret?

Nix. Så meget som mange mennesker gerne vil gå væk fra dele af deres codebases for evigt (eller dræbe dem med ild), de får normalt ikke privilegiet.

Softwaren, der er udviklet af Hamilton og hendes team, var en vild succes (det er sjældent at tænke, at de udviklede sig i forsamlingen med nulhjælpere som fejlmeddelelser). Ikke alle projekter var dog lige så vellykkede.

Senere, hvor vandfaldet mislykkedes, lykkedes det Agile. (DevOps blev født ud af Agile-bevægelsen.) Agile søger at tage den rette linje af vandfald og bøje den i en cirkel og skabe et uendeligt kredsløb, gennem hvilket dit teknikhold kan iterativt og kontinuerligt forbedre sig.

vandfalds udviklingsrørledning

Billedet herunder viser, hvordan man tænker på den cirkulære udviklingslivscyklus.

DevOps kredsløb

Ofte påvirkes de forskellige sløjfer, der er ordineret af forskellige organisationer, af de produkter, som sælgerne sælger. For eksempel, hvis sælgeren sælger infrastruktursoftware og værktøj, fremhæver de sandsynligvis den del af udviklingslivscyklussen, måske med det mest fokus på at implementere, overvåge og understøtte din software.

Der er intet til salg her. De faser, der er fokuseret på her, er de mest kritiske for udviklere sammen med dem, som folk kæmper mest med, når de lærer at bedre styre deres softwareudvikling og vedtage DevOps.

De fem faser i softwareudviklingslivscyklussen er

  • Planlægning: Planlægningsfasen af ​​din DevOps-udviklingsproces er måske den mest nøgle til din DevOps-mission. Det sætter dig op til succes eller fiasko nede ad vejen. Det er også den mest frugtbare tid at samle alle sammen. For alle betyder dette forretningsinteressenter, salg og marketing, engineering, produkt og andre. Design: I de fleste virksomheder flettes designfasen til kodningsfasen. Dette uhyrlige sammensmeltning af design og kode tillader ikke en adskillelse af den arkitektoniske strategi fra implementeringen. Hvis du imidlertid overlader ting som databasedesign, API-logistik og valg af vigtige infrastrukturer til slutningen af ​​udviklingspipelinjen - eller måske værre til de enkelte udviklere, der arbejder med separate funktioner - finder du hurtigt, at din codebase er som tavs som dit tekniske team. Kodning: Den faktiske udvikling af funktioner er ansigtet til DevOps-processen og får al den herlighed. Men dette er et af de mindst vigtige trin i din udviklingslivscyklus. På mange måder er det simpelthen udførelsen af ​​de foregående områder af din rørledning. Hvis det gøres godt, skal kodning være en relativt enkel og ligefrem proces.

Hvis du nu er en udvikler og bare gispet efter den sidste sætning, fordi du har behandlet hundreder af tilfældige og vanskelige at løse fejl, er det let at forstå, hvordan du har det. Kodning er hårdt. Intet om softwareudvikling er let. Men ved at mestre planlægningen, designen og arkitekturen (og adskille dem fra den faktiske implementering af kode) sikrer du, at de sværeste beslutninger inden for softwareudvikling abstraheres.

  • Test: Testning er et område på din pipeline, hvor ingeniører fra alle ekspertiseområder kan dykke ind og blive involveret, hvilket muliggør en unik mulighed for at lære om testning, vedligeholdelighed og sikkerhed. Der er mange De seks stadier i softwareudviklingslivet forskellige typer test for at sikre, at din software fungerer som forventet. Deployering: Deployering er det trin, der måske er den mest tæt forbundet med operationer. Traditionelt vil dit operationsteam tage koden udviklet af dine udviklere og testet af dit kvalitetssikringsteam (QA) og derefter frigive den til kunderne - hvilket gør dem alene ansvarlige for frigørelsesprocessen. DevOps har haft en enorm indflydelse i denne fase af udviklingsprocessen. Desuden er implementering et af de områder, hvorfra de mest automatiseringsværktøjer kan trækkes fra. Fra et DevOps-perspektiv er din prioritering at forenkle installationsprocessen, så enhver ingeniør i dit team er i stand til at implementere deres kode. Det betyder ikke, at operationer ikke har unik viden, eller at operationsteam kan opløses.

Operationsfolk vil altid have unik viden om infrastruktur, belastningsbalancering og lignende. Når du fjerner den manuelle opgave med at distribuere software fra dit operationsteam, kan de faktisk spare dig tid og penge andre steder. De har tid til at arbejde på at forbedre din applikations pålidelighed og vedligeholdelighed.

Det vigtigste aspekt af en leveringslivscyklus inden for DevOps-rammen er, at det er en ægte løkke. Når du kommer til slutningen, går du tilbage til begyndelsen. Hvis du modtager supportfeedback fra kunder på ethvert tidspunkt undervejs, skal du gå tilbage til en efterfølgende fase (eller planlægningsfasen), så du kan udvikle software på en måde, der bedst betjener dine kunder.

Den første del af bygningen af ​​en rørledning er at behandle den lineært. Du bygger en lige linje med faste trin og kontrolpunkter undervejs. Inden for disse rammer kan du se livscyklussen til softwareudvikling som noget, du starter og noget, du er færdig med. Vandfaldelskere ville være stolte.

Men virkeligheden lader dig ikke arbejde i en lige linje. Du kan ikke bare begynde at fremstille kode, afslutte og gå væk. I stedet er du tvunget til at bygge videre på den grundlæggende software, du har frigivet på din første iterative loop, og forbedre den gennem den anden cyklus. Og så videre og så videre. Processen slutter aldrig, og du stopper aldrig med at forbedre.

DevOps-processen hjælper dig med at forbinde starten og slutningen af ​​den lige rørledning, så du begynder at forstå det som et helt kredsløb eller loop, så du kontinuerligt kan udvikle og forbedre.

  1. BusinessOperations ManagementInterview-teknikker til opbygning af et DevOps-team: Få de rette tekniske færdigheder

Af Emily Freeman

Det kan være vanskeligt at vurdere kandidater til det rette skillset, når man ansætter til DevOps-job… men ikke umuligt. Med lidt kreativitet og vilje til at træde uden for kassen kan du bruge interviewteknikker til at hjælpe med at finde kandidater med de rigtige tekniske færdigheder til dine DevOps-initiativer.

DevOps-interviews

Alderen med stumpe gåder og svedfremkaldende whiteboard-interviews aftager - og med god grund. Hvis en tavleinterview lettes af en ingeniør, der interesserer sig mere for at narre kandidaten, end de gør ved at diskutere en teknisk samtale, vil du komme intet hurtigt.

Whiteboarding-interviews har taget meget varme for nylig for at sætte underrepræsenterede og marginaliserede grupper - der inkluderer kvinder og mennesker i farve - til en ulempe. I denne tidsalder er det absolut vigtigt for tech-virksomheder at ansætte forskellige arbejdsstyrker, så denne situation er uacceptabel. Du skal dog på en eller anden måde måle en persons tekniske evne.

Hvad er svaret? Nå, den gode nyhed er, at du har muligheder. (Den dårlige nyhed er ... du har muligheder.)

Hvordan du ansætter vil afgøre, hvem du er.

Gennemgå tavleintervjuet for DevOps jobkandidater

Tavleintervjuet var aldrig beregnet til at være, hvad det er blevet. I et whiteboard-interview fik DevOps-kandidaten et computerprogram, der blev trykt på otte ark papir. Instruktionerne? “Debug programmet.” Umm. . . undskyld mig?

Tavleintervjuet er blevet en situation, hvor du giver en kandidat et tilsyneladende umuligt problem, sender dem op til bestyrelsen med en markør og ser dem sved voldsomt, mens fire eller fem personer observerer deres panik. Denne type interview giver ingen kvalitetsoplysninger om, hvorvidt hverken arbejdsgiveren eller den interviewede passer godt til den anden part.

Selvom andre har opfordret til fjernelse af whiteboard-interviewet, er her et mere nuanceret forslag: Ændr det, så det passer til dine DevOps-behov. Gør det til en diskussion mellem to personer om et stykke kode eller et bestemt problem. Gør ikke problemet til noget vanvittigt, såsom at afbalancere et binært søgetræ. Medmindre det job, du interviewer til, bogstaveligt talt skriver kode i forsamlingen, behøver du ikke at evaluere kandidatens evne til at skrive forsamling.

Vær opmærksom på det DevOps-job, du leder efter at udfylde, de krævede kompetencesæt og den bedste måde at måle disse færdigheder i en kandidat. Lad en enkelt ingeniør i dit team sætte sig sammen med kandidaten og tale om problemet. Hvordan ville du starte samtalen? Hvilke problemer støder du på undervejs? Hvordan vil I begge tilpasse dine løsninger til de udfordringer, du støder på?

Denne konversationsmetode opnår to ting for DevOps-jobkandidater:

  • Det reducerer panik. De fleste mennesker tænker ikke godt under pres. Derudover gør du ikke dit job hver dag, mens nogen stirrer over din skulder og kritiserer enhver skrivefejl eller fejl. Du ville afslutte dette job på et øjeblik. Så ikke tving folk til at interviewe på den måde. Giv i stedet dine kandidater chancen for at vise, hvad de kan gøre. Du får indblik i, hvordan de tænker og kommunikerer. Det efterligner det virkelige arbejde. Samtaleintervjuet giver dig en idé om, hvordan det ville være at arbejde med denne person. Du løser ikke hårde problemer på arbejdet ved at se hinanden kæmpe. (I det mindste skal du ikke. Virkelig. Det er ikke meget samarbejdende eller DevOps-y, hvilket overlader dine kolleger til at lide i deres silo.) I stedet arbejder du sammen, handler ideer, tænker ting igennem, begår fejl, kommer dig og finder en løsning - sammen.

De bedste whiteboard-interviews er samarbejde, kommunikative og centreret omkring nysgerrighed - alle de ting, som praktikere elsker om DevOps.

Tilby hjemtest til DevOps jobkandidater

Et alternativ til en mere traditionel tavleinterview er hjemme-testen. Denne type test er især venlig til mennesker, der har nogen form for angst eller usynlig handicap, der påvirker deres evne til at deltage i et whiteboard-interview. Denne stil af interview er også venlig for ingeniører, der kæmper intenst med imposter-syndrom.

Imposter-syndrom beskriver højpresterende individer, der kæmper for at internalisere deres succeser og oplever en vedvarende følelse af at blive udsat for et svig.

En hjemtest består af en eller anden type problem, som en DevOps-kandidat kan løse derhjemme på deres egen tid. Hjemme-test er ofte oprettet som en testsuite, som kandidaten skal skrive kode for at få prøverne til at bestå.

Alternativt kan problemet være noget relativt lille, såsom "Opret et program på [dit sprog, du vælger], der indtaster og vender tegnene." Valgmulighederne er uendelige, og du kan skræddersy testen til din teknologiske stak som du finder passende.

Du kan endda bede DevOps jobkandidater om at implementere deres applikation. Sørg for, at du tillader kandidater at bruge open source-værktøjer eller give dem de nødvendige abonnementer til at bruge bestemte teknologier.

Den største ulempe ved hjemme-test er, at du beder folk om at tage sig tid i løbet af deres aftener eller weekender til at gøre det, der i det væsentlige er gratis arbejde. Selv hvis du betaler dem for deres arbejde med hjemme-testen, kan denne stil af samtale uretfærdig påvirke en DevOps-kandidat, der har andet ansvar uden for arbejdet, herunder pleje af børn, en partner eller syge forældre.

Ikke enhver stor ingeniør har ubegrænset tid til at forpligte sig til deres håndværk. Men hvis du begrænser din DevOps-kandidatpulje til folk, der har råd til at dedikere 5-10 timer til en hjemme-test, finder du hurtigt, at dit team bliver homogent og stillestående.

Gennemgå kode med DevOps jobkandidater

Én interviewteknologi, der virkelig kan fortælle, er, når du sætter dig sammen med en ingeniør eller en gruppe ingeniører for at løse rigtige fejl i rigtig kode sammen. Du kan tage et par tilgange til en realtids kodeinterview.

Du kan efterligne en hjemme-test og give kandidaten en times tid til at oprette et program eller skrive en funktion for at få en serie prøver bestået. Du kan også iscenesætte interviewet som en kodegennemgang, hvor du trækker en faktisk PR og grave i, hvad koden gør, samt hvad der kan forbedres.

På mange måder kombinerer parprogrammeringens karakter af en kodevurdering de bedste dele af både et tavleinterview og en hjemme-test - men uden nogle af deres største ulemper.

Parprogrammering er en teknisk praksis, hvor to ingeniører sætter sig ned og arbejder gennem et problem sammen. En person “driver” typisk ved at eje tastaturet, men de beslutter i samarbejde, hvilken fremgangsmåde der er bedst, hvilken kode de skal tilføje, og hvad de skal fjerne.

Hvis DevOps-positionen involverer en driftsfokuseret rolle, er det at bruge denne realtids kodningstilgang endnu bedre. Selvom mange ops-folk lærer at implementere infrastruktur som kode eller administrere konfigurationer, har de ikke den samme oplevelse som udviklere.

At gennemgå, hvad noget gør, og hvordan det kan fungere, er en fantastisk måde at bekræfte, at kandidaten har erfaring med listen over værktøjer og teknologier på deres cv, samt sikre, at kandidaten kan kommunikere med et team.

At opbygge dit DevOps-team er en individuel forfølgelse. Dit DevOps-team behøver ikke at matche andre, du har set. Evaluer dine mål, og vælg den rigtige kandidat til hvert DevOps-job.

  1. ForretningsOperations Management Kontinuerlig integration og kontinuerlig levering: Implementering og fordel af CI / CD

Af Emily Freeman

Væksten af ​​DevOps-kultur har ændret den måde, udviklere bygger og sender software på. Før Agile-tankegangen opstod, fik udviklingshold tildelt en funktion, bygget den og derefter glemt det. De kastede koden over til QA-teamet, som derefter kastede den tilbage på grund af fejl eller flyttede den videre til operationsteamet. Operations var ansvarlig for at implementere og vedligeholde koden i produktionen.

Denne proces var mildest talt klodset, og den forårsagede en hel del konflikter. Fordi hold eksisterede i siloer, havde de ringe eller ingen indsigt i, hvordan andre hold fungerede, herunder deres processer og motiveringer.

CI / CD, der står for kontinuerlig integration og kontinuerlig levering (eller implementering), sigter mod at nedbryde de vægge, der historisk har eksisteret mellem teams, og i stedet indføre en jævnere udviklingsproces.

Fordele ved kontinuerlig integration og kontinuerlig levering

CI / CD giver mange fordele. Processen med at opbygge en CI / CD-rørledning kan imidlertid være tidskrævende, plus det kræver buy-in fra teamet og ledelsen.

Nogle fordele ved CI / CD inkluderer:

  • Grundig automatiseret test: Selv den mest enkle implementering af CI / CD kræver en robust testsuite, der kan køres mod koden, hver gang en udvikler forpligter deres ændringer til hovedgrenen. Accelereret feedback loop: Udviklere modtager øjeblikkelig feedback med CI / CD. Automatiske test og begivenhedsintegrationer mislykkes, før den nye kode slås sammen. Dette betyder, at udviklere kan afkorte udviklingscyklussen og implementere funktioner hurtigere. Nedsat interpersonel konflikt: Automatisering af processer og reduktion af friktion mellem teams opmuntrer til et mere samarbejdsvilligt arbejdsmiljø, hvor udviklere gør, hvad de gør bedst: ingeniørløsninger. Pålidelig implementeringsproces: Enhver, der rulles tilbage en indsættelse på en fredag ​​eftermiddag, kan fortælle dig, hvor vigtigt det er, at deploys går uden problemer. Kontinuerlig integration sikrer, at kode testes godt og fungerer pålideligt i et produktionslignende miljø, før den nogensinde når en slutbruger.

Implementering af kontinuerlig integration og kontinuerlig levering

CI / CD er rodfæstet i smidige metoder. Du skal tænke på at implementere CI / CD som en iterativ proces. Hvert hold kan drage fordel af en version af CI / CD, men tilpasning af den overordnede filosofi afhænger meget af din nuværende tech-stack (de sprog, rammer, værktøjer og teknologi, du bruger) og kultur.

Kontinuerlig integration

Hold, der praktiserer kontinuerlig integration (CI), fletter kodeændringer tilbage i master- eller udviklingsgrenen så ofte som muligt. CI bruger typisk et integrationsværktøj til at validere build og køre automatiserede test mod den nye kode.

Processen med CI giver udviklere i et team mulighed for at arbejde på det samme område af kodebasen og samtidig holde ændringerne minimale og undgå massive fletningskonflikter.

Sådan implementeres kontinuerlig integration:

  • Skriv automatiske test for hver funktion. Dette forhindrer, at fejl distribueres i produktionsmiljøet. Opret en CI-server. Serveren overvåger hovedopbevaringsstedet for ændringer og udløser de automatiserede test, når nye forpligtelser skubbes. Din CI-server skal være i stand til at køre test hurtigt. Opdater udviklervaner. Udviklere er nødt til at flette ændringer tilbage til hovedkodebasen ofte. Som minimum skal denne fusion ske en gang om dagen.

Kontinuerlig levering

Kontinuerlig levering er et trin op fra CI, idet udviklere behandler enhver ændring af koden som leverbar. I modsætning til kontinuerlig implementering skal en frigivelse imidlertid udløses af et menneske, og ændringen leveres muligvis ikke med det samme til en slutbruger.

I stedet er distributioner automatiseret, og udviklere kan flette og distribuere deres kode med en enkelt knap. Ved at lave små, ofte leverede iterationer, sikrer teamet, at de nemt kan fejlfinde ændringer.

Når koden har bestået de automatiserede test og er bygget, kan teamet implementere koden til uanset hvilket miljø de specificerer, såsom QA eller iscenesættelse. Ofte gennemgår en peer manuelt koden, før en ingeniør fusionerer den til en produktionsudgivelsesgren.

Sådan implementeres kontinuerlig levering:

  • Har et stærkt fundament i CI. Den automatiserede testsuite skulle vokse i korrelation med funktionsudvikling, og du skal tilføje test, hver gang der rapporteres en fejl. Automatiser udgivelser. Et menneske indleder stadig implementeringer, men frigivelsen skal være en et-trins proces - et enkelt klik på en knap. Overvej funktionsflag. Funktionsflagg skjuler ufuldstændige funktioner for specifikke brugere, hvilket sikrer, at dine kammerater og kunder kun ser den funktionalitet, du ønsker.

Kontinuerlig implementering

Kontinuerlig implementering tager kontinuerlig levering endda et skridt videre end kontinuerlig levering. Hver ændring, der passerer hele produktionsfrigørelsens rørledning, implementeres. Det er rigtigt: Koden sættes direkte i produktion.

Kontinuerlig implementering eliminerer menneskelig indgriben fra installationsprocessen og kræver en grundigt automatiseret testsuite.

Sådan implementeres kontinuerlig implementering:

  • Oprethold en stærk testkultur. Du bør overveje afprøvning som en kerne del af udviklingsprocessen. Dokumenter nye funktioner. Automatiske udgivelser bør ikke overgå API-dokumentationen. Koordinere med andre afdelinger. Inddrag afdelinger som markedsføring og kundesucces for at sikre en jævn rollout-proces.
  1. ForretningsOperations ManagementTop 10 DevOps faldgruber: Hvorfor dine softwareprojekter mislykkes

Af Emily Freeman

At fremme en DevOps-kultur og vælge værktøjer, der understøtter din DevOps-tilgang, kommer din organisation til gode. DevOps-fremgangsmåden galvaniserer dit teknikerteam og fokuserer din produktudvikling på din kunde.

Men hver gang du forsøger at foretage en massiv ændring af underorganisationen i din organisation, står du overfor udfordringer og er nødt til at tackle tilbageslag. Når du forvandler til DevOps, vil du opdage unikke hastighedsbumpe, som du og dit team kan komme over.

Selvom du umuligt kan forudsige enhver hindring, du vil møde, kan denne artikel forberede dig til de ti mest almindelige DevOps-faldgruber. Husk, at uanset hvor du nærmer dig din DevOps-praksis, skal dine prioriteter forblive fokuseret på mennesker, proces og teknologi - i den rækkefølge.

Manglende prioritering af kultur i dit DevOps-projekt

Mere end noget andet er DevOps en kulturel bevægelse. Den kultur, du bygger på din organisation, vil gøre eller ødelægge din DevOps-praksis. Din DevOps-kultur skal understrege samarbejde, tillid og teknisk empowerment. Hvis du sømmer automatisering, men går glip af disse kulturelle komponenter, vil du sandsynligvis mislykkes.

I sandhed betyder værktøj ikke så meget. De værktøjer, du har til rådighed, ligner mere end ikke. Selvom de problemer, de løser, er vigtige, kan ingen af ​​disse problemer sammenligne med den næsten uendelige frustration ved at forsøge at forene udviklere og driftsfolk - såvel som andre teams, som sikkerhed - i en traditionel ingeniørorganisation.

DevOps søger at galvanisere ingeniører (såvel som forretningsgrupper). Det skaber et fundament, som alle kan lære, dele og vokse på. Denne personlige acceleration brænder hele din ingeniørorganisation til at skabe bedre DevOps-software hurtigere. De ingeniører, du har på dit team, er det mest værdifulde aktiv, du har. Behandl dem godt ved at give dem respekt og plads til at gøre, hvad de gør bedst - ingeniørløsninger.

Efterlad andre efterhånden som du bevæger dig fremad med DevOps

At fremstille sagen internt til DevOps vil bestemme den type fundament, du bygger til din kultur. Kig efter frugtbar jord. Hvis du bevæger dig for hurtigt og ikke overbeviser nøglefolk om vigtigheden af ​​en DevOps-transformation, vil folk se dine bevægelser med skepsis og springe ved den første mulighed for at vise alle, at du tager fejl. Det er ikke en sjov position at være i, og du vil aldrig starte denne rejse med mennesker, der venter på, at du mislykkes.

For at få succes, har du brug for alle ombord på DevOps-skibet, selv naysayers og skeptics. Ingeniører kan være skeptiske. Efter et årti eller to i denne branche har de set en masse ideer og nye tilgange komme og gå. De kan let trække fra DevOps som ”bare en anden mislykket tilgang” til de samme gamle problemer. Og hvis du implementerer det dårligt, vil DevOps virkelig være bare en anden mislykket tilgang. Du og dit team skal overtale andre om potentialet og gribe ind på måder, der inviterer alle til bordet.

Prøv at overbevise chefer med data og potentialet for hurtigere softwarelevering. Men ingeniører er nødt til at vide, hvordan DevOps vil gøre deres job sjovere. Vis dem, hvordan DevOps tilpasser sig forretningsbehov og reducerer friktion langs softwareleveringsrørledningen.

Bare sørg for ikke at overselge konceptet. DevOps udfordringer vil ske. DevOps er ikke en sølvkugle og kræver intens arbejde i begyndelsen for at sikre, at teamet skaber en læringskultur, hvor ingeniører frit kan begå fejl og vokse.

Når du har nået en begivenhedshorisont, hvor nok mennesker tror på DevOps, kan du fortsætte med den viden, at du har støtte fra din organisation og de mennesker deri.

Glem at justere incitamenter i dit DevOps-projekt

Hvis du ikke ønsker at tilpasse incitamenter til det, du forventer af visse teams eller specifikke ingeniører, opstår der flere udfordringer. DevOps 'virkelige værktøj, hvis du kan mestre det, er empowerment. Du ønsker at styrke dine ingeniører til at udføre deres arbejde godt, fri for interferens. Du har ansat talentfulde ingeniører, så stol på deres evne til at udføre deres ansvar.

For eksempel, når udviklere tjener til en on-call-rotation, indrammer nogle organisationer det som en smule af en straf. "Du har bygget den, du støtter den," fylder ikke nøjagtigt folk med glade følelser. I stedet føles det som bare en anden form for tavset ansvar. Men en human og jævnt fordelt on-call rotation bemyndiger ikke kun udviklere til at tage ejerskab af deres arbejde, det skaber også læringsmuligheder for hele teamet.

I DevOps straffer du ikke ingeniører for ufuldkommen arbejde; I stedet deler du ansvar og kultiverer en organisation, der værdsætter læring og giver alle mulighed for at være nysgerrige og deltage i områder af teknologi, hvor de er mindre kendte.

At tilpasse incitamenter og skabe muligheder for samarbejde driver dit mål om at forbedre dine produkter og betjene dine kunder bedre. Hvis alle er rettet mod målet om at skabe fantastiske tjenester til dine kunder gennem DevOps, vil du se gruppen begynde at galvanisere.

Hold stille om dit DevOps-projekt

DevOps er modsætningen af ​​hemmeligheder og forhandlinger i bagrummet. I stedet lægger det alt sammen på bordet og tvinger dig til at stole på integriteten af ​​menneskene i din organisation. Når du først introducerer åben kommunikation, kan konflikter synes at stige. Det gør det ikke. I stedet ser du simpelthen friktionspunkterne for første gang. I stedet for at overlade konflikter til at brygge under overfladen, føler folk sig sikre nok til at rejse deres bekymringer og udtrykke deres meninger.

Et vigtigt aspekt ved åben kommunikation er at holde det igennem hele produktlivscyklussen - fra idéer til produktion. Du skal inkludere ingeniører i planlægning af diskussioner, arkitekturbeslutninger, opdateringsprocesopdateringer og implementeringer.

Selvom denne vægt på kommunikation skaber mere ordrette diskussioner, gør det også muligt for ingeniører at have synlighed uden for deres kerneområde, hvilket igen giver dem mulighed for at rådgive andre, mens de er udstyret med den kontekst, der er nødvendig for at træffe sunde beslutninger.

Hold kunden - og hvad de forventer af det produkt, du bygger - i centrum for enhver diskussion og beslutning. Hvis du forbliver på linje med dette mål, er du sikker på at komme videre som en enhed.

Glem at måle dine DevOps-fremskridt

Måling af dine fremskridt er afgørende for DevOps succes. Det giver dig validering, når du fremsætter argumentet for DevOps til tvivl om interessenter, hjælper dig med at overbevise holdout-ledere og minder dit tekniske team om, hvor meget de har opnået.

Inden du foretager en enkelt ændring, skal du oprette en basislinje. Vælg et lille sæt data, du vil spore gennem hele processen. Disse data informerer dine beslutninger og fungerer som brændstof til fortsat at skubbe, når du rammer tilbageslag. Potentielle målinger inkluderer:

  • Nøjagtighedstilfredshed: Elsker dine ingeniører at arbejde i din organisation? Månedlig tilbagevendende indtægt (MRR): Hvor mange penge tjener du fra kunder? Kundebilletter: Hvor mange fejl rapporteres af dine kunder? Distributionsfrekvens: Hvor mange implementeringer har du hver uge eller måned? Gennemsnitstid til gendannelse (MTTR): Hvor lang tid tager det at komme sig efter en serviceforstyrrelse? Service tilgængelighed: Hvad er oppetiden til din ansøgning? Slår du dine nuværende serviceniveauaftaler? Mislykkede implementeringer: Hvor mange udgivelser forårsager serviceforstyrrelser? Hvor mange skal rulles tilbage?

Mikromanering af dit DevOps-projekt

En af de hurtigste måder at underminere dine ingeniører er at mikromane deres arbejde. Dan Pink, forfatter af bogen Drive, mener, at motivation på arbejde er drevet af tre faktorer:

  • Autonomi Mastery Formål

Ekstreme motiverere som høje lønninger, bonusser og aktieoptioner fungerer muligvis på kort sigt, men langvarig jobtilfredshed afhænger mere af personlig og professionel vækst. Du vil have, at dine ingeniører skal eksistere i spændingen ved at føle sig meget udfordret, men ikke overvældet af stress. Denne søde plet er forskellig for hver person. Det er en DevOps-udfordring, men når det engang kan gøre en verden af ​​forskel, hvis det gøres rigtigt. Hvis du kan fremkalde nogens lidenskab, er de sikker på at arbejde entusiastisk.

Tillid kan være en DevOps-udfordring. Det er absolut kritisk for DevOps-organisationer. Du skal stole på dine kolleger, kammerater, ingeniører, ledere og ledere. Du skal også stole på roller og ansvar for de forskellige afdelinger i din organisation - hvilket ikke er at sige, at du aldrig vil have konflikt. Selvfølgelig vil der ske øjeblikke af friktion mellem mennesker. Men at minimere disse øjeblikke og muliggøre en sund konfliktløsning er det, der adskiller DevOps-fokuserede ingeniørhold fra deres konkurrence.

Skifter for meget, for hurtigt

Mange hold foretager for mange ændringer for hurtigt. Mennesker kan ikke lide forandring. DevOps er fordelagtigt på lang sigt, hurtige ændringer i den normale måde at gøre ting på kan skurrende for ingeniører.

Én manglende DevOps er, at det betyder, at alle bor i greenfield (ny software) med regnbuer og enhjørninger. Det kan lyde som, "Hvis du kun kan få dit team til at arbejde sammen, vil softwareudvikling være let!" Det er ikke sandt. Softwareteknik er hårdt og vil altid være hårdt. Det er en ting de fleste ingeniører kan lide ved det. Du nyder en udfordring. Men udfordringer skal være stimulerende og ikke stressende.

DevOps sigter ikke mod at fjerne alle de intellektuelle udfordringer ved engineering. I stedet tilbyder det at minimere friktionen mellem mennesker, så alle kan fokusere på deres arbejde. Hvis du forsøger at foretage for mange ændringer for hurtigt, kan du finde dig selv midt i en altomfattende oprør - Mutiny on the Binary.

Valg af DevOps-værktøjer dårligt

Selvom du afprioriterer værktøj i DevOps - og med rette - er værktøj stadig en faktor. Selv det mindst vigtige aspekt af DevOps bidrager til din samlede succes. De værktøjer, du vælger, skal løse de problemer, som dit teknikerteam oplever, men bør også tilpasses stilen, viden og komfortområderne i dit eksisterende team.

Vær ikke bange for at prøve flere løsninger og se, hvilken der passer bedst. At dedikere et par uger til et minimum levedygtigt produkt (MVP) eller proof of concept (POC) for at teste et værktøj er det værd at gøre. Selv hvis du ender med at smide det væk, er det at ”spilde” de tekniske ressourcer at foretrække frem for at gå all-in på en bestemt teknologi kun for at finde ud af, at det et år senere er, at det ikke passer godt.

Frygt for fiasko for dit DevOps-projekt

At fejle hurtigt er en kort måde at sige, at du konstant skal itereere at identificere problemer tidligt i processen uden at bruge et ton tid og penge. Det er noget, som mange mennesker i teknologien snakker om, og som få faktisk implementerer, fordi det kræver hurtig iteration i et miljø, hvor fejl har en lille eksplosionsradius og let kan rettes. Alt for ofte hævder virksomheder en fejlsom mentalitet og fyrer i stedet af den første ingeniør, der sletter en produktionsdatabase. (Som om ingen ingeniør derude aldrig har slettet en produktionsdatabase ...)

I forbindelse med DevOps er det dog bedre, at du fejler godt end at fejle hurtigt. Svigtende godt indebærer, at du har overvågning på plads for at advare dig om potentielle problemer længe før situationen påvirker kunderne. Svigtende godt indebærer også, at du har designet dit system på en segmenteret måde, der forhindrer, at en tjeneste, der falder ned, går over i et systemisk afbrydelse. Men organisationer, der mislykkes, går også et skridt videre: De bebrejder ikke mennesker. I stedet ser de efter fejl i systemer og processer.

Kaizen er det japanske ord for kontinuerlig forbedring. I DevOps betyder kaizen kontinuerligt at forbedre dine processer. Det er ikke nogen sexet transformation, der har en begyndelse og ende. Målet er ikke at gå fra nul til perfekt. I stedet opmuntrer DevOps til at arbejde langsomt og gradvist med at gøre en ting bedre hver dag. Hvis du forlader arbejde hver aften ved at vide, at bare et lille aspekt af arbejdet er bedre på grund af dig, ville du ikke føle dig tilfreds? Mange ingeniører føler det på den måde.

I stedet for at forsøge at undgå fiasko for enhver pris insisterer DevOps på et tankegang om vækst. Fejl er ikke en markering af dumhed eller dårlig forberedelse. Det er en markør for vækst og et nødvendigt skridt i innovation. Innovation er et resultat, du skal være villig til at forfølge, selvom det betyder, at du lejlighedsvis mislykkes.

At være for stiv vil skabe DevOps-problemer

DevOps er ikke receptpligtig, og det er både det bedste og værste ved det. DevOps ville være så meget lettere at implementere, hvis du havde en liste over ti trin, du kunne tage for at opnå DevOps nirvana. Hvis det bare var så let! Men mennesker fungerer ikke på den måde, og grupper af mennesker - som f.eks. I ingeniørhold og i store organisationer - skaber endnu mere kompleksiteter, der skal løses.

Selvom der ikke findes nogen plan for at opbygge en DevOps-organisation, har du beføjelse til at skræddersy metodikken til praksis, der fungerer for dig og dit team. Du kender din organisation, og som en kyndig ekspert, skal du tænke uden for boksen, når du anvender de grundlæggende forhold. Nogle af tingene i DevOps passer perfekt til dig. Andre vil have lyst til at bære en jakke, der bare er en størrelse for lille. Det er okay.

Du vil begå fejl. Ingen er perfekt. Men hvis du slipper lidt, giver dine ingeniører mulighed for og stoler på dit team, vil du se fantastiske resultater. Kom bare i gang. Og husk: inviter alle til bordet, måle dine fremskridt, prioriter kultur frem for teknologi og give dine ingeniører mulighed for at gøre, hvad de gør bedst.

  1. BusinessOperations ManagementHvad er DevOps?

Af Emily Freeman

Hvad er DevOps? Det er vanskeligt at give dig en nøjagtig DevOps-recept - fordi der ikke findes nogen. DevOps er en filosofi, der guider softwareudvikling, en der prioriterer mennesker frem for proces og proces frem for værktøj. DevOps bygger en kultur af tillid, samarbejde og kontinuerlig forbedring.

DevOps-cyklus

Som en kultur ser DevOps-filosofien udviklingsprocessen på en holistisk måde under hensyntagen til alle involverede: udviklere, testere, driftsfolk, sikkerhed og infrastrukturingeniører. DevOps lægger ikke nogen af ​​disse grupper over de andre, og heller ikke rangordner det vigtigheden af ​​deres arbejde. I stedet behandler et DevOps-firma hele teamet af ingeniører som kritiske for at sikre, at kunden har den bedst mulige oplevelse.

DevOps udviklede sig fra Agile

I 2001 mødte 17 softwareingeniører og udgav "Manifestet for Agile Software Development", der præciserede de 12 principper for Agile-projektledelse. Denne nye arbejdsgang var et svar på frustrationen og fleksibiliteten hos hold, der arbejder i en vandfald (lineær) proces.

Arbejdstagere inden for Agile-principper kræver ingeniører at overholde de originale krav eller følge en lineær udviklingsarbejdsgang, hvor hvert team afleverer arbejde til det næste. I stedet er de i stand til at tilpasse sig virksomhedens eller markedets stadigt skiftende behov og nogle gange endda den skiftende teknologi og værktøjer.

Selvom Agile revolutionerede softwareudvikling på mange måder, lykkedes det ikke at tackle konflikten mellem udviklere og driftsspecialister. Siloer udviklede sig stadig omkring tekniske kvalifikationssæt og specialiteter, og udviklere udleverede stadig kode til driftsfolk til implementering og support.

I 2008 talte Andrew Clay Shafer med Patrick Debois om hans frustrationer med den konstante konflikt mellem udviklere og driftsfolk. Sammen lancerede de den første DevOpsDays-begivenhed i Belgien for at skabe en bedre - og mere smidig - måde at nærme sig softwareudvikling. Denne udvikling af Agile greb fat, og DevOps har siden gjort det muligt for virksomheder over hele kloden at producere bedre software hurtigere (og som regel billigere). DevOps er ikke en stil. Det er en bredt accepteret ingeniørfilosofi.

DevOps fokuserer på mennesker

Enhver, der siger, at DevOps handler om værktøj, vil sælge dig noget. Frem for alt andet er DevOps en filosofi, der fokuserer på ingeniører, og hvordan de bedre kan arbejde sammen om at producere fantastisk software. Du kan bruge millioner på hvert DevOps-værktøj i verden og stadig ikke være tættere på DevOps nirvana.

Fokuser i stedet på dit vigtigste tekniske aktiv: ingeniører. Glade ingeniører laver fantastisk software. Hvordan gør du glade ingeniører? Nå, du opretter et samarbejdsmiljø, hvor gensidig respekt, delt viden og anerkendelse af hårdt arbejde kan trives.

Virksomhedskultur er grundlaget for DevOps

Din virksomhed har en kultur, selvom den har fået overladt at udvikle sig gennem inerti. Denne kultur har større indflydelse på din jobtilfredshed, produktivitet og teamhastighed, end du sandsynligvis er klar over.

Virksomhedskultur beskrives bedst som en uudtalte forventninger, opførsel og værdier i en organisation. Kultur er det, der fortæller dine medarbejdere, om virksomhedsledelse er åben for nye ideer. Det er det, der informerer en medarbejders beslutning om, hvorvidt han vil komme med et problem eller feje det under tæppet.

Kultur er noget, der skal designes og raffineres, ikke noget at overlade til tilfældighederne. Selvom den faktiske definition varierer fra virksomhed til virksomhed og person til person, er DevOps en kulturel tilgang til teknik i dets kerne.

En giftig firmakultur dræber din DevOps-rejse, inden den endda starter. Selv hvis dit teknikerteam vedtager en DevOps-tankegang, vil det større virksomheds holdninger og udfordringer blæse ud i dit miljø.

Med DevOps undgår du skyld, skaber tillid og fokuserer på kunden. Du giver dine ingeniører autonomi og giver dem mulighed for at gøre, hvad de gør bedst: ingeniørløsninger. Når du begynder at implementere DevOps, giver du dine ingeniører tid og plads til at tilpasse sig det, hvilket giver dem mulighederne for at lære hinanden bedre at kende og opbygge kontakt med ingeniører med forskellige specialiteter.

Du måler også fremskridt og belønner resultater. Skyld aldrig enkeltpersoner for fejl. I stedet skal teamet kontinuerligt forbedre sig sammen, og resultater skal fejres og belønnes.

Du lærer ved at observere din proces og indsamle data

At observere din arbejdsgang uden forventning er en kraftfuld teknik til at bruge til at se succeser og udfordringer med din arbejdsgang realistisk. Denne observation er den eneste måde at finde den rigtige løsning på de områder og problemer, der skaber flaskehalse i dine processer.

Ligesom med software, er det ikke nødvendigvis nødvendigt at løse nogle Kubernetes (eller andet nyt værktøj) på et problem. Du skal vide, hvor problemerne er, inden du går i gang med at rette dem. Når du fortsætter, indsamler du data - ikke for at måle succes eller fiasko, men for at spore holdets præstation. Du bestemmer, hvad der fungerer, hvad der ikke fungerer, og hvad du skal prøve næste gang.

Overtalelse er nøglen til vedtagelse af DevOps

Det er ikke let at sælge ideen om DevOps til dine ledere, kammerater og medarbejdere. Processen er heller ikke altid intuitiv for ingeniører. Bør ikke en god idé blot sælge sig selv? Hvis det bare var så let. Imidlertid er et nøglekoncept, som du altid skal huske på, når du implementerer DevOps, at det fremhæver mennesker.

de såkaldte "bløde færdigheder" inden for kommunikation og samarbejde er centrale for din DevOps-transformation. At overtale andre på dit team og i din virksomhed til at vedtage DevOps kræver at praktisere gode kommunikationsevner. Tidlige samtaler, som du har med kolleger om DevOps, kan sætte dig op til succes på vejen - især når du rammer et uventet hastighedsdump.

Små trinvise ændringer er uvurderlige i DevOps

Det aspekt af DevOps, der understreger at foretage ændringer på små, inkrementelle måder, har sine rødder i lean-fremstilling, der omfatter accelereret feedback, kontinuerlig forbedring og hurtigere tid til markedet.

Vand er en god metafor til DevOps-transformationer. Vand er et af verdens mest magtfulde elementer. Medmindre folk ser, at oversvømmelsesvandet stiger foran dem, synes de det som relativt harmløst. Colorado-floden skåret Grand Canyon. Langsomt, over millioner af år, skåret vand gennem sten for at udsætte næsten to milliarder år med jord og sten.

Du kan være som vand. Vær den langsomme, nådeløse ændring i din organisation. Her er det berømte citat fra et Bruce Lee-interview for at inspirere dig:

Vær formløs, formløs som vand. Nu lægger du vand i en kop, det bliver koppen. Du lægger vand i en flaske, det bliver flasken. Du lægger den i en tekande, den bliver tekanden. Nu kan vand strømme, eller det kan gå ned. Vær vand, min ven.

At foretage trinvise ændringer betyder for eksempel, at du finder et problem, og du løser det. Så fikser du den næste. Du tager ikke for meget for hurtigt, og du vælger ikke enhver kamp for at kæmpe. Du forstår, at nogle kampe ikke er værd at bruge den energi eller sociale kapital, som de kan koste dig.

I sidste ende er DevOps ikke en liste over trin, du kan tage, men er snarere en tilgang, der skal vejlede de beslutninger, du træffer, når du udvikler.

  1. BusinessOperations ManagementDevOps For Dummies Cheat Sheet
  2. BusinessOperations ManagementBaseoverførselspris til fulde omkostninger

Af Mark P. Holtzman

Et selskab kan indstille overførselsprisen til fulde omkostninger (også kendt som absorptionsomkostninger), som er summen af ​​variable og faste omkostninger pr. Enhed. For at sikre, at salgsafdelingen tjener fortjeneste, kan de også tilføje en markup.

Antag, at HOO Water Company producerer både kildevand og læskedrikke. Clor-divisionen producerer kildevand, og Shpritz-divisionen fremstiller sodavand. HOO-ledere opfordrer Clor og Shpritz til at arbejde sammen, så Shpritz-divisionen bruger Clor-divisions kildevand til at fremstille sine sodavand.

Clor division sælger imidlertid også sit vand til eksterne kunder for $ 0,75 per gallon. For at minimere omkostningerne kan Shpritz også købe vand fra andre leverandører end Spring.

I år planlægger Clor-divisionen at producere 100.000 liter kildevand, men har evnen til at producere mere vand, hvis det kan sælge det. Clors vand har en variabel pris på $ 0,30 pr. Gallon og skal dække faste omkostninger på $ 40.000.

Shpritz-divisionen planlægger at fremstille 60.000 gallon læskedrikke; det kan købe vandet fra Shpritz eller fra en ekstern leverandør. Ud over prisen på vandet skal Shpritz betale $ 0,40 pr. Gallon for aromaer og andre tilsætningsstoffer til at producere hver gallon læskedrik. Shpritz betaler også faste omkostninger på $ 30.000 om året. Shpritz's sodavand sælger for $ 2 pr. Gallon.

Først skal du beregne Clors fulde omkostninger. Faste omkostninger beløber sig til $ 40.000, som er nødvendige for at producere 100.000 liter kildevand. De faste omkostninger pr. Enhed kommer derefter til $ 0,40 pr. Gallon ($ 40.000 - 100.000 gallon). Clors variabel koster $ 0,30 pr. Gallon; tilføj det til den faste pris pr. enhed for at få en samlede omkostning på $ 0,70 pr. gallon, overførselsprisen.

Følgende figur forklarer, hvad der sker, når Clor forsyner Shpritz med 60.000 kildevand værd til en overførselspris på $ 0,70 pr. Gallon og resten til eksterne kunder for $ 0,75 per gallon.

image0.jpg

Her modtager Clor $ 30.000 i indtægter fra eksterne kunder og $ 42.000 i indtægter fra Shpritz. Trækker Clors variable omkostninger på $ 30.000 og faste omkostninger på $ 40.000 resulterer i en nettoindtægt på $ 2.000. Shpritz indtægter $ 120.000 fra sine læskedrikke.

Af dette beløb skal det betale $ 42.000 til Clor og $ 24.000 i andre variable omkostninger. Shpritz skal også betale faste omkostninger på $ 30.000, hvilket resulterer i en nettoindtægt på $ 24.000 for Shpritz. HOO Water, der ejer begge afdelinger, tjener en samlet indkomst på $ 26.000 fra begge produkter.

Beslutninger om at basere overførselsprisen på fulde omkostninger kan narre divisionschefer til at tage dårlige beslutninger, der skader det samlede virksomheds rentabilitet. Antag, at et andet firma, Malcolm Water, sælger vand for $ 0,65 pr. Gallon. (I tilfælde af at du spekulerer på, kan Malcolm Water opkræve mindre penge for dets vand, fordi det er af dårligere kvalitet.) Shpritz-divisionen skal vælge mellem at betale $ 0,70 pr. Gallon til Clor-divisionen eller $ 0,65 pr. Gallon til Malcolm.

På den ene side foretrækker Shpritz muligvis at handle med Clor, bare fordi begge virksomheder har samme forælder. Hvis HOO imidlertid betaler $ 0,70 pr. Gallon for at fremstille vand, men kun $ 0,65 for at købe det fra Malcolm, skal ikke HOO bare købe vandet fra den billigere eksterne leverandør og spare 0,05 $ pr. Gallon?

Ikke nødvendigvis. Følgende figur illustrerer fiaskoen, der opstår, når Shpritz forsøger at spare penge ved at købe sit vand fra Malcolm.

image1.jpg

Shpritzs beslutning om at forsøge at reducere omkostningerne reducerer HOO Water's samlede rentabilitet med $ 21.000. Intet spørgsmål om det: Shpritz's rentabilitet stiger. Fordi beslutningen om at outsource reducerer de variable omkostninger ved at købe vand fra $ 42.000 til $ 39.000, stiger nettoindtægten fra Shpritz til $ 27.000.

Imidlertid gør Shpritz's beslutning ondt i Clor og reducerer i sidste ende HOO Waters samlede rentabilitet. Clors salg til Shpritz på $ 42.000 tørre helt op. Dens variable omkostninger falder også fra $ 30.000 til $ 12.000.

Clors faste omkostninger på $ 40.000 forbliver dog de samme, hvilket tvinger Clor til at lide et tab på $ 22.000. HOO Vands samlede overskud falder fra $ 26.000 til kun $ 5.000. Basering af overførselsprisen på fulde omkostninger har ført til, at Shpritz har taget beslutninger, der skader virksomhedens samlede rentabilitet.

  1. BusinessMarketingSocial Media MarketingHvordan finder du dine kontakter på Instagram
Instagram For Business For Dummies

Af Jennifer Herman, Eric Butow, Corey Walker

Hvis du er ny på Instagram, spørger du måske, hvor du skal starte. Instagram (og dets far, Facebook) hjælper dig med at oprette forbindelse. Du kan finde mennesker på et par forskellige måder.

Find dine Facebook-venner

Facebook har en interesse i at få Instagram til at vokse, så den prøver at opmuntre dig til at afrunde dine Facebook-venner og bringe dem videre til Instagram. Det er en nem måde for dig at finde mennesker.

Følg disse trin for at finde venner på Facebook:

  1. Gå til din Instagram-profilside ved at trykke på dit foto nederst til højre på telefonens skærm. Tryk på personen med et plus (og muligvis et rødt tal) øverst til venstre. Tryk på Facebook-linket øverst på din skærm. Bekræft dit Facebook-login ved at trykke på OK. Skærmen viser, hvor mange Facebook-venner du har på Instagram. Tryk på enten Følg alle eller Følg. For at følge alle dine Facebook-venner på Instagram skal du trykke på Følg alle. Hvis du hellere vil være mere selektiv, især fordi du sandsynligvis vil promovere dit produkt eller din tjeneste, kan du måske følge venner en efter en. Tryk bare på Følg ud for hver ven, du gerne vil oprette forbindelse til, og fortsæt med at rulle og følge!
Find Facebook-venner Instagram

Nogle af dine venner har muligvis indstillet deres konti til private. I dette tilfælde ser du Anmodet, når du trykker på Følg. De skal godkende dig, før du kan se deres profil og indlæg.

Synkronisering af din kontaktliste

Instagram kan også forbinde dig med de kontakter, der er gemt på din telefon eller tablet. Når du har aktiveret denne funktion, synkroniseres dine kontakter med jævne mellemrum med Instagrams servere. Instagram følger ikke nogen på dine vegne, og du kan til enhver tid afbryde dine kontakter, så Instagram ikke kan få adgang til dem.

Denne funktion er måske bedst som en og samme i begyndelsen mod en konstant forbindelse til privatlivets formål.

Følg disse trin for at forbinde dine kontakter:

  1. Gå til din Instagram-profilside ved at trykke på dit foto nederst til højre på telefonens skærm. Tryk på den lille person med et plus (og muligvis et rødt tal) øverst til venstre. Tryk på linket Kontakter. Den næste skærm fortæller dig, at Instagram finder folk, du kender, og du har mulighed for at følge dem. Tryk på Forbind kontakter for at fortsætte. En anden pop-up spørger, om Instagram har adgang til dine kontakter. Tryk på Tillad adgang. En pop-up vises, der beder dig om at give Instagram adgang til dine kontakter. Dette er din sidste chance for at annullere din beslutning om at give Instagram adgang til dine kontakter. Tryk på OK. Pop-up'en forsvinder, og skærmen Kontakter vises. Følg alle dine kontakter på Instagram ved at trykke på Følg alle, eller vælg hvilke kontakter, du vil følge, ved at trykke på Følg ud for hver enkelt.
instagram kontakter

Hvis du på et tidspunkt ændrer mening og vil afvise Instagram adgang til dine kontakter, skal du trykke på hjulikonet på din profilside, rulle ned til Indstillinger og derefter trykke på Kontakter. Tryk på Forbind kontakter for at skifte til hvidt, hvilket afslutter Instagram adgang.

  1. BusinessOperations ManagementVælg den bedste leverandør af cloud service, funktioner og værktøjer til DevOps

Af Emily Freeman

Succesen med dit DevOps-initiativ afhænger meget af at følge processen, men det er også vigtigt at bruge de rigtige værktøjer. At vælge en cloud-udbyder er ikke et let valg, især når DevOps er din drivkraft. GCP (Google Cloud Platform), AWS (Amazon Web Services) og Azure har mere til fælles, end de gør hinanden.

Ofte afhænger din beslutning mere af dit DevOps-teams komfortniveau hos en bestemt skyudbyder eller din nuværende stak mere end selve skyudbyderen. Når du har besluttet at flytte til skyen, er den næste beslutning at beslutte en skyudbyder, der passer til dine DevOps-behov. Her er nogle ting, du skal overveje, når du vurderer cloud-udbydere med DevOps-principper i tankerne:

  • Solid track record. Den sky, du vælger, skal have en historie med ansvarlige økonomiske beslutninger og kapital nok til at drive og udvide store datacentre gennem årtier. Overholdelse og risikostyring. Formel struktur og etablerede overholdelsespolitikker er vigtige for at sikre, at dine data er sikre og sikre. Det er ideelt, at du gennemgår revisioner, før du underskriver kontrakter. Positivt omdømme. Kundernes tillid er absolut nøglen. Har du tillid til, at du kan stole på, at denne skyudbyder fortsætter med at vokse og understøtte dine udviklende DevOps-behov? Serviceniveauaftaler (SLA'er). Hvilket serviceniveau har du brug for? Cloud-udbydere tilbyder typisk forskellige niveauer af driftssikkerhed baseret på omkostninger. For eksempel vil 99,9 procent oppetid være markant billigere end 99,999 procent oppetid. Metrics og overvågning. Hvilke typer applikationsindsigt, overvågning og telemetri leverer leverandøren? Vær sikker på at du kan få et passende niveau af indsigt i dine systemer så tæt på realtid som muligt.

Endelig skal du sikre dig, at den skyudbyder, du vælger, har fremragende tekniske kapaciteter, der leverer tjenester, der imødekommer dine specifikke DevOps-behov. Generelt skal du kigge efter

  • Beregn evner Opbevaringsløsninger Distributionsfunktioner Logning og overvågning Venlige brugergrænseflader

Du skal også bekræfte muligheden for at implementere en hybrid sky-løsning, hvis du har brug for det på et tidspunkt, samt at foretage HTTP-opkald til andre API'er og tjenester.

De tre store cloud-udbydere er Google Cloud Platform (GCP), Microsoft Azure og Amazon web Services (AWS). Du kan også finde mindre skyudbydere og bestemt et antal private skyudbydere, men hovedparten af ​​det, du har brug for at vide, kommer fra at sammenligne de offentlige skyudbydere.

Amazon Web Services (AWS)

Som de andre store offentlige cloud-udbydere leverer AWS on-demand computing gennem et pay-as-you-go-abonnement. Brugere af AWS kan abonnere på ethvert antal tjenester og databehandlingsressourcer. Amazon er den nuværende markedsleder blandt cloud-udbydere og har størstedelen af ​​skyabonnenter.

Det tilbyder et robust sæt funktioner og tjenester i regioner over hele verden. To af de mest kendte tjenester er Amazon Elastic Compute Cloud (EC2) og Amazon Simple Storage Service (Amazon S3). Som med andre cloud-udbydere får man adgang til tjenester, og infrastruktur leveres via API'er.

Microsoft Azure

Før Microsoft lancerede denne sky-udbyder som Microsoft Azure, kaldte den Windows Azure. Microsoft designet den til at gøre netop, som navnet antyder - tjene som en cloud-udbyder til traditionelt Windows IT-organisationer. Men efterhånden som markedet blev mere konkurrencedygtigt, og Microsoft begyndte bedre at forstå tekniklandskabet, tilpassede Azure, voksede og udviklede sig.

Selvom der stadig er tvivlsom mindre robust end AWS, er Azure en godt afrundet skyudbyder med fokus på brugeroplevelse. Gennem forskellige produktlanceringer og erhvervelser - især GitHub - har Microsoft investeret meget i Linux-infrastruktur, hvilket har gjort det muligt for den at levere mere robuste tjenester til et bredere publikum.

Google Cloud Platform (GCP)

Google Cloud Platform (GCP) har den mindst markedsandel af de tre store offentlige cloud-udbydere, men tilbyder et betydeligt sæt cloud-tjenester i næsten to dusin geografiske regioner.

Det mest tiltalende aspekt ved GCP er måske, at det tilbyder brugerne den samme infrastruktur, som Google bruger internt. Denne infrastruktur inkluderer ekstremt kraftige computere, opbevaring, analyse og maskinindlæringstjenester. Afhængigt af dit specifikke produkt kan GCP have specialiserede værktøjer, der mangler (eller er mindre modne) i AWS og Azure.

Find DevOps værktøjer og tjenester i skyen

Bogstaveligt talt står hundredvis af værktøjer og tjenester til din rådighed gennem de største skyudbydere. Disse værktøjer og tjenester er generelt opdelt i følgende kategorier:

  • Beregn Opbevaring Netværk Ressourcestyring Cloud kunstig intelligens (AI) Identitet Sikkerhed serverless IoT

Følgende er en liste over de mest almindeligt anvendte tjenester på tværs af alle tre af de store skyudbydere. Disse tjenester inkluderer app-distribution, virtual machine (VM) management, container orchestration, serverløse funktioner, opbevaring og databaser.

Yderligere tjenester er inkluderet, såsom identitetsstyring, blokopbevaring, privat sky, hemmeligholdelse og mere. Det er langt fra en udtømmende liste, men kan tjene som et solidt fundament for dig, når du begynder at undersøge dine muligheder og få en fornemmelse af, hvad der adskiller skyudbydere.

  • App-implementering: Platform as a Service (PaaS) -løsning til implementering af applikationer på forskellige sprog, herunder Java, .NET, Python, Node.js, C #, Ruby og Go Azure: Azure Cloud Services AWS: AWS Elastic Beanstalk GCP: Google App Engine
  • Management af virtuel maskine (VM): Infrastructure as a Service (IaaS) mulighed for at køre virtuelle maskiner (VM'er) med Linux eller Windows Azure: Azure Virtual Machines AWS: Amazon EC2 GCP: Google Compute Engine
  • Administreret Kubernetes: Gør det muligt bedre containerstyring via den populære orkestrator Kubernetes Azure: Azure Kubernetes Service (AKS) AWS: Amazon Elastic Container Service (ECS) til Kubernetes GCP: Google Kubernetes Engine
  • Serverløs: Gør det muligt for brugere at oprette logiske arbejdsgange af serverløse funktioner Azure: Azure-funktioner AWS: AWS Lambda GCP: Google Cloud-funktioner
  • Skyopbevaring: Ustruktureret objektopbevaring med cache Azure: Azure Blob Storage AWS: Amazon S3 GCP: Google Cloud Storage
  • Databaser: SQL og NoSQL databaser, efter behov 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 udforsker de tre store skyudbydere, bemærker du en lang liste med tjenester. Du kan føle dig overvældet af de hundreder af muligheder, du har til rådighed. Hvis du ved en tilfældighed ikke kan finde det, du har brug for, vil markedspladsen sandsynligvis give noget lignende. Markedet er, hvor uafhængige udviklere tilbyder tjenester, der tilslutter skyen - hostet af Azure, AWS eller GCP.

Tabellen nedenfor viser yderligere tjenester leveret af de fleste, hvis ikke alle, skyudbydere.

ServicekategoriFunktionalitet
Blokerer lagringDatalagring, der bruges i SAN-miljøer (Storage-Area Network). Blokeringslagring ligner lagring af data på en harddisk.
Virtual Private Cloud (VPC)Logisk isolerede, delte databehandlingsressourcer.
FirewallNetværkssikkerhed, der kontrollerer trafikken.
Content Delivery Network (CDN)Levering af indhold baseret på brugerens placering. Brug typisk cache, belastningsbalancering og analyse.
Domain Name System (DNS)Oversætter af domænenavne til IP-adresser for browsere.
Enkelt tilmelding (SSO)Adgangskontrol til flere systemer eller applikationer, der bruger de samme legitimationsoplysninger. Hvis du har logget på en uafhængig applikation med dine Google-, Twitter- eller GitHub-legitimationsoplysninger, har du brugt SSO.
Identity and Access Management (IAM)Rollebaseret brugeradgangshåndtering. Forudbestemte roller har adgang til en sæt gruppe af funktioner; brugere får tildelt roller.
Telemetri, overvågning og logningVærktøjer til at give applikationsindsigt om ydelse, serverbelastning, hukommelsesforbrug og mere.
implementeringerKonfiguration, infrastruktur og frigørelsesledningsstyringsværktøjer.
Sky shellShell-adgang fra en kommandolinjegrænseflade (CLI) i browseren.
Opbevaring af hemmelighederSikker opbevaring af nøgler, tokens, adgangskoder, certifikater og andre hemmeligheder.
MeddelelseskøDynamisk skaleret meddelelsesmæglere.
Maskinindlæring (ML)Dybe læringsrammer og værktøjer til dataforskere.
IoTEnhedstilslutning og styring.