1. BusinessOperations ManagementDe beste cloudserviceprovider, functies en hulpmiddelen voor DevOps kiezen

Van Emily Freeman

Het succes van uw DevOps-initiatief is sterk afhankelijk van het volgen van het proces, maar het is ook belangrijk om de juiste tools te gebruiken. Het selecteren van een cloudserviceprovider is geen gemakkelijke keuze, vooral wanneer DevOps uw drijfveer is. GCP (Google Cloud Platform), AWS (Amazon Web Services) en Azure hebben meer gemeen dan ze apart doen.

Vaak hangt uw beslissing meer af van het comfortniveau van uw DevOps-team bij een bepaalde cloudprovider of uw huidige stack meer dan de cloudprovider zelf. Nadat u hebt besloten om naar de cloud te gaan, is de volgende beslissing om een ​​cloudprovider te kiezen die past bij uw DevOps-behoeften. Hier zijn enkele dingen om te overwegen bij het evalueren van cloudproviders met DevOps-principes in gedachten:

  • Solide trackrecord. De cloud die u kiest, moet een geschiedenis hebben van verantwoorde financiële beslissingen en voldoende kapitaal om tientallen jaren grote datacenters te exploiteren en uit te breiden. Naleving en risicobeheer. Formele structuur en vastgesteld nalevingsbeleid zijn van vitaal belang om ervoor te zorgen dat uw gegevens veilig zijn. Idealiter controleert u audits voordat u contracten ondertekent. Positieve reputatie. Klantvertrouwen is absoluut cruciaal. Vertrouw je erop dat je kunt vertrouwen op deze cloudprovider om te blijven groeien en je evoluerende DevOps-behoeften te ondersteunen? Service Level Agreements (SLA's). Welk serviceniveau heeft u nodig? Cloudproviders bieden doorgaans verschillende uptime-betrouwbaarheid op basis van kosten. De uptime van 99,9 procent is bijvoorbeeld aanzienlijk goedkoper dan de uptime van 99,999 procent. Statistieken en monitoring. Welke soorten applicatie-inzichten, monitoring en telemetrie levert de leverancier? Zorg ervoor dat u in realtime een passend niveau van inzicht in uw systemen krijgt.

Zorg er ten slotte voor dat de cloudprovider die u kiest uitstekende technische mogelijkheden biedt die services bieden die voldoen aan uw specifieke DevOps-behoeften. Over het algemeen, zoeken naar

  • Bereken mogelijkheden Oplossingen voor opslag Implementatiefuncties Loggen en bewaken Vriendelijke gebruikersinterfaces

U moet ook de mogelijkheid bevestigen om een ​​hybride cloudoplossing te implementeren voor het geval dat u dit op een bepaald moment moet doen, en om HTTP-oproepen naar andere API's en services te doen.

De drie belangrijkste cloudproviders zijn Google Cloud Platform (GCP), Microsoft Azure en Amazon web Services (AWS). Je kunt ook kleinere cloudproviders vinden en zeker een aantal private cloudproviders, maar het grootste deel van wat je moet weten, is het vergelijken van de publieke cloudproviders.

Amazon Web Services (AWS)

Net als de andere grote openbare cloudproviders biedt AWS on-demand computing via een pay-as-you-go-abonnement. Gebruikers van AWS kunnen zich abonneren op een willekeurig aantal services en computerbronnen. Amazon is de huidige marktleider onder cloudproviders en heeft de meerderheid van cloudabonnees.

Het biedt een robuuste set functies en services in regio's over de hele wereld. Twee van de meest bekende services zijn Amazon Elastic Compute Cloud (EC2) en Amazon Simple Storage Service (Amazon S3). Net als bij andere cloudproviders worden services benaderd en wordt infrastructuur ingericht via API's.

Microsoft Azure

Voordat Microsoft deze cloudprovider als Microsoft Azure lanceerde, heette het Windows Azure. Microsoft heeft het ontworpen om precies te doen wat de naam inhoudt: het dient als cloudprovider voor traditionele Windows-IT-organisaties. Maar naarmate de markt concurrerender werd en Microsoft het technische landschap beter begon te begrijpen, paste Azure zich aan, groeide en evolueerde.

Hoewel nog steeds aantoonbaar minder robuust dan AWS, is Azure een goed afgeronde cloudprovider gericht op gebruikerservaring. Door verschillende productlanceringen en overnames - met name GitHub - heeft Microsoft zwaar geïnvesteerd in Linux-infrastructuur, waardoor het voor een breder publiek robuustere diensten kon bieden.

Google Cloud Platform (GCP)

Het Google Cloud Platform (GCP) heeft het minste marktaandeel van de drie grote openbare cloudproviders, maar biedt een aanzienlijk aantal cloudservices in bijna twee dozijn geografische regio's.

Misschien wel het meest aantrekkelijke aspect van GCP is dat het gebruikers dezelfde infrastructuur biedt die Google intern gebruikt. Deze infrastructuur omvat extreem krachtige services voor computergebruik, opslag, analyse en machine learning. Afhankelijk van uw specifieke product, kan GCP gespecialiseerde tools hebben die (of minder volwassen) ontbreken in AWS en Azure.

DevOps-tools en -services zoeken in de cloud

Letterlijk honderden tools en services staan ​​tot uw beschikking via de grote cloudproviders. Deze tools en services zijn over het algemeen onderverdeeld in de volgende categorieën:

  • Berekenen opslagruimte Netwerken Beheer van middelen Cloud Artificial Intelligence (AI) Identiteit Veiligheid Serverless ivd

Hieronder volgt een lijst van de meest gebruikte services bij alle drie de grootste cloudproviders. Deze services omvatten app-implementatie, beheer van virtuele machines (VM's), container-orkestratie, serverloze functies, opslag en databases.

Aanvullende services zijn inbegrepen, zoals identiteitsbeheer, blokopslag, private cloud, opslag van geheimen en meer. Het is verre van een uitputtende lijst, maar kan als een solide basis voor u dienen wanneer u uw opties begint te onderzoeken en een idee krijgt van wat de cloudproviders onderscheidt.

  • App-implementatie: Platform as a Service (PaaS) -oplossing voor het implementeren van applicaties in verschillende talen, waaronder Java, .NET, Python, Node.js, C #, Ruby en Go Azure: Azure Cloud Services AWS: AWS Elastische bonenstaak GCP: Google App Engine
  • Beheer van virtuele machines (VM): IaaS-optie (Infrastructure as a Service) voor het uitvoeren van virtuele machines (VM's) met Linux of Windows Azure: Azure Virtual Machines AWS: Amazon EC2 GCP: Google Compute Engine
  • Beheerde Kubernetes: maakt beter containerbeheer mogelijk via de populaire orchestrator Kubernetes Azure: Azure Kubernetes Service (AKS) AWS: Amazon Elastic Container Service (ECS) voor Kubernetes GCP: Google Kubernetes Engine
  • Serverloos: hiermee kunnen gebruikers logische workflows van serverloze functies maken Azure: Azure Functions AWS: AWS Lambda GCP: Google Cloud Functions
  • Cloudopslag: ongestructureerde objectopslag met caching Azure: Azure Blob Storage AWS: Amazon S3 GCP: Google Cloud Storage
  • Databases: SQL- en NoSQL-databases, op aanvraag Azure: Azure Cosmos DB AWS: Amazon Relational Database Service (RDS) en Amazon DynamoDB (NoSQL) GCP: Google Cloud SQL en Google Cloud BigTable (NoSQL)

Terwijl u de drie grote cloudproviders verkent, ziet u een lange lijst met services. Je kunt je overweldigd voelen door de honderden opties die je tot je beschikking hebt. Als u bij toeval niet kunt vinden wat u zoekt, biedt de markt waarschijnlijk iets vergelijkbaars. Op de markt bieden onafhankelijke ontwikkelaars services die op de cloud kunnen worden aangesloten - gehost door Azure, AWS of GCP.

De onderstaande tabel geeft een overzicht van aanvullende services die worden geboden door de meeste, zo niet alle, cloudproviders.

  1. BusinessOperations ManagementWaarom DevOps is belangrijk: 11 manieren waarop DevOps uw organisatie ten goede komt

Van Emily Freeman

Wanneer correct gedaan, biedt DevOps aanzienlijke voordelen voor uw organisatie. Dit artikel presenteert de belangrijkste punten om te weten hoe DevOps uw organisatie ten goede komt. Gebruik het als referentie om uw collega's te overtuigen of om uw begrip te vergroten van waarom u ervoor koos om de DevOps-route te gaan wanneer de weg hobbelig wordt.

DevOps voordelen

DevOps helpt u constante verandering te accepteren

Het technische landschap is een steeds veranderende omgeving. Sommige talen evolueren en nieuwe worden gecreëerd. Frameworks komen en gaan. Wijzigingen in de tooling van de infrastructuur om te voldoen aan de steeds groeiende eisen voor efficiëntere hosting van applicaties en het sneller leveren van services. Tools blijven laag-niveau computing abstracten om engineering overhead te verminderen.

De enige constante is verandering. Je vermogen om je aan die verandering aan te passen, bepaalt je succes als individuele medewerker, manager of manager. Ongeacht de rol die u momenteel in uw bedrijf vervult of hoopt te spelen, het is van vitaal belang om u snel aan te passen en zoveel mogelijk wrijving uit de groei te verwijderen. Met DevOps kunt u zich aanpassen en groeien door de communicatie en samenwerking te verbeteren.

DevOps omarmt de cloud

De cloud is niet de toekomst; het is nu. Hoewel je misschien nog steeds aan het overstappen bent of nog niet klaar bent om te verhuizen, moet je je realiseren dat de cloud de oplossing is voor alle bedrijven, op een paar na na. Het geeft u meer flexibiliteit dan traditionele infrastructuur, verlaagt de stress van activiteiten en (meestal) aanzienlijk minder vanwege een pay-as-you-go prijsstructuur.

Publieke, private en hybride clouds bieden eindeloze mogelijkheden om uw bedrijf beter te runnen. De mogelijkheid om resources binnen enkele minuten te laten draaien (lanceren) is iets dat de meeste bedrijven nog nooit eerder hebben meegemaakt vóór de cloud.

Deze flexibiliteit van de cloud gaat hand in hand met DevOps. Omri Gazitt van Puppet, een bedrijf dat zich richt op automatisering en configuratiebeheer, zegt het beter: "Terwijl organisaties overstappen naar de cloud, herzien ze hun kernaannames over hoe ze software leveren."

Met de cloud verbinden API's elke service, elk platform en elke infrastructuurtool, zodat u uw resources en applicaties naadloos kunt beheren. Terwijl u naar de cloud migreert, kunt u eerdere architectuurbeslissingen opnieuw evalueren en uw applicatie en systeem langzaam overzetten op de cloud, of ontworpen met de cloud in gedachten.

DevOps helpt u het beste in te huren

Vanwege de toegenomen vraag zijn grote ingenieurs schaars. Er zijn simpelweg niet genoeg ingenieurs om alle openstaande vacatures te vervullen of om in de komende tien jaar en daarna aan de marktvraag te voldoen. Hoewel het vinden van ingenieurs moeilijk kan zijn, is het niet onmogelijk, vooral als je je concentreert op het ontdekken van ingenieurs die nieuwsgierigheid omarmen en niet bang zijn om te falen. Als u DevOps in uw algemene engineeringcultuur implementeert, kunt u ingenieurs een niveau hoger brengen en ze trainen in de methodologie en technologie die continue verbetering ondersteunen.

Het is moeilijk om potentieel te meten in een interview. Meestal fluistert talent. De meest getalenteerde ingenieurs zijn meestal niet gregarious of opscheppers; ze laten hun werk voor hen spreken. Met DevOps kunt u beter luisteren naar de persoonlijke en professionele interesses van de ingenieurs die u interviewt.

Kies kandidaten op basis van hun nieuwsgierigheid, communicatieve vaardigheden en enthousiasme. Die kwaliteiten kunnen uw team door de dalen van angst, onzekerheid en twijfel heen leiden. Ze kunnen het team door moeilijke beslissingen nemen, gemaakt binnen beperkingen, in hun poging om moeilijke problemen op te lossen.

Je kunt iemand een vaardigheid leren, maar iemand leren hoe te leren is een heel andere zaak. De leercultuur die u in uw DevOps-organisatie creëert, stelt u in staat om een ​​groeimindset te prioriteren boven technische bekwaamheid. In DevOps is het aannemen van een team van cruciaal belang. Elk individu is een deel van een geheel, en het team moet een holistisch evenwicht hebben. Het bereiken van dit evenwicht betekent dat u soms niet de "beste" ingenieur inhuurt, maar de beste ingenieur voor het team.

Als je voor het DevOps-team inhuurt, kun je, net als trekpaarden samen, meer gewicht trekken dan je individueel zou kunnen. Met DevOps kunt u de afzonderlijke componenten van uw team vermenigvuldigen en, als geheel, een krachtpatser van een team creëren.

DevOps houdt u competitief

Het jaarlijkse DevOps-rapport van DevOps Research and Assessment (DORA) maakt duidelijk: bedrijven over de hele wereld gebruiken DevOps om hun engineeringmethoden aan te passen en profiteren daarvan. Ze zien een toename van de technische productie en lagere kosten. Met DevOps verschuiven deze bedrijven van onhandige processen en systemen naar een gestroomlijnde manier van het ontwikkelen van software gericht op de eindgebruiker.

DevOps stelt bedrijven in staat om een ​​betrouwbare infrastructuur te creëren en die infrastructuur te gebruiken om software sneller en betrouwbaarder vrij te geven. De bottom line is dit: goed presterende organisaties gebruiken DevOps, en ze verpletteren hun concurrentie door hun implementatiefrequentie te verhogen en hun fouten die optreden vanwege veranderingen in het systeem aanzienlijk te verminderen.

Als u wilt concurreren, moet u de solide DevOps-methodieken overnemen. Misschien niet allemaal, en zeker niet allemaal tegelijk - maar de tijd om te wachten en te zien of DevOps de moeite waard is, is verstreken.

DevOps helpt menselijke problemen op te lossen

Mensen hebben een punt in onze evolutie bereikt waarop technologie sneller evolueert dan onze hersenen. De grootste uitdagingen voor mensen zijn dus te wijten aan menselijke beperkingen - niet aan de beperkingen van software of infrastructuur. In tegenstelling tot andere methodologieën voor softwareontwikkeling richt DevOps zich holistisch op uw sociotechnische systeem.

DevOps omarmen vereist een verschuiving in cultuur en mentaliteit. Maar als u een DevOps-cultuur en mentaliteit bereikt, profiteren u en uw organisatie van bijna onbeperkte voordelen. Wanneer ingenieurs in staat worden gesteld om te verkennen, vrij van druk en faalangst, gebeuren er verbazingwekkende dingen.

Ingenieurs ontdekken nieuwe manieren om problemen op te lossen. Ze benaderen projecten en problemen met een gezonde mindset en werken vloeiender samen, zonder onnodige en negatieve concurrentie.

DevOps daagt medewerkers uit

DevOps versnelt de groei van individuele ingenieurs evenals die van het engineeringteam als geheel. Ingenieurs zijn slimme mensen. Ze zijn ook van nature nieuwsgierig. Een geweldige ingenieur die een groeimindset omarmt, heeft nieuwe uitdagingen nodig na het beheersen van een bepaalde technologie, tool of methodologie of ze voelen zich vaak stilstaan.

Ze moeten het gevoel hebben dat hun hersenen en vaardigheden worden uitgerekt - niet zozeer overweldigd of gestrest, maar voldoende om te voelen dat ze groeien. Dat is de spanning beschreven door Dan Pink in Drive. Als u die balans kunt vinden, zullen uw ingenieurs gedijen - als individuen en als een team.

De methodiek van DevOps bevordert T-vormige vaardigheden, wat betekent dat ingenieurs zich specialiseren in één gebied met diepgaande kennis en een breed begrip hebben van vele andere gebieden. Met deze aanpak kunnen ingenieurs andere interessegebieden verkennen.

Misschien heeft een Python-ingenieur bijvoorbeeld interesse in cloudinfrastructuur. Geen enkele andere engineeringmethodiek laat toe en moedigt ingenieurs aan zoveel te verkennen als DevOps doet, en het levert een enorme bijdrage aan het aannemen en behouden van talent.

DevOps overbrugt hiaten

Een van de uitdagingen van moderne technologiebedrijven is deze kloof tussen de behoeften van het bedrijf en de behoeften van engineering. In een traditioneel bedrijf, met traditionele managementstrategieën, bestaat er een natuurlijke wrijving tussen engineering en afdelingen zoals marketing, verkoop en bedrijfsontwikkeling. Deze wrijving komt voort uit een gebrek aan uitlijning. Elke afdeling wordt gemeten aan de hand van verschillende succesindicatoren.

DevOps wil elke afdeling van een bedrijf verenigen en een gedeeld begrip en respect creëren. Dat respect voor elkaars banen en bijdragen is wat elke persoon in het bedrijf laat gedijen. Het verwijdert de wrijving en verbetert de versnelling.

Denk aan een team sledehonden. Als elke hond in afzonderlijke richtingen beweegt, gaat de slee nergens heen. Stel je nu voor dat de honden samenwerken, gericht op samen vooruit gaan. Als je intern geen wrijving hebt, zijn de enige uitdagingen waarmee je te maken hebt extern en zijn externe uitdagingen bijna altijd beter beheersbaar dan interne strijd.

Met DevOps faalt u goed

Falen is onvermijdelijk. Het is gewoon onvermijdelijk. Voorspellen van elke manier waarop uw systeem kan falen is onmogelijk vanwege alle onbekenden. (En het kan spectaculair mislukken, nietwaar?) In plaats van ten koste van alles te voorkomen en je verpletterd te voelen wanneer er een storing optreedt, kun je je erop voorbereiden. DevOps bereidt organisaties voor op falen, maar niet op een paniekerige, door stress veroorzaakte manier.

Incidenten zullen altijd een zekere mate van stress met zich meebrengen. Op een bepaald punt in uw opdrachtstructuur zal een leidinggevende waarschijnlijk schreeuwen om het geld dat verloren gaat tijdens een stroomonderbreking. Maar u kunt de stress verminderen die uw team ervaart door falen te gebruiken als een manier om te leren en uw systeem aan te passen om weerbaarder te worden.

Elk incident is een kans om als individu en als team te verbeteren en te groeien.

DevOps omarmt kaizen, de kunst van continue verbetering. Wanneer uw team flow in hun werk ervaart, kunnen ze elke dag kleine keuzes maken die bijdragen aan groei op de lange termijn en uiteindelijk een beter product.

Met DevOps kunt u continu verbeteren

Continue verbetering is een belangrijk ingrediënt in DevOps. Gebruik de visualisatie van een eindeloze cyclus wanneer u DevOps op uw organisatie toepast. De cyclus mag geen angsten oproepen door gedachten aan Sisyphus, een kei voor eeuwig een heuvel op duwen. Beschouw deze cyclus in plaats daarvan als beweging, zoals een sneeuwbal die naar beneden rolt, momentum en massa verzamelt.

Terwijl u DevOps gebruikt en meer en meer van zijn kernprincipes integreert in uw dagelijkse workflow, zult u deze versnelling uit de eerste hand aanschouwen. De cyclus van continue verbetering moet altijd gericht zijn op de klant. U moet voortdurend aan de eindgebruiker denken en feedback integreren in de levenscyclus van uw softwarelevering.

Fundamenteel voor deze cyclus is CI / CD. Het gebruik van CI / CD is geen alles-of-niets-eis van DevOps; in plaats daarvan is het een langzaam implementatieproces. U moet zich eerst concentreren op het beheersen van continue integratie. Moedig ingenieurs aan om code vrij te delen en code vaak samen te voegen. Deze aanpak voorkomt dat isolatie en silo's blokkers worden in uw engineeringorganisatie.

Nadat uw organisatie de voortdurende integratie beheerst, gaat u verder met continue levering, de praktijk van het automatiseren van softwarelevering. Deze stap vereist automatisering omdat code meerdere controles doorloopt om de kwaliteit te waarborgen. Nadat al uw code veilig en toegankelijk is in een broncode-repository, kunt u beginnen met het continu doorvoeren van kleine wijzigingen. Uw doel is om handmatige barrières te verwijderen en het vermogen van uw team om bugs te ontdekken en te repareren zonder impact van de klant te verbeteren.

DevOps automatiseert zwoegen

Versnelling en verhoogde efficiëntie vormen de kern van de DevOps-methodiek. Door arbeidsintensieve handmatige processen te automatiseren, stelt DevOps technici vrij om te werken aan projecten die de software en systemen betrouwbaarder en gemakkelijker te onderhouden maken - zonder de chaos van onverwachte serviceonderbrekingen.

Site betrouwbaarheid engineering (SRE) gaat over zwoegen, wat het werk is dat nodig is om services draaiende te houden, maar is handmatig en repetitief. Toil kan worden geautomatiseerd en mist waarde op lange termijn. Misschien wel het belangrijkste van alles, zwoegen schalen lineair, wat de groei beperkt. Merk op dat zwoegen niet verwijst naar de overhead van administratieve benodigdheden zoals vergaderingen en planning. Dit soort werk, indien uitgevoerd met een DevOps-mentaliteit, is gunstig voor de versnelling op lange termijn van uw team.

Een van de kernprincipes van tooling in uw DevOps-praktijk is automatisering. U kunt uw implementatiepijplijn automatiseren met een uitgebreide testreeks en andere poorten waar code doorheen moet om te worden vrijgegeven. In veel opzichten is SRE de volgende logische stap in de evolutie van DevOps en zou het uw volgende stap moeten zijn nadat u en uw organisatie de kernconcepten van DevOps beheersen en de praktijk in uw team implementeren.

DevOps versnelt de levering

De levenscyclus van softwarelevering is geëvolueerd van het langzame en lineaire Waterfall-proces naar een flexibele en continue lus van DevOps. U bedenkt niet langer een product, ontwikkelt het volledig en geeft het vervolgens vrij aan klanten, in de hoop op succes.

In plaats daarvan creëert u een feedbacklus rond de klant en brengt u voortdurend iteratieve wijzigingen aan uw producten aan. Met dit verbonden circuit kunt u uw functies continu verbeteren en ervoor zorgen dat de klant tevreden is met wat u levert.

Wanneer u alle punten met elkaar verbindt en DevOps volledig in uw organisatie overneemt, ziet u hoe uw team betere software sneller kan leveren. De wijzigingen zullen in het begin klein zijn, net als de wijzigingen die u vrijgeeft. Maar na verloop van tijd kloppen die schijnbaar onbeduidende veranderingen en vormen een team dat de levering van kwaliteitssoftware versnelt.

  1. BusinessOperations Management Haal meer uit uw cloudtools: DevOps automatiseren in de cloud

Van Emily Freeman

Met de cloud trouwen met je DevOps-praktijk kan het werk dat je al hebt gedaan versnellen. Wanneer ze samen worden gebruikt, kunnen zowel DevOps als de cloud de digitale transformatie van uw bedrijf stimuleren.

U zult resultaten zien zolang u de prioriteiten van DevOps benadrukt: mensen, processen en technologie. De cloud valt samen met andere tooling vierkant in het technische deel van uw DevOps-implementatie.

DevOps en cloud computing

Cloud computing maakt automatisering mogelijk voor uw ontwikkelaars en operationele mensen op een manier die gewoon niet mogelijk is wanneer u uw eigen fysieke infrastructuur beheert. Door infrastructuur te voorzien via code in de cloud - een systeem dat Infrastructure as Code (IaC) wordt genoemd - kunt u sjablonen en herhaalbare processen maken.

Wanneer u wijzigingen in uw infrastructuurcode bijhoudt via bronbeheer, kunt u uw team naadloos laten werken en wijzigingen bijhouden. IaC is veel herhaalbaar en geautomatiseerd - om nog maar te zwijgen van het feit - dat ingenieurs door een portal klikken.

Zelfs instructies op de portal zijn niet onfeilbaar. U riskeert kleine, maar belangrijke wijzigingen in de infrastructuurconfiguratie aan te brengen als u consequent dezelfde setup via de portal in plaats van een YAML-bestand bouwt.

Breng je DevOps-cultuur naar de cloud

Mensen spreken vaak over DevOps en cloud computing alsof ze met elkaar verweven zijn en dat zijn ze in veel opzichten ook. Houd er echter rekening mee dat u DevOps kunt adopteren - of uw engineeringorganisatie kunt transformeren - zonder de cloud in te gaan. Het is volkomen redelijk dat u eerst de normen, werkwijzen en processen voor uw team vaststelt voordat u uw infrastructuur verplaatst naar een cloudprovider.

Hoewel mensen spreken alsof iedereen al in de cloud zit, zit je nog steeds aan de voorhoede van de verschuiving naar de cloud. Cloudproviders worden met de dag robuuster en engineeringbedrijven zetten hun zelfgehoste services langzaam over naar de cloud. Met dat in gedachten zou een organisatie die DevOps wil adopteren, verstandig overwegen om sterk gebruik te maken van de diensten van een grote cloudprovider.

Iedereen met ervaring met DevOps zou de cloud waarschijnlijk geen NoOps-oplossing noemen, maar ze zouden het OpsLite kunnen noemen. Cloudservices abstraheren vaak complexe operationele architectuur op een manier die die architectuur vriendelijker maakt voor ontwikkelaars en hen in staat stelt meer eigendom van hun componenten te nemen.

Als je ooit hebt gemopperd dat ontwikkelaars moeten worden opgenomen in een on-call rotatie, dan heb je gelijk - dat zou zo moeten zijn. Het is een geweldige manier om ontwikkelaars op te nemen in de on-call-rotatie om hun kennis over het implementeren van code te vergroten en de infrastructuur waarop hun services worden uitgevoerd te beheren en in te richten. Dit vermindert de operationele overhead en maakt de tijd vrij voor operationele specialisten om aan proactieve oplossingen te werken.

Leren door goedkeuring van DevOps

Als uw team in staat is om DevOps over te nemen en tegelijkertijd over te stappen op het gebruik van cloud computing, kunt u deze verschuivingen gebruiken als leermogelijkheden voor zowel ontwikkelaars als operationele mensen.

Terwijl uw team overschakelt naar de cloud, hebben ontwikkelaars de mogelijkheid om operations-specialisten vertrouwd te maken met code - misschien zelfs specifieke talen - en bronbeheer, en operations-mensen kunnen ontwikkelaars over infrastructuur leren. Wanneer beide groepen zowel de experts als de nieuwkomers zijn, hoeft geen van beide groepen veel ego-schadelijke kennisoverdracht aan te gaan.

Het vertrouwen, het rapport en de gezonde dynamiek die uit deze interacties naar voren komen, zullen uw team opwinden en veel langer meegaan dan het onmiddellijke werk kostte. In veel opzichten versterkt u uw DevOps-cultuur door uw DevOps-praktijk te bewerken.

Profiteer van cloudservices in uw DevOps-initiatief

Moderne operaties veranderen en evolueren. Uw concurrenten passen al nieuwe manieren toe om sneller te innoveren en hun levenscyclus van softwarelevering te versnellen.

Cloud computing betekent een grote verschuiving van de traditionele manier waarop bedrijven denken over IT-middelen. Door veel van uw infrastructuur- en operationele vereisten uit te besteden aan een cloudprovider, vermindert u de overheadkosten en kunt u uw team helpen zich te concentreren op het leveren van betere software aan uw gebruikers.

Hier zijn zes veelvoorkomende redenen waarom organisaties overstappen op cloud computing-services:

  • De betaalbaarheid verbeteren. Met cloudproviders kunt u alleen de services selecteren die u nodig hebt, wanneer u ze nodig hebt. Stel je voor dat je toegang hebt tot kabel-tv, maar alleen betaalt voor de kanalen die je kijkt. Dat zou je geweldig vinden, niet? De meeste DevOps-teamleden zouden dat doen! Cloudproviders doen precies dat en bieden u tegelijkertijd de meest up-to-date computerhardware die is ondergebracht in fysiek beveiligde datacenters. Implementaties automatiseren. Wijzigingen in het systeem - implementaties - zijn de meest voorkomende oorzaken van storingen of storingen in de dienstverlening. Cloudproviders maken het vrijgeven van code een geautomatiseerd, herhaalbaar proces, waardoor de kans op fouten in handmatige releases en het introduceren van bugs aanzienlijk wordt verkleind. Met geautomatiseerde implementaties kunnen ontwikkelaars ook hun eigen code vrijgeven. Uiteindelijk vereenvoudigen geautomatiseerde implementaties het proces, terwijl de downtime van de site en reactionaire triaging tijdens de productie worden verminderd. Levering versnellen. De cloud vermindert wrijving in bijna elke fase van de levenscyclus van softwarelevering. Hoewel instellen vereist is, kost het vaak niet meer dan het dubbele van de tijd die nodig is om het proces handmatig uit te voeren en hoeft u een service of proces slechts eenmaal in te stellen. Versnelde levering geeft u veel flexibiliteit. Beveiliging verhogen. Cloudproviders maken beveiliging onderdeel van hun aanbod. Microsoft Azure, Amazon web Services (AWS) en Google Cloud Platform (GCP) voldoen aan verschillende nalevingsnormen en bieden beleid, services en besturingselementen die u helpen de beveiliging van uw systeem te verbeteren. Als u bovendien een implementatie-pipeline-tool in de cloud gebruikt, kunt u beveiligingscontroles toevoegen voordat nieuwe code wordt vrijgegeven aan een omgeving, waardoor de kans op beveiligingsproblemen wordt verkleind. Afnemende storing. Door middel van cloud build- en release-pijplijnen is uw team in staat om geautomatiseerde tests te maken om de functionaliteit, codekwaliteit, beveiliging en compliance van elke code die in uw systemen is geïntroduceerd te bevestigen. Deze mogelijkheid verkleint de kans op bugs en vermindert tegelijkertijd het risico op problematische implementaties. Veerkrachtiger en schaalbaardere systemen bouwen. Met de cloud kunnen organisaties binnen enkele seconden opschalen, opschalen en capaciteit vergroten. Deze elastische schaal maakt het mogelijk reken- en opslagbronnen naar behoefte te verhogen, ongeacht waar ter wereld uw gebruikers communiceren met uw product. Met deze aanpak kunt u uw klanten beter bedienen en de infrastructuurkosten efficiënter beheren.

Bij de DevOps-benadering draait alles om het creëren van een cyclische methode waar u elke keer van profiteert en van het proces leert.

  1. BusinessOperations ManagementTips voor het verbeteren van engineeringprestaties met DevOps

Van Emily Freeman

Verbetering van de technische prestaties als onderdeel van het DevOps-proces kan grote gevolgen hebben voor het hele bedrijf. Door de ontwikkelingscyclus te stroomlijnen en knelpunten weg te nemen, zullen de algehele prestaties van het bedrijf worden versneld - waardoor uiteindelijk de winst wordt verbeterd. En als u als DevOps-ingenieur denkt dat u zich geen zorgen hoeft te maken over de bedrijfsprestaties, hebt u het mis.

Volgens DevOps Research and Assessment (DORA) overtreffen goed presterende DevOps-teams hun concurrenten consequent op vier belangrijke gebieden:

  • Implementatiefrequentie: deze term verwijst naar hoe vaak uw technici code kunnen implementeren. Verbetering van de prestaties is afgestemd op de inzet van meerdere keren per dag zoals gewenst. Doorlooptijd: doorlooptijd is hoe lang het duurt om van het vastleggen van nieuwe code naar het uitvoeren van die code in een productieomgeving te gaan. De beste artiesten hebben volgens DORA een doorlooptijd van minder dan een uur, terwijl gemiddelde artiesten tot een maand nodig hebben. MTTR (Mean Time to Recovery): MTTR verwijst naar hoe lang het duurt om een ​​service te herstellen na een incident of uitval. In het ideale geval wilt u minder dan een uur mikken. Een stroomuitval kost veel geld, vooral wanneer het de winstcentra van de toepassing beïnvloedt. Lange uitval vernietigt vertrouwen, vermindert het moreel en brengt extra organisatorische uitdagingen met zich mee. Change failure: deze term verwijst naar de snelheid waarmee wijzigingen in uw systeem de prestaties negatief beïnvloeden. Hoewel u nooit een veranderingspercentage van nul procent zult bereiken, kunt u absoluut nul benaderen door uw geautomatiseerde tests te verhogen en te vertrouwen op een implementatiepijplijn met continue integratiecontroles en poorten - die allemaal de kwaliteit garanderen.

Perfectie elimineren als maat voor het succes van DevOps

DevOps vertrouwt op de mantra: "Klaar is beter dan perfect." Het lijkt een van deze onmogelijk toe te schrijven citaten te zijn, maar de woorden spreken niettemin waarheid. Proberen perfectie te bereiken is een vijand van effectiviteit en productiviteit.

De meeste ingenieurs, waaronder die van de DevOps-variëteit, lijden aan een versie van analyse-verlamming - een mentale aandoening die uw productiviteit beperkt in een poging om uw werk te analyseren en mogelijke ongelukken te omzeilen.

Om onvolmaaktheid in uw werk te trainen, moet u de mogelijkheid van mislukking en de onvermijdelijkheid van refactoring omarmen. Het creëren van feedbacklussen rond de klant en teruglussen naar verschillende stadia van de pijplijn zijn primaire huurders van DevOps. In DevOps verbindt u de uiteinden om de lijn in een cirkel te buigen.

Als je iteratief en circulair denkt, lijkt het weggooien van code die niet perfect is een stuk minder eng omdat de code niet in steen is gehouwen. In plaats daarvan is het in een tijdelijke status dat DevOps-ingenieurs regelmatig verbeteren naarmate u meer gegevens en feedback verzamelt.

Kleine teams ontwerpen voor DevOps

Je hebt waarschijnlijk gehoord van Amazon's 'two-pizza'-teams. Het concept spreekt in grote lijnen over het belang van kleine teams. Het exacte aantal mensen dat uit een team met twee pizza's bestaat, hangt af van uw eetlust.

Het is een goed idee om teams onder de 12 mensen te houden. Wanneer een groep 9, 10 of 11 mensen nadert, probeer het dan in tweeën te splitsen. De sweet spot voor groepsgrootte is ongeveer 4-6 personen. Uw exacte aantal kan variëren, afhankelijk van de betrokken mensen, maar het punt is dit: wanneer groepen te groot worden, wordt communicatie een uitdaging, vormen kliekjes en het teamwerk lijdt.

Hier is nog een bonusdoel bij het vormen van DevOps-teams: even nummers. Het is een goed idee om mensen een 'buddy' te geven op het werk - iemand die ze kunnen vertrouwen boven alle anderen. In even genummerde groepen heeft iedereen een buddy en niemand wordt buitengesloten. Je kunt gelijkmatig paren en het werkt meestal goed. Het vormen van even-genummerde groepen is niet altijd haalbaar vanwege personeelsnummers, maar het is iets om in gedachten te houden.

Een formule voor het meten van communicatiekanalen is n (n - 1) / 2, waarbij n staat voor het aantal mensen. U kunt inschatten hoe complex de communicatie van uw team zal zijn door een eenvoudige berekening te maken. De formule voor een team met twee pizza's van 10 zou bijvoorbeeld 10 (10 - 1) / 2 = 45 communicatiekanalen zijn. Je kunt je voorstellen hoe complex grotere teams kunnen worden.

Uw DevOps-werk volgen

Als u de kleine overhead van het noteren van wat u elke dag doet, kunt overkomen, zullen de resultaten u uitzonderlijke waarde bieden. Met echte gegevens over hoe u uw tijd gebruikt, kunt u de efficiëntie van u en uw team volgen. Zoals Peter Drucker beroemd zei: "Als je het niet kunt meten, kun je het niet verbeteren."

Hoeveel dagen verlaat je je werk alsof je niets hebt gedaan? Je had gewoon de hele dag vergadering na vergadering of willekeurige onderbrekingen. Je bent niet alleen. Veel werknemers hebben hetzelfde probleem. Het kan moeilijk zijn om uw voortgang en dus uw productiviteit bij te houden. De divergentie tussen onze gevoelens van werkzaamheid en de realiteit van onze werkzaamheid is gevaarlijk terrein voor elk DevOps-team.

Probeer hiervoor pen en papier te gebruiken in plaats van een geautomatiseerd hulpmiddel. Ja, u kunt software gebruiken om bij te houden hoe u uw tijd op uw computer gebruikt. Het kan je vertellen wanneer je e-mail leest, wanneer je verslapt bent, en wanneer je codeert, maar het mist nuance en mist vaak of onjuist grote delen van tijd.

Nadat je een idee hebt van wat je doet en wanneer, kun je beginnen te identificeren welke activiteiten in welke kwadranten van de Eisenhower-beslissingsmatrix vallen. Welk druk werk doe je routinematig dat geen waarde voor jou of de organisatie oplevert?

Wrijving verminderen in DevOps-projecten

Een van de beste dingen die een manager voor een engineeringteam van DevOps kan doen, is ze met rust te laten. Huur nieuwsgierige ingenieurs in die in staat zijn om zelfstandig problemen op te lossen en laat ze dan hun werk doen. Hoe meer u de wrijving kunt verminderen die hun engineeringwerk vertraagt, hoe effectiever uw team zal zijn.

Het verminderen van wrijving omvat de wrijving die tussen teams bestaat - vooral operaties en ontwikkeling. Vergeet ook specialisten als beveiliging niet.

Door doelen en prikkels op elkaar af te stemmen, neemt de snelheid toe. Als iedereen gericht is op het bereiken van dezelfde dingen, kunnen ze als team samenwerken en methodisch naar die doelen toe gaan.

Humanisering waarschuwen voor succes van DevOps

Elk engineeringteam heeft meldingen over acties of evenementen die er niet toe doen. Het hebben van al die waarschuwingen maakt technici ongevoelig voor de echt belangrijke waarschuwingen. Veel technici zijn geconditioneerd om e-mailmeldingen te negeren vanwege een overvloed aan berichten.

Alert vermoeidheid treft veel technische organisaties en brengt hoge kosten met zich mee. Als je dagelijks wordt overspoeld, is het onmogelijk om het belangrijke uit een zee van het onbelangrijke te kiezen. Je zou zelfs kunnen zeggen dat deze berichten dringend zijn, maar niet belangrijk. . . .

E-mail is geen ideaal middel om te waarschuwen omdat het niet tijdgevoelig is (veel mensen controleren e-mail slechts een paar keer per dag) en het wordt gemakkelijk begraven in andere details.

Pas wat je hebt geleerd over snelle iteratie, herevalueer je waarschuwingsdrempels regelmatig om te zorgen voor een passende hoeveelheid dekking zonder te veel valse positieven. Het identificeren van welke waarschuwingen niet nodig zijn, kost tijd en werk. En het zal waarschijnlijk een beetje eng zijn, toch? Een waarschuwing verwijderen of een drempel verhogen, brengt altijd een beetje risico met zich mee.

Wat als de waarschuwing echt belangrijk is? Als dat zo is, kom je er wel uit. Vergeet niet dat je niet bang kunt zijn voor falen in een DevOps-organisatie. Je moet het omarmen, zodat je vooruit kunt gaan en continu kunt verbeteren. Als je je beslissingen door angst laat leiden, stagneer je - als ingenieur en als organisatie.

  1. BusinessOperations Management DevOps-teams vormen in uw organisatie

Van Emily Freeman

DevOps heeft geen ideale organisatiestructuur. Zoals alles in technologie, hangt het 'juiste' antwoord met betrekking tot de structuur van uw bedrijf af van uw unieke situatie: uw huidige team, uw groeiplannen, de grootte van uw team, de beschikbare vaardigheden van uw team, uw product, en zo verder.

Het afstemmen van de visie van uw DevOps-team moet uw eerste missie zijn. Pas nadat je de laaghangende vrucht van duidelijke wrijving tussen mensen hebt verwijderd, moet je beginnen met het herschikken van teams. Laat zelfs dan enige flexibiliteit toe.

Als u een reorganisatie met openheid en flexibiliteit benadert, stuurt u het bericht dat u bereid bent te luisteren en geeft u uw team autonomie - een basisprincipe van DevOps.

Je hebt misschien al een Python of Go-ontwikkelaar die gepassioneerd en nieuwsgierig is naar infrastructuur- en configuratiebeheer. Misschien kan die persoon overschakelen naar een meer ops-gerichte rol in uw nieuwe organisatie. Plaats jezelf in de schoenen van die persoon. Zou u niet loyaal zijn aan een organisatie die een risico op u heeft genomen? Zou je niet opgewonden zijn om hard te werken? En die opwinding is besmettelijk.

Hier leert u hoe u de bestaande teams kunt afstemmen, een team kunt wijden aan DevOps-praktijken en cross-functionele teams kunt creëren - alle benaderingen waaruit u kunt kiezen om uw teams op DevOps te richten.

U kunt één benadering kiezen en deze vanaf daar laten evolueren. Ik vind niet dat deze beslissing permanent en onbeweeglijk is. DevOps richt zich op snelle iteratie en voortdurende verbetering en dat is het belangrijkste voordeel van deze methodologie. Die filosofie geldt ook voor teams.

Functionele teams uitlijnen voor DevOps

In deze benadering creëert u een sterke samenwerking tussen uw traditionele ontwikkelingsteams en operationele teams. De teams blijven functioneel van aard - één gericht op ops, één gericht op code. Maar hun prikkels zijn op elkaar afgestemd. Ze zullen groeien om elkaar te vertrouwen en werken terwijl twee teams samen jukten.

Voor kleinere engineeringorganisaties is het afstemmen van functionele teams een solide keuze. Zelfs als een eerste stap kan deze uitlijning de positieve veranderingen die je tot nu toe hebt aangebracht, versterken. Meestal start u de afstemming door de tijd te nemen om een ​​rapport op te bouwen. Zorg ervoor dat elke persoon in beide teams niet alleen intellectueel de rol en beperkingen van het andere team begrijpt, maar zich ook inleeft in de pijnpunten.

Voor deze aanpak is het een goed idee om een ​​beleid te promoten van "U bouwt het, u steunt het." Dit beleid houdt in dat iedereen - zowel ontwikkelaar als persoon - deelneemt aan uw on-call rotatie.

Deze deelname stelt ontwikkelaars in staat om de frustraties te begrijpen van het midden in de nacht worden geroepen en worstelen terwijl ze mistig zitten en geen cafeïne hebben om een ​​bug op te lossen die gevolgen heeft voor klanten. Operationele mensen beginnen ook de inzet van uw ontwikkelaars voor hun werk te vertrouwen. Zelfs deze kleine verandering bouwt een buitengewone hoeveelheid vertrouwen op.

Een waarschuwing: als ontwikkelaars hard vechten om op afroep beschikbaar te zijn, speelt er een groter probleem in uw organisatie. De pushback is niet ongewoon omdat oproepbaar zijn enorm verschilt van hun normale dagelijkse verantwoordelijkheden. De pushback komt vaak uit een plaats van ongemak en angst. U kunt deze reactie helpen verminderen door het feit aan te pakken dat uw ontwikkelaars mogelijk niet weten wat ze moeten doen de eerste paar keer dat ze beschikbaar zijn.

Ze zijn misschien niet bekend met de infrastructuur, en dat is prima. Moedig hen aan om het incident te escaleren en iemand met meer ervaring op te roepen. Maak ten slotte een runbook met algemene waarschuwingen en welke acties u moet ondernemen. Het verstrekken van deze bron zal helpen om wat angst te kalmeren totdat ze de dingen onder de knie krijgen.

Een andere tactiek om samenwerking te stimuleren om een ​​meer samenhangend DevOps-team te vormen, is om een ​​dag van schaduwen te introduceren, waarbij elk team een ​​collega 'verhandelt'. De verhandelde persoon schaduwt eenvoudig iemand anders in het team, zit aan hun bureau (of in hun gebied) en helpt bij hun dagelijkse verantwoordelijkheden. Ze kunnen helpen bij het werk, problemen bespreken als een team (programmeren per paar) en meer leren over het systeem vanuit een ander perspectief. Deze stijl van lesgeven is niet normatief.

In plaats daarvan leent het zich voor nieuwsgierigheid en het opbouwen van vertrouwen. Collega's moeten zich vrij voelen om vragen te stellen - zelfs de 'domme' variëteit - en vrijuit leren. Er zijn geen prestatieverwachtingen. De tijd moet worden besteed aan het leren kennen van elkaar en het waarderen van elkaars werk. Elke productieve output is een bonus!

In deze afstemmingsbenadering moeten beide teams absoluut betrokken zijn bij de plannings-, architectuur- en ontwikkelingsprocessen. Ze moeten verantwoordelijkheden en verantwoordelijkheid delen gedurende de hele ontwikkelingscyclus.

Een DevOps-team inzetten

Een toegewijd DevOps-team is meer een evolutie van de Sys Admin dan een echt DevOps-team. Het is een operatieteam met een mix van vaardigheden. Misschien zijn sommige ingenieurs bekend met configuratiebeheer, anderen IaC (infrastructuur als code) en misschien anderen zijn experts in containers of cloud native infrastructuur of CI / CD (continue integratie en continue levering / ontwikkeling).

Als je denkt dat het opnemen van een groep mensen in een officieel team voldoende is om silo's af te breken, heb je het mis. Mensen zijn complexer dan spreadsheets. Hiërarchie betekent niets als uw silo's een fase zijn ingegaan waarin ze ongezond en tribaal zijn. In giftige culturen kan een sterke stijl van leiderschap ontstaan ​​die bijna altijd wordt gevolgd door mensen die partij kiezen. Als je dit in je eigen team ziet, heb je werk te doen.

Hoewel elke aanpak voor uw team kan werken, is deze toegewijde teambenadering degene waarover u het meest moet nadenken. Het grootste nadeel van een toegewijd DevOps-team is dat het gemakkelijk een voortzetting wordt van traditionele engineeringteams zonder de noodzaak te erkennen om teams uit te lijnen, silo's te verminderen en wrijving te verwijderen. De risico's van voortdurende wrijving (of het creëren van meer) zijn hoog in deze benadering. Wees voorzichtig en zorg ervoor dat u deze teamorganisatie om een ​​specifieke reden kiest.

De voordelen van deze DevOps-aanpak is het hebben van een toegewijd team voor het aanpakken van grote infrastructuurwijzigingen of aanpassingen. Als u problemen ondervindt met op activiteiten gerichte problemen die uw implementaties vertragen of problemen met de betrouwbaarheid van de site veroorzaken, kan dit een goede aanpak zijn - zelfs tijdelijk.

Een toegewijd team als u van plan bent om een ​​oude applicatie naar de cloud te verplaatsen. Maar in plaats van dit team een ​​DevOps-team te noemen, kunt u proberen het een automatiseringsteam te noemen.

Deze toegewijde groep ingenieurs kan zich volledig concentreren op het verzekeren van de juiste infrastructuur en automatiseringstools. U kunt vervolgens met vertrouwen doorgaan dat uw toepassing zonder grote verstoring in de cloud terechtkomt. Toch is deze aanpak tijdelijk. Als je het team te lang geïsoleerd houdt, loop je het risico van een gladde helling af te gaan van snelle groei naar ingebedde silo.

Cross-functionele productteams creëren voor DevOps

Een cross-functioneel team is een team gevormd rond een enkele productfocus. In plaats van afzonderlijke teams voor ontwikkeling, gebruikersinterface en gebruikerservaring (UI / UX), kwaliteitsborging (QA) en operaties te hebben, combineert u mensen van elk van deze teams.

Een cross-functioneel team werkt het beste in middelgrote tot grote organisaties. U hebt voldoende ontwikkelaars en operationele mensen nodig om de posities van elk productteam in te vullen. Elk cross-functioneel team ziet er een beetje anders uit.

Het is een goed idee om minimaal één operationeel persoon per team te hebben. Vraag een operationeel persoon niet om zijn verantwoordelijkheden over twee teams te verdelen. Dit scenario is oneerlijk voor hen en zal snel wrijving veroorzaken tussen de twee productteams. Geef uw ingenieurs het voorrecht zich te kunnen concentreren en diep in hun werk te kunnen graven.

Als uw organisatie nog klein is of zich in de opstartfase bevindt, kunt u uw hele engineeringorganisatie beschouwen als een cross-functioneel team. Houd het klein en geconcentreerd. Wanneer u 10-12 personen begint te benaderen, begin dan na te denken over hoe u ingenieurs kunt reorganiseren.

De onderstaande afbeelding laat zien hoe uw cross-functionele teams eruit zouden kunnen zien. Maar houd er rekening mee dat hun samenstelling varieert van team tot team en van organisatie tot organisatie. Sommige producten hebben een sterke ontwerpfocus, wat betekent dat u mogelijk meerdere ontwerpers in elk team hebt. Andere producten zijn technische die zijn ontworpen voor ingenieurs die niet veel om esthetiek geven. Teams voor dat soort producten hebben misschien één ontwerper of helemaal geen.

DevOps-productteam

Als uw organisatie groot genoeg is, kunt u zeker meerdere teams maken met verschillende DevOps-ideeën en -benaderingen. Vergeet niet dat uw organisatie uniek is. Voel u bevoegd om beslissingen te nemen op basis van uw huidige omstandigheden en van daaruit aan te passen. Hier zijn enkele mogelijke combinaties van verschillende soorten productteams.

  • 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

Het nadeel van een cross-functioneel productteam is dat ingenieurs de kameraadschap van ingenieurs met dezelfde vaardigheden en passies verliezen. Het hebben van een groep gelijkgestemde individuen met wie je kunt socialiseren en van wie je kunt leren, is een belangrijk aspect van werkplezier. Bekijk hieronder een oplossing voor dit probleem.

Zoals hieronder wordt getoond, kunt u uw ingenieurs toegewijde werktijd geven om met hun stammen door te brengen. Je kunt zoiets gul doen als een keer per week betalen voor de lunch, zodat ze samen kunnen praten. Of misschien levert u 10-20 procent van de werktijd voor hen op om als stam aan projecten te werken. Hoe dan ook, u hebt uw technici nodig om scherp te blijven.

Stammen delen kennis van de branche, geven goede feedback en ondersteunen loopbaangroei. Geef uw ingenieurs tijd om te leren van mensen met wie ze onderwijs, ervaring en doelen delen. Deze keer biedt een veilige plek waar ze kunnen ontspannen en zich thuis voelen.

DevOps-stammen

Geen enkele hoeveelheid perfecte woorden zal de tekortkomingen van een slechte organisatiecultuur overwinnen. Maar als je tot nu toe aandacht hebt besteed en de juiste stappen hebt gezet, is de volgende stap het vormen van teams die de culturele idealen versterken die je al hebt ingevoerd.

  1. BusinessOperations Management Verplaatsen naar DevOps-processen: van een lijn naar een circuit

Van Emily Freeman

De DevOps-benadering omvat een cyclus in tegenstelling tot een lijn. Het zorgt voor continue integratie en continue levering, waardoor consistente feedback gedurende het hele proces wordt verkregen. De DevOps-methode is slechts een voorbeeld van hoe processen zijn geëvolueerd.

Ontwikkelingsprocessen zijn de laatste decennia ingrijpend veranderd, en niet zonder reden. In de jaren zestig leidde Margaret Hamilton het engineeringteam dat de software ontwikkelde voor de Apollo 11-missie. Je steekt mensen niet iteratief de ruimte in - tenminste niet in de jaren zestig. Het is geen gebied van software waarin "fail fast" aanvoelt als een bijzonder goede aanpak. Er staan ​​levens op het spel, en niet te vergeten miljoenen dollars.

Hamilton en haar collega's moesten software ontwikkelen met behulp van de watervalmethode. De onderstaande afbeelding toont een voorbeeld van een watervalontwikkelingsproces (in een rechte lijn).

waterval proces

De volgende afbeelding voegt de fasen toe. Merk op hoe de pijlen in één richting gaan. Ze tonen een duidelijk begin en een duidelijk einde. Als je klaar bent, ben je klaar. Rechtsaf?

Nee. Zoveel als veel mensen voor altijd weg willen lopen van delen van hun codebases (of ze met vuur willen doden), krijgen ze meestal niet het voorrecht.

De software ontwikkeld door Hamilton en haar team was een enorm succes (het is verbazingwekkend om te denken dat ze zich in Assembly hebben ontwikkeld met nul helpers zoals foutmeldingen). Niet alle projecten waren echter even succesvol.

Later, waar de waterval faalde, slaagde Agile. (DevOps is geboren uit de Agile-beweging.) Agile probeert de rechte lijn van waterval te nemen en deze in een cirkel te buigen, waardoor een eindeloos circuit ontstaat waardoor uw engineeringteam iteratief en continu kan verbeteren.

waterval ontwikkeling pijpleiding

De onderstaande afbeelding laat zien hoe te denken aan de levenscyclus van circulaire ontwikkeling.

DevOps-circuit

Vaak worden de verschillende lussen die door verschillende organisaties worden voorgeschreven, beïnvloed door de producten die leveranciers verkopen. Als de leverancier bijvoorbeeld infrastructuursoftware en tooling verkoopt, benadrukken ze waarschijnlijk dat deel van de ontwikkelingslevenscyclus, misschien het meest gericht op de implementatie, monitoring en ondersteuning van uw software.

Er is hier niets te koop. De fasen waarop hier wordt gefocust, zijn het meest kritisch voor ontwikkelaars, samen met degene waarmee mensen het meest worstelen bij het leren hun softwareontwikkeling beter te beheren en DevOps te gebruiken.

De vijf fasen van de levenscyclus van softwareontwikkeling zijn

  • Planning: de planningsfase van uw DevOps-ontwikkelingsproces is misschien wel de sleutel tot uw DevOps-missie. Het maakt je klaar voor succes of falen onderweg. Het is ook de meest vruchtbare tijd om iedereen samen te brengen. Voor iedereen betekent dit zakelijke stakeholders, verkoop en marketing, engineering, product en anderen. Ontwerpen: bij de meeste bedrijven wordt de ontwerpfase samengevoegd met de coderingsfase. Dit monsterlijke samenspel van ontwerp en code staat geen scheiding van de architecturale strategie en implementatie toe. Als u zaken als databaseontwerp, API-logistiek en belangrijke infrastructuurkeuzes echter aan het einde van de ontwikkelingspijplijn laat staan ​​- of, erger nog, aan de individuele ontwikkelaars die aan afzonderlijke functies werken - zult u snel merken dat uw codebase zo stil is als uw engineeringteam. Codering: de daadwerkelijke ontwikkeling van functies is het gezicht van het DevOps-proces en krijgt alle glorie. Maar dit is een van de minst belangrijke stappen in uw ontwikkelingslevenscyclus. In veel opzichten is het eenvoudigweg de uitvoering van de voorgaande delen van uw pijplijn. Als het goed wordt gedaan, moet codering een relatief eenvoudig en duidelijk proces zijn.

Als je nu een ontwikkelaar bent en gewoon naar die laatste zin snakte omdat je honderden willekeurige en moeilijk op te lossen bugs hebt aangepakt, is het gemakkelijk te begrijpen hoe je je voelt. Codering is moeilijk. Niets aan softwareontwikkeling is eenvoudig. Maar door de planning, het ontwerp en de architectuur te beheersen (en ze te scheiden van de daadwerkelijke implementatie van code), zorgt u ervoor dat de moeilijkste beslissingen van softwareontwikkeling worden weggenomen.

  • Testen: testen is een onderdeel van uw pijplijn waarin ingenieurs uit alle expertisegebieden kunnen duiken en meedoen, wat een unieke gelegenheid biedt om te leren over testen, onderhoudbaarheid en beveiliging. Er zijn veel De zes fasen van de ontwikkeling van software leven verschillende soorten tests om ervoor te zorgen dat uw software werkt zoals verwacht. Implementeren: implementeren is het stadium dat misschien het meest nauw verbonden is met operaties. Traditioneel gebruikt uw operationele team de code die is ontwikkeld door uw ontwikkelaars en is getest door uw Quality Assurance (QA) -team en geeft deze vervolgens vrij aan klanten - waardoor zij alleen verantwoordelijk zijn voor het releaseproces. DevOps heeft een enorme impact gehad in deze fase van het ontwikkelingsproces. Implementatie is ook een van de gebieden waar u de meeste automatiseringstools kunt vinden om aan te trekken. Vanuit DevOps-perspectief is uw prioriteit het vereenvoudigen van het implementatieproces zodat elke technicus in uw team in staat is om zijn code te implementeren. Dit wil niet zeggen dat operaties geen unieke kennis hebben, of dat operatieteams mogelijk worden ontbonden.

Operationele mensen zullen altijd unieke kennis hebben over infrastructuur, taakverdeling en dergelijke. Als u de handmatige taak van het implementeren van software uit uw operationele team verwijdert, kunnen ze u elders tijd en geld besparen. Ze hebben de tijd om te werken aan het verbeteren van de betrouwbaarheid en onderhoudbaarheid van uw applicatie.

Het belangrijkste aspect van een leveringslevenscyclus binnen het DevOps-raamwerk is dat het een echte lus is. Als je aan het einde komt, ga je terug naar het begin. Als u op enig moment onderweg supportfeedback van klanten ontvangt, gaat u terug naar een volgende fase (of de planningsfase) zodat u software kunt ontwikkelen op een manier die uw klanten het beste dient.

Het eerste deel van het bouwen van een pijpleiding is deze lineair te behandelen. Je bouwt een rechte lijn met vaste fasen en controlepunten onderweg. Binnen dit kader kunt u de levenscyclus van softwareontwikkeling zien als iets dat u start en iets dat u beëindigt. Watervalliefhebbers zouden trots zijn.

Maar de realiteit laat je niet in een rechte lijn werken. Je kunt niet zomaar beginnen met het produceren van code, eindigen en weglopen. In plaats daarvan bent u gedwongen om voort te bouwen op de fundamentele software die u in uw eerste iteratieve lus hebt vrijgegeven en deze tijdens de tweede cyclus te verbeteren. En ga zo maar door. Het proces eindigt nooit en u zult nooit stoppen met verbeteren.

Het DevOps-proces helpt u het begin en einde van die rechte pijplijn te verbinden, zodat u het begint te begrijpen als een volledig circuit of lus, zodat u zich continu kunt ontwikkelen en verbeteren.

  1. BusinessOperations ManagementInterviewtechnieken voor het bouwen van een DevOps-team: de juiste technische vaardigheden verkrijgen

Van Emily Freeman

Het kan moeilijk zijn om kandidaten te beoordelen voor de juiste vaardigheden bij het inhuren van DevOps-banen ... maar niet onmogelijk. Met een beetje creativiteit en bereidheid om buiten de kaders te treden, kunt u interviewtechnieken gebruiken om kandidaten te vinden met de juiste technische vaardigheden voor uw DevOps-initiatieven.

DevOps-interview

De leeftijd van stompe raadsels en zweetopwekkende whiteboard-interviews neemt af - en niet zonder reden. Als een whiteboard-interview wordt gefaciliteerd door een engineer die meer geeft om de kandidaat te misleiden dan om een ​​technisch gesprek te bespreken, gaat u nergens snel heen.

Interviewen met whiteboarding hebben de laatste tijd veel hitte gekost omdat ze ondervertegenwoordigde en gemarginaliseerde groepen - waaronder vrouwen en gekleurde mensen - in het nadeel brengen. In dit tijdperk is het absoluut noodzakelijk voor technologiebedrijven om verschillende arbeidskrachten aan te nemen, dus deze situatie is onaanvaardbaar. U moet echter op de een of andere manier de technische bekwaamheid van een persoon meten.

Wat is het antwoord? Het goede nieuws is dat je opties hebt. (Het slechte nieuws is ... je hebt opties.)

Hoe u inhuurt, bepaalt wie u bent.

Bezoek het whiteboard-interview opnieuw voor sollicitanten van DevOps

Het whiteboard-interview was nooit bedoeld om te zijn wat het is geworden. In een whiteboard-interview kreeg de kandidaat DevOps een computerprogramma overhandigd dat op acht vellen papier was gedrukt. De instructies? "Debug het programma." Umm. . . pardon?

Het whiteboard-interview is een situatie geworden waarin je een kandidaat een schijnbaar onmogelijk probleem geeft, hem naar het bord stuurt met een marker en hem intens ziet zweten terwijl vier of vijf mensen hun paniek observeren. Dit type interview geeft niemand kwaliteitsinformatie over of de werkgever of de geïnterviewde goed bij de andere partij past.

Hoewel anderen hebben aangedrongen op de eliminatie van het whiteboard-interview, is hier een meer genuanceerde suggestie: verander het om aan uw DevOps-behoeften te voldoen. Maak er een discussie tussen twee mensen van over een stukje code of een bepaald probleem. Maak van het probleem niet iets geks, zoals het balanceren van een binaire zoekboom. Tenzij de functie waarvoor u solliciteert letterlijk code schrijft in Assembly, hoeft u niet te beoordelen of de kandidaat in staat is om Assembly te schrijven.

Wees je bewust van de DevOps-taak die je wilt vervullen, de vereiste vaardigheden en de beste manier om die vaardigheden bij een kandidaat te meten. Laat een enkele ingenieur in uw team met de kandidaat gaan zitten en over het probleem praten. Hoe zou je het gesprek beginnen? Welke problemen kom je onderweg tegen? Hoe zouden jullie je oplossingen aanpassen aan de uitdagingen die je tegenkomt?

Deze conversatiebenadering bereikt twee dingen voor DevOps-kandidaten:

  • Het vermindert paniek. De meeste mensen denken niet goed onder druk. Bovendien doe je je werk niet elke dag terwijl iemand over je schouder staart en elke typefout of fout bekritiseert. Je zou die baan meteen verlaten. Dwing mensen dus niet op die manier te interviewen. Geef uw kandidaten in plaats daarvan de kans om te laten zien wat ze kunnen doen. U krijgt inzicht in hoe zij denken en communiceren. Het bootst echt werk na. Het gespreksgesprek geeft je een idee van hoe het zou zijn om met deze persoon te werken. Je lost harde problemen op het werk niet op door elkaar te zien worstelen. (Tenminste, dat zou je niet moeten doen. Echt waar. Dat is niet erg collaboratief of DevOps-y, waardoor je collega's in hun silo blijven lijden.) In plaats daarvan werk je samen, wissel je ideeën uit, denk je erover na, maak je fouten, herstel je en vind je een oplossing - samen.

De beste whiteboard-interviews zijn collaboratief, communicatief en gecentreerd rond nieuwsgierigheid - alle dingen die beoefenaars leuk vinden aan DevOps.

Bied take-home tests aan voor DevOps-kandidaten

Een alternatief voor een meer traditioneel whiteboard-interview is de take-home-test. Dit type test is bijzonder vriendelijk voor mensen die enige vorm van angst of onzichtbare handicap hebben die van invloed is op hun vermogen om deel te nemen aan een whiteboard-interview. Deze stijl van interview is ook vriendelijk voor ingenieurs die intens worstelen met het imposter-syndroom.

Imposter-syndroom beschrijft hoogpresterende individuen die moeite hebben om hun successen te internaliseren en een hardnekkig gevoel van blootstelling als fraude ervaren.

Een take-home test bestaat uit een soort probleem dat een DevOps-kandidaat thuis op zijn eigen tijd kan oplossen. Take-home tests worden vaak opgezet als een testpakket waarvoor de kandidaat code moet schrijven om de tests te laten slagen.

Als alternatief kan het probleem iets relatief kleins zijn, zoals: "Maak een programma in [uw eigen taal] dat invoer vereist en de tekens omkeert." De opties zijn eindeloos en u kunt de test aanpassen aan uw technische stapel als je ziet het goed.

U kunt zelfs DevOps-kandidaten vragen om hun sollicitatie te implementeren. Zorg ervoor dat kandidaten de mogelijkheid hebben om open source-tools te gebruiken of hen de nodige abonnementen verstrekken om bepaalde technologieën te gebruiken.

Het grote nadeel van tests om mee naar huis te nemen, is dat je mensen vraagt ​​om 's avonds of in het weekend de tijd te nemen om te doen wat in wezen vrij werk is. Zelfs als u ze betaalt voor hun werk aan de meeneemtest, kan deze stijl van interview onterecht gevolgen hebben voor een DevOps-kandidaat die buiten het werk andere verantwoordelijkheden heeft, waaronder de zorg voor kinderen, een partner of zieke ouders.

Niet elke geweldige ingenieur heeft onbeperkte tijd om zich in te zetten voor hun vak. Maar als u uw DevOps-kandidatenpool beperkt tot mensen die het zich kunnen veroorloven 5-10 uur te wijden aan een meeneemtest, zult u snel merken dat uw team homogeen en stagneert.

Review code met DevOps-kandidaten

Een interviewtechniek die echt veelzeggend kan zijn, is wanneer je met een technicus of een groep technici gaat zitten om samen echte bugs in echte code op te lossen. U kunt een paar benaderingen volgen voor een realtime codegesprek.

U kunt een take-home-test nabootsen en de kandidaat een uur of zo geven om een ​​programma te maken of een functie te schrijven om een ​​reeks tests te laten slagen. Je kunt het interview ook opvoeren als een codebeoordeling waarin je een echte PR ophaalt en onderzoekt wat de code doet en wat kan worden verbeterd.

In veel opzichten combineert het paarprogrammeringskarakter van een codebeoordeling de beste delen van zowel een whiteboard-interview als een take-home-test - maar zonder enkele van hun grote nadelen.

Paren programmeren is een technische praktijk waarbij twee ingenieurs gaan zitten en samen een probleem oplossen. Gewoonlijk "rijdt" een persoon door het toetsenbord te bezitten, maar zij beslissen samen welke aanpak het beste is, welke code moet worden toegevoegd en wat weg te nemen.

Als de DevOps-positie een op operaties gerichte rol inhoudt, is deze realtime codeerbenadering nog beter. Hoewel veel ops-mensen leren infrastructuur te implementeren als code of configuraties beheren, hebben ze niet dezelfde ervaring als ontwikkelaars.

Nagaan wat iets doet en hoe het zou kunnen werken, is een fantastische manier om te bevestigen dat de kandidaat ervaring heeft met de lijst met tools en technologieën op zijn cv en zorgt ervoor dat de kandidaat met een team kan communiceren.

Het bouwen van uw DevOps-team is een individuele bezigheid. Uw DevOps-team hoeft niet overeen te komen met anderen die u hebt gezien. Evalueer uw doelen en selecteer de juiste kandidaat voor elke DevOps-taak.

  1. BusinessOperations ManagementContinuous Integration and Continuous Delivery: Implementeren en profiteren van CI / CD

Van Emily Freeman

De groei van de DevOps-cultuur heeft de manier veranderd waarop ontwikkelaars software bouwen en verzenden. Voordat de Agile-mindset ontstond, kregen ontwikkelingsteams een functie toegewezen, gebouwd en vervolgens vergeten. Ze gooiden de code over naar het QA-team, dat deze vervolgens teruggooide vanwege bugs of verplaatst naar het operationele team. Operations was verantwoordelijk voor de inzet en het onderhoud van de code in productie.

Dit proces was op zijn zachtst gezegd onhandig en veroorzaakte nogal wat conflicten. Omdat teams in silo's bestonden, hadden ze weinig tot geen inzicht in hoe andere teams werkten, inclusief hun processen en motivaties.

CI / CD, wat staat voor continue integratie en continue levering (of implementatie), heeft als doel de muren af ​​te breken die historisch tussen teams hebben bestaan ​​en in plaats daarvan een soepeler ontwikkelingsproces in te stellen.

Voordelen van continue integratie en continue levering

CI / CD biedt vele voordelen. Het bouwen van een CI / CD-pijplijn kan echter tijdrovend zijn, plus het vereist een buy-in van het team en leidinggevend management.

Enkele voordelen van CI / CD zijn onder meer:

  • Grondige geautomatiseerde testen: zelfs de meest eenvoudige implementatie van CI / CD vereist een robuust testpakket dat kan worden uitgevoerd op basis van de code telkens wanneer een ontwikkelaar zijn wijzigingen doorvoert naar de hoofdtak. Versnelde feedback-lus: ontwikkelaars ontvangen onmiddellijke feedback met CI / CD. Geautomatiseerde tests en gebeurtenisintegraties mislukken voordat nieuwe code wordt samengevoegd. Dit betekent dat ontwikkelaars de ontwikkelingscyclus kunnen verkorten en functies sneller kunnen implementeren. Verminderde interpersoonlijke conflicten: automatisering van processen en vermindering van wrijving tussen teams stimuleert een meer op samenwerking gerichte werkomgeving waarin ontwikkelaars doen wat ze het beste doen: oplossingen voor ingenieurs. Betrouwbaar implementatieproces: iedereen die een implementatie op een vrijdagmiddag heeft teruggedraaid, kan u vertellen hoe belangrijk het is dat implementaties soepel verlopen. Continue integratie zorgt ervoor dat code goed wordt getest en betrouwbaar presteert in een productie-achtige omgeving voordat deze ooit een eindgebruiker bereikt.

Implementeren van continue integratie en continue levering

CI / CD is geworteld in agile methodologieën. U zou de implementatie van CI / CD moeten overwegen als een iteratief proces. Elk team kan profiteren van een versie van CI / CD, maar het aanpassen van de algemene filosofie zal sterk afhangen van uw huidige technische stapel (de talen, frameworks, tools en technologie die u gebruikt) en cultuur.

Continue integratie

Teams die continue integratie (CI) oefenen, voegen codewijzigingen zo vaak mogelijk terug in de master- of ontwikkelingstak. CI gebruikt meestal een integratietool om de build te valideren en geautomatiseerde tests uit te voeren op basis van de nieuwe code.

Met het proces van CI kunnen ontwikkelaars in een team op hetzelfde gebied van de codebase werken, terwijl wijzigingen minimaal blijven en massale samenvoegconflicten worden vermeden.

Om continue integratie te implementeren:

  • Schrijf geautomatiseerde tests voor elke functie. Dit voorkomt dat bugs worden ingezet in de productieomgeving. Stel een CI-server in. De server controleert de hoofdrepository op wijzigingen en activeert de geautomatiseerde tests wanneer nieuwe commits worden gepusht. Uw CI-server zou snel tests moeten kunnen uitvoeren. Werk ontwikkelaarsgewoonten bij. Ontwikkelaars moeten wijzigingen vaak weer samenvoegen in de hoofdcodebase. Dit samenvoegen moet minimaal één keer per dag plaatsvinden.

Doorlopende bezorging

Continue levering is een stap voorwaarts ten opzichte van CI, omdat ontwikkelaars elke wijziging van de code als te leveren beschouwen. In tegenstelling tot continue implementatie moet een vrijgave echter worden geactiveerd door een mens en kan de wijziging niet onmiddellijk aan een eindgebruiker worden geleverd.

In plaats daarvan worden implementaties geautomatiseerd en kunnen ontwikkelaars hun code samenvoegen en implementeren met een enkele knop. Door kleine, vaak geleverde iteraties te maken, zorgt het team ervoor dat ze problemen gemakkelijk kunnen oplossen.

Nadat de code de geautomatiseerde tests heeft doorstaan ​​en is gebouwd, kan het team de code implementeren in elke omgeving die ze specificeren, zoals QA of staging. Vaak beoordeelt een peer de code handmatig voordat een engineer deze samenvoegt in een productie-releasetak.

Doorlopende levering implementeren:

  • Heb een sterke basis in CI. Het geautomatiseerde testpakket moet groeien in samenhang met de ontwikkeling van functies en u moet testen toevoegen telkens wanneer een bug wordt gemeld. Automatiseer releases. Een mens initieert nog steeds implementaties, maar de release moet een éénstapsproces zijn - een simpele klik op een knop. Overweeg functievlaggen. Functievlaggen verbergen onvolledige functies van specifieke gebruikers, zodat uw collega's en klanten alleen de functionaliteit zien die u wenst.

Continue inzet

Continue inzet brengt continue levering zelfs een stap verder dan continue levering. Elke wijziging die de volledige productie-releasepijplijn passeert, wordt geïmplementeerd. Dat klopt: de code wordt direct in productie genomen.

Voortdurende implementatie elimineert menselijke interventie uit het implementatieproces en vereist een grondig geautomatiseerde testreeks.

Doorlopende implementatie implementeren:

  • Handhaaf een sterke testcultuur. U moet testen als een kernonderdeel van het ontwikkelingsproces beschouwen. Documenteer nieuwe functies. Geautomatiseerde releases mogen de API-documentatie niet overtreffen. Coördineren met andere afdelingen. Betrek afdelingen zoals marketing en klantensucces om een ​​soepel uitrolproces te garanderen.
  1. BusinessOperations ManagementTop 10 DevOps-valkuilen: waarom uw softwareprojecten mislukken

Van Emily Freeman

Het bevorderen van een DevOps-cultuur en het selecteren van tools om uw DevOps-aanpak te ondersteunen, komt uw organisatie ten goede. De DevOps-aanpak galvaniseert uw engineeringteam en richt uw productontwikkeling op uw klant.

Telkens wanneer u echter probeert een enorme verandering in de onderstroom van uw organisatie aan te brengen, staat u voor uitdagingen en krijgt u te maken met tegenslagen. Terwijl je transformeert naar DevOps, zul je unieke verkeersdrempels ontdekken die jij en je team moeten overwinnen.

Hoewel je onmogelijk elk obstakel kunt voorspellen dat je tegenkomt, kan dit artikel je voorbereiden op de tien meest voorkomende valkuilen van DevOps. Onthoud dat hoe u uw DevOps-praktijk ook benadert, uw prioriteiten moeten blijven gericht op mensen, processen en technologie - in die volgorde.

Geen prioriteit geven aan cultuur in uw DevOps-project

DevOps is meer dan iets anders een culturele beweging. De cultuur die u bij uw organisatie bouwt, zal uw DevOps-praktijk maken of breken. Je DevOps-cultuur moet de nadruk leggen op samenwerking, vertrouwen en technische empowerment. Als je automatisering nagelist, maar die culturele componenten mist, zul je waarschijnlijk falen.

Eigenlijk maakt tooling niet zoveel uit. De tools die u tot uw beschikking hebt, lijken meer op elkaar. Hoewel de problemen die ze oplossen belangrijk zijn, kan geen van deze problemen worden vergeleken met de bijna eindeloze frustratie van het proberen om ontwikkelaars en operationele mensen - en ook andere teams, zoals beveiliging - te verenigen in een traditionele technische organisatie.

DevOps wil ingenieurs (evenals bedrijfsgroepen) galvaniseren. Het creëert een basis waarop iedereen kan leren, delen en groeien. Die persoonlijke versnelling zal uw hele engineeringorganisatie van brandstof voorzien om sneller betere DevOps-software te maken. De technici die u in uw team hebt, zijn het waardevolste bezit dat u hebt. Behandel ze goed door ze respect en de ruimte te geven om te doen waar ze goed in zijn - oplossingen ontwerpen.

Anderen achterlaten terwijl je verder gaat met DevOps

Intern de zaak verdedigen voor DevOps zal het type basis bepalen dat u voor uw cultuur bouwt. Zoek naar vruchtbare grond. Als je te snel beweegt en belangrijke mensen niet overtuigt van het belang van een DevOps-transformatie, zullen mensen je bewegingen sceptisch bekijken en de eerste kans zien om iedereen te laten zien dat je ongelijk hebt. Dat is geen leuke positie om in te zitten en je wilt deze reis nooit beginnen met mensen die wachten tot je faalt.

Om succesvol te zijn, heb je iedereen aan boord van het DevOps-schip nodig, zelfs de nee-zeggers en sceptici. Ingenieurs kunnen sceptisch zijn. Na een decennium of twee in deze branche hebben ze veel ideeën en nieuwe benaderingen zien komen en gaan. Ze kunnen DevOps gemakkelijk afschudden als "gewoon een andere mislukte aanpak" voor dezelfde oude problemen. En als je het slecht implementeert, zal DevOps inderdaad gewoon een andere mislukte aanpak zijn. U en uw team moeten anderen van het potentieel overtuigen en actie ondernemen op een manier die iedereen uitnodigt om aan tafel te gaan.

Probeer leidinggevenden te overtuigen met gegevens en het potentieel voor versnelde softwarelevering. Maar ingenieurs moeten weten hoe DevOps hun werk aangenamer zal maken. Laat zien hoe DevOps aansluit op de bedrijfsbehoeften en wrijving vermindert langs de pijplijn voor softwarelevering.

Zorg er wel voor dat u het concept niet overdrijft. DevOps-uitdagingen zullen gebeuren. DevOps is geen zilveren kogel en vereist in het begin intensief werk om ervoor te zorgen dat het team een ​​leercultuur creëert waarin ingenieurs vrij zijn om fouten te maken en te groeien.

Nadat u een evenementenhorizon hebt bereikt waar genoeg mensen in DevOps geloven, kunt u doorgaan met de wetenschap dat u de steun van uw organisatie en de mensen daarin hebt.

Vergeten om incentives in uw DevOps-project op elkaar af te stemmen

Als u niet van plan bent prikkels af te stemmen op wat u van bepaalde teams of specifieke ingenieurs verwacht, ontstaan ​​er meer uitdagingen. De echte tool van DevOps, als je het kunt beheersen, is empowerment. U wilt uw technici in staat stellen hun werk goed te doen, zonder interferentie. U hebt getalenteerde ingenieurs aangenomen, dus vertrouw op hun vermogen om hun verantwoordelijkheden te vervullen.

Wanneer ontwikkelaars bijvoorbeeld een oproep tijdens een oproep gebruiken, beschouwen sommige organisaties dit als een beetje een straf. "Je hebt het gebouwd, je steunt het," vult mensen niet echt met gelukkige gevoelens. In plaats daarvan voelt het als een andere vorm van verantwoordelijkheid. Maar een humane en gelijkmatig verdeelde on-call-rotatie stelt ontwikkelaars niet alleen in staat om eigenaar te worden van hun werk, het creëert ook leermogelijkheden voor het hele team.

In DevOps straft u ingenieurs niet voor onvolmaakt werk; in plaats daarvan deel je verantwoordelijkheid en cultiveer je een organisatie die waarde hecht aan leren en iedereen in staat stelt nieuwsgierig te zijn en deel te nemen aan technische gebieden waar ze minder vertrouwd mee zijn.

Het afstemmen van prikkels en het creëren van mogelijkheden voor samenwerking is uw doel om uw producten te verbeteren en uw klanten beter te bedienen. Als iedereen is afgestemd op het doel om geweldige diensten voor uw klanten te creëren via DevOps, zult u zien dat de groep begint te galvaniseren.

Zwijgen over uw DevOps-project

DevOps is de antithese van geheimen en backroom-onderhandelingen. In plaats daarvan legt het alles op tafel en dwingt u om de integriteit van de mensen in uw organisatie te vertrouwen. Wanneer u voor het eerst open communicatie introduceert, kan het conflict toenemen. Dat doet het niet. In plaats daarvan zie je gewoon voor het eerst de wrijvingspunten. In plaats van het conflict onder de oppervlakte te laten brouwen, voelen mensen zich veilig genoeg om hun zorgen te uiten en hun mening te uiten.

Een belangrijk aspect van open communicatie is om het gedurende de hele levenscyclus van het product gaande te houden - van idee tot productie. U moet ingenieurs betrekken bij de planning van discussies, architectuurbeslissingen, updates van ontwikkelingsvoortgangen en implementaties.

Hoewel deze nadruk op communicatie meer uitgebreide discussies oplevert, biedt het ook ingenieurs de mogelijkheid om zichtbaarheid buiten hun kerngebied van expertise te hebben, wat hen op hun beurt in staat stelt om anderen te adviseren terwijl ze uitgerust zijn met de context die nodig is om goede beslissingen te nemen.

Houd de klant - en wat zij verwachten van het product dat u bouwt - centraal in elke discussie en beslissing. Als je in lijn blijft met dat doel, zul je zeker samen verder gaan als één eenheid.

Vergeten om uw DevOps-voortgang te meten

Het meten van je voortgang is cruciaal voor het succes van DevOps. Het leent u validatie bij het maken van het argument voor DevOps aan twijfelende belanghebbenden, helpt u overtuigende leidinggevenden te overtuigen en herinnert uw engineeringteam eraan hoeveel ze hebben bereikt.

Maak een basislijn voordat u een enkele wijziging aanbrengt. Kies een kleine set gegevens die u tijdens uw hele proces wilt volgen. Deze gegevens informeren je beslissingen en dienen als brandstof om door te gaan met duwen wanneer je tegenslagen raakt. Potentiële metingen omvatten:

  • Emstakeployee-tevredenheid: werken uw ingenieurs graag in uw organisatie? Maandelijkse terugkerende omzet (MRR): Hoeveel verdient u met klanten? Klantentickets: Hoeveel bugs worden door uw klanten gemeld? Implementatiefrequentie: hoeveel implementaties heeft u elke week of maand? Gemiddelde tijd tot herstel (MTTR): hoe lang duurt het om te herstellen van een storing in de service? Beschikbaarheid van services: wat is de uptime van uw applicatie? Haalt u uw huidige service level agreements? Mislukte implementaties: hoeveel releases veroorzaken serviceonderbrekingen? Hoeveel moeten er worden teruggedraaid?

Micromanaging van uw DevOps-project

Een van de snelste manieren om uw ingenieurs te ondermijnen, is hun werk te micromanagen. Dan Pink, auteur van het boek Drive, is van mening dat motivatie op het werk wordt bepaald door drie factoren:

  • Autonomie Meesterschap Doel

Extrinsieke motivatoren zoals hoge salarissen, bonussen en aandelenopties kunnen op de korte termijn werken, maar de tevredenheid op de lange termijn hangt meer af van persoonlijke en professionele groei. Je wilt dat je ingenieurs bestaan ​​in de spanning dat ze zich uitgedaagd voelen, maar niet overweldigd door stress. Die fijne plek is voor iedereen anders. Het is een DevOps-uitdaging, maar ooit kan dat een wereld van verschil maken als het goed wordt gedaan. Als je iemands passie kunt oproepen, zullen ze zeker enthousiast werken.

Vertrouwen kan een DevOps-uitdaging zijn. Het is absoluut cruciaal voor DevOps-organisaties. U moet uw collega's, collega's, ingenieurs, managers en leidinggevenden vertrouwen. U moet ook vertrouwen op de rollen en verantwoordelijkheden van de verschillende afdelingen in uw organisatie - wat niet wil zeggen dat u nooit een conflict zult hebben. Natuurlijk zullen wrijvingsmomenten tussen mensen plaatsvinden. Maar het minimaliseren van die momenten en het mogelijk maken van een gezonde conflictoplossing onderscheidt DevOps-gerichte engineeringteams van hun concurrentie.

Te veel veranderen, te snel

Veel teams brengen te snel te veel wijzigingen aan. Mensen houden niet van verandering. DevOps is voordelig op de lange termijn, snelle veranderingen in de normale manier van doen kunnen ingenieurs schokken.

Een tekortkoming van DevOps is dat het betekent dat iedereen in het greenfield (nieuwe software) leeft met regenbogen en eenhoorns. Het kan klinken als: "Als u uw team maar kunt laten samenwerken, is softwareontwikkeling eenvoudig!" Dat is niet waar. Software engineering is moeilijk en zal altijd moeilijk zijn. Dat vinden de meeste ingenieurs leuk. Je houdt van een uitdaging. Maar uitdagingen moeten stimulerend zijn, niet stressvol.

DevOps heeft niet als doel alle intellectuele uitdagingen van engineering te verwijderen. In plaats daarvan biedt het aan om de wrijving tussen mensen te minimaliseren, zodat iedereen zich op zijn werk kan concentreren. Als je te snel probeert te veel veranderingen aan te brengen, kun je je midden in een totale opstand bevinden - Mutiny on the Binary.

DevOps-tools slecht kiezen

Hoewel je tooling in DevOps voorrang geeft - en terecht - is tooling nog steeds een factor. Zelfs het minst belangrijke aspect van DevOps draagt ​​bij aan uw algehele succes. De tools die u selecteert, moeten de problemen oplossen die uw technische team ondervindt, maar moeten ook aansluiten bij de stijl, kennis en comfortgebieden van uw bestaande team.

Wees niet bang om verschillende oplossingen te proberen en te kijken welke het beste past. Het is de moeite waard om een ​​paar weken te besteden aan een minimaal levensvatbaar product (MVP) of proof of concept (POC) om een ​​tool te testen. Zelfs als je het uiteindelijk weggooit, is het 'verspillen' van de technische middelen verkieslijker dan all-in te gaan op een bepaalde technologie om er een jaar later achter te komen dat het niet goed past.

Angst voor uw DevOps-project

Snel falen is een korte manier om te zeggen dat je constant moet itereren om problemen vroeg in het proces te identificeren zonder veel tijd en geld te spenderen. het is iets waar veel mensen in de technologie over praten en weinigen daadwerkelijk implementeren omdat het snelle iteratie vereist in een omgeving waarin fouten een kleine straal hebben en gemakkelijk kunnen worden gecorrigeerd. Te vaak beweren bedrijven een fail-fast mentaliteit en ontslaan in plaats daarvan de eerste ingenieur die een productiedatabase verwijdert. (Alsof een technicus daar nooit een productiedatabase heeft verwijderd...)

In de context van DevOps is het echter beter om goed te falen dan snel te falen. Goed falen houdt in dat u beschikt over monitoring om u te waarschuwen voor mogelijke problemen lang voordat de situatie gevolgen heeft voor klanten. Goed falen betekent ook dat je je systeem op een gesegmenteerde manier hebt ontworpen die voorkomt dat een service die omvalt in een systemische storing terechtkomt. Maar organisaties die falen, gaan ook nog een stap verder: ze geven mensen niet de schuld. In plaats daarvan zoeken ze naar fouten in systemen en processen.

Kaizen is het Japanse woord voor continue verbetering. In DevOps betekent kaizen uw processen continu verbeteren. Het is niet een sexy transformatie die een begin en een einde heeft. Het doel is niet om van nul naar perfect te gaan. In plaats daarvan moedigt DevOps aan om langzaam en geleidelijk te werken aan het verbeteren van één ding, elke dag. Zou je je niet tevreden voelen als je elke avond je werk verlaat en weet dat slechts een klein aspect van het werk beter is vanwege jou? Veel ingenieurs voelen zich zo.

In plaats van te proberen koste wat kost te voorkomen, staat DevOps op een groeimindset. Falen is geen teken van domheid of slechte voorbereiding. Het is een marker voor groei en een noodzakelijke stap in innovatie. Innovatie is een resultaat dat u zou moeten nastreven, zelfs als het betekent dat u af en toe faalt.

Als je te rigide bent, ontstaan ​​er problemen met DevOps

DevOps is niet voorgeschreven en dat is zowel het beste als het slechtste ervan. DevOps zou zoveel gemakkelijker te implementeren zijn als u een lijst had met tien stappen die u kon nemen om DevOps nirvana te bereiken. Was het maar zo makkelijk! Maar mensen werken niet op die manier en groepen mensen - zoals in engineeringteams en in grote organisaties - creëren nog meer complexiteiten die moeten worden aangepakt.

Hoewel er geen blauwdruk bestaat voor het bouwen van een DevOps-organisatie, bent u bevoegd om de methodologie aan te passen aan werkwijzen die voor u en uw team werken. U kent uw organisatie en als deskundige moet u buiten de kaders denken bij het toepassen van de basisprincipes. Sommige dingen in DevOps zullen perfect bij je passen. Anderen zullen het gevoel hebben een jas te dragen die slechts één maat te klein is. Dat is goed.

Je gaat fouten maken. Niemand is perfect. Maar als je een beetje loslaat, je technici machtigt en je team vertrouwt, zul je geweldige resultaten zien. Begin maar. En onthoud: nodig iedereen uit aan tafel, meet uw vooruitgang, geef prioriteit aan cultuur boven technologie en geef uw ingenieurs de mogelijkheid om te doen waar ze goed in zijn.

  1. BusinessOperations Management Wat is DevOps?

Van Emily Freeman

Wat is DevOps? Het is moeilijk om u een exact DevOps-recept te geven, omdat er geen bestaat. DevOps is een filosofie die softwareontwikkeling begeleidt, een die mensen prioriteit geeft boven proces en proces boven tooling. DevOps bouwt een cultuur van vertrouwen, samenwerking en voortdurende verbetering.

DevOps-cyclus

Als een cultuur beschouwt de DevOps-filosofie het ontwikkelingsproces op een holistische manier, rekening houdend met alle betrokkenen: ontwikkelaars, testers, operationele mensen, beveiliging en infrastructuuringenieurs. DevOps plaatst geen van deze groepen boven de anderen en rangschikt het belang van hun werk ook niet. In plaats daarvan behandelt een DevOps-bedrijf het hele team van ingenieurs als cruciaal om ervoor te zorgen dat de klant de best mogelijke ervaring heeft.

DevOps is geëvolueerd van Agile

In 2001 ontmoetten 17 software-ingenieurs het 'Manifesto for Agile Software Development', waarin de 12 principes van Agile-projectbeheer werden beschreven. Deze nieuwe workflow was een reactie op de frustratie en inflexibiliteit van teams die in een waterval (lineair) proces werkten.

Omdat ze volgens Agile-principes werken, hoeven ingenieurs zich niet aan de oorspronkelijke vereisten te houden of een lineaire ontwikkelingsworkflow te volgen waarin elk team het werk aan het volgende overdraagt. In plaats daarvan kunnen ze zich aanpassen aan de steeds veranderende behoeften van het bedrijf of de markt, en soms zelfs aan de veranderende technologie en tools.

Hoewel Agile op veel manieren een revolutie teweegbracht in softwareontwikkeling, kon het conflict tussen ontwikkelaars en operationele specialisten niet worden aangepakt. Silo's ontwikkelden zich nog steeds rond technische vaardigheden en specialiteiten, en ontwikkelaars gaven nog steeds code door aan operationele mensen om in te zetten en te ondersteunen.

In 2008 sprak Andrew Clay Shafer met Patrick Debois over zijn frustraties met het constante conflict tussen ontwikkelaars en operationele mensen. Samen lanceerden ze het eerste DevOpsDays-evenement in België om een ​​betere - en meer flexibele - manier te creëren om softwareontwikkeling te benaderen. Deze evolutie van Agile heeft zich doorgezet en DevOps heeft sindsdien bedrijven over de hele wereld in staat gesteld om sneller betere software te produceren (en meestal goedkoper). DevOps is geen bevlieging. Het is een algemeen geaccepteerde technische filosofie.

DevOps richt zich op mensen

Iedereen die zegt dat DevOps draait om tooling, wil je iets verkopen. Boven alles is DevOps een filosofie die zich richt op ingenieurs en hoe zij beter kunnen samenwerken om geweldige software te produceren. U kunt miljoenen uitgeven aan elke DevOps-tool ter wereld en nog steeds niet dichter bij DevOps nirvana zijn.

Richt u in plaats daarvan op uw belangrijkste technische bedrijfsmiddel: ingenieurs. Gelukkige ingenieurs maken geweldige software. Hoe maak je gelukkige ingenieurs? Welnu, u creëert een collaboratieve werkomgeving waarin wederzijds respect, gedeelde kennis en erkenning van hard werken kan gedijen.

Bedrijfscultuur is de basis van DevOps

Uw bedrijf heeft een cultuur, zelfs als deze zich door inertie heeft ontwikkeld. Die cultuur heeft meer invloed op uw werktevredenheid, productiviteit en teamsnelheid dan u waarschijnlijk beseft.

Bedrijfscultuur kan het best worden omschreven als de onuitgesproken verwachtingen, gedrag en waarden van een organisatie. Cultuur is wat uw werknemers vertelt of bedrijfsleiderschap open staat voor nieuwe ideeën. Het is wat de beslissing van een werknemer informeert om met een probleem naar voren te komen of het onder het tapijt te vegen.

Cultuur is iets om te ontwerpen en te verfijnen, niet iets om aan het toeval over te laten. Hoewel de feitelijke definitie van bedrijf tot bedrijf en van persoon tot persoon varieert, is DevOps in de kern een culturele benadering van engineering.

Een giftige bedrijfscultuur zal je DevOps-reis doden voordat het zelfs begint. Zelfs als uw engineeringteam een ​​DevOps-mentaliteit aanneemt, zullen de attitudes en uitdagingen van het grotere bedrijf in uw omgeving doordringen.

Met DevOps vermijdt u de schuld, groeit het vertrouwen en concentreert u zich op de klant. U geeft uw ingenieurs autonomie en stelt hen in staat om te doen waar ze goed in zijn: oplossingen voor ingenieurs. Wanneer u DevOps begint te implementeren, geeft u uw technici de tijd en ruimte om zich hieraan aan te passen, zodat ze elkaar beter leren kennen en een verstandhouding opbouwen met ingenieurs met verschillende specialiteiten.

Je meet ook de voortgang en beloont prestaties. Geef individuen nooit de schuld van fouten. In plaats daarvan moet het team continu samen verbeteren en moeten prestaties worden gevierd en beloond.

Je leert door je proces te observeren en gegevens te verzamelen

Het observeren van uw workflow zonder verwachting is een krachtige techniek om de successen en uitdagingen van uw workflow realistisch te zien. Deze observatie is de enige manier om de juiste oplossing te vinden voor de gebieden en problemen die knelpunten in uw processen veroorzaken.

Net als bij software, is het niet noodzakelijkerwijs een oplossing voor sommige Kubernetes (of een andere nieuwe tool) voor een probleem. Je moet weten waar de problemen liggen voordat je ze gaat oplossen. Terwijl u doorgaat, verzamelt u gegevens - niet om succes of mislukking te meten, maar om de prestaties van het team bij te houden. U bepaalt wat werkt, wat niet werkt en wat u de volgende keer moet proberen.

Overtuiging is de sleutel tot de goedkeuring van DevOps

Het idee van DevOps verkopen aan uw leiders, collega's en werknemers is niet eenvoudig. Het proces is ook niet altijd intuïtief voor ingenieurs. Zou een geweldig idee niet gewoon zichzelf moeten verkopen? Was het maar zo makkelijk. Een belangrijk concept om altijd rekening mee te houden bij het implementeren van DevOps is dat het de nadruk legt op mensen.

hij zogenaamde "soft skills" van communicatie en samenwerking staan ​​centraal in uw DevOps-transformatie. Het overtuigen van andere mensen in uw team en binnen uw bedrijf om DevOps te adopteren vereist het oefenen van goede communicatievaardigheden. Vroege gesprekken die je met collega's over DevOps hebt, kunnen je op weg helpen naar succes, vooral wanneer je een onverwachte verkeersdrempel krijgt.

Kleine, incrementele wijzigingen zijn onbetaalbaar in DevOps

Het aspect van DevOps dat de nadruk legt op het aanbrengen van veranderingen op kleine, incrementele manieren, heeft zijn wortels in lean manufacturing, dat versnelde feedback, voortdurende verbetering en snellere time-to-market omvat.

Water is een goede metafoor voor DevOps-transformaties. Water is een van de krachtigste elementen ter wereld. Tenzij mensen de vloedwateren voor hen zien stijgen, beschouwen ze het als relatief onschadelijk. De Colorado-rivier heeft de Grand Canyon uitgehouwen. Langzaam, gedurende miljoenen jaren, sneed water door steen om bijna twee miljard jaar grond en gesteente bloot te leggen.

Je kunt als water zijn. Wees de langzame, meedogenloze verandering in uw organisatie. Hier is dat beroemde citaat uit een interview met Bruce Lee om je te inspireren:

Wees vormloos, vormloos, zoals water. Nu doe je water in een beker, het wordt de beker. Je doet water in een fles, het wordt de fles. Je stopt het in een theepot, het wordt de theepot. Nu kan water stromen of crashen. Wees water mijn vriend.

Het aanbrengen van incrementele wijzigingen betekent bijvoorbeeld dat u een probleem vindt en dat probleem oplost. Dan repareer je de volgende. Je gaat niet te snel de strijd aan en je kiest niet elke strijd om te vechten. Je begrijpt dat sommige gevechten niet de energie of het sociale kapitaal waard zijn dat ze je kunnen kosten.

Uiteindelijk is DevOps geen lijst met stappen die u kunt nemen, maar is het eerder een aanpak die richting moet geven aan de beslissingen die u neemt terwijl u zich ontwikkelt.

  1. BusinessOperations ManagementDevOps voor cheatsheet voor dummies
  2. BusinessOperations ManagementBase Transferprijs op volledige kosten

Door Mark P. Holtzman

Een bedrijf kan de overdrachtsprijs instellen op volledige kosten (ook wel absorptiekosten genoemd), de som van variabele en vaste kosten per eenheid. Om ervoor te zorgen dat de verkoopafdeling winst maakt, kunnen ze ook een markup toevoegen.

Stel dat HOO Water Company zowel bronwater als frisdranken produceert. De Clor-divisie produceert bronwater en de Shpritz-divisie maakt frisdranken. HOO-managers moedigen Clor en Shpritz aan om samen te werken, zodat de Shpritz-divisie het bronwater van de Clor-divisie gebruikt om frisdranken te maken.

De Clor-divisie verkoopt zijn water echter ook aan externe klanten voor $ 0,75 per gallon. Om de kosten te minimaliseren, kan Shpritz ook water kopen van andere leveranciers dan Spring.

Dit jaar is de Clor-divisie van plan om 100.000 liter bronwater te produceren, maar heeft het de mogelijkheid om meer water te produceren als het dit kan verkopen. Het water van Clor heeft variabele kosten van $ 0,30 per gallon en moet vaste kosten van $ 40.000 dekken.

Shpritz-divisie is van plan om 60.000 liter frisdranken te maken; het kan het water kopen van Shpritz of van een externe verkoper. Naast de kosten van het water, moet Shpritz $ 0,40 per gallon betalen voor smaakstoffen en andere additieven om elke gallon frisdrank te produceren. Shpritz betaalt ook vaste kosten van $ 30.000 per jaar. De frisdrank van Shpritz verkoopt voor $ 2 per gallon.

Bereken eerst de volledige kosten van Clor. Vaste kosten bedragen $ 40.000 die nodig zijn om 100.000 liter bronwater te produceren. De vaste kosten per eenheid komen dan uit op $ 0,40 per gallon ($ 40.000 ÷ 100.000 gallons). De variabele kosten van Clor zijn gelijk aan $ 0,30 per gallon; voeg dat toe aan de vaste kosten per eenheid voor een totale kostprijs van $ 0,70 per gallon, de overdrachtsprijs.

De volgende afbeelding legt uit wat er gebeurt als Clor Shpritz voor 60.000 bron bronwater levert voor een overdrachtsprijs van $ 0,70 per gallon en de rest aan externe klanten voor $ 0,75 per gallon.

image0.jpg

Hier ontvangt Clor $ 30.000 aan inkomsten van externe klanten en $ 42.000 aan inkomsten van Shpritz. Aftrekken van Clor's variabele kosten van $ 30.000 en vaste kosten van $ 40.000 resulteert in een netto-inkomen van $ 2.000. Shpritz haalt een omzet van $ 120.000 uit zijn frisdranken.

Van dit bedrag moet het $ 42.000 betalen aan Clor en $ 24.000 aan andere variabele kosten. Shpritz moet ook $ 30.000 aan vaste kosten betalen, wat resulteert in een netto-inkomen van $ 24.000 voor Shpritz. HOO Water, dat beide divisies bezit, verdient een totaal inkomen van $ 26.000 uit beide producten.

Beslissingen om de overdrachtsprijs te baseren op de volledige kosten, kunnen divisiemanagers ertoe brengen slechte beslissingen te nemen die de winstgevendheid van het bedrijf schaden. Stel dat een ander bedrijf, Malcolm Water, water verkoopt voor $ 0,65 per gallon. (Voor het geval je het je afvraagt, kan Malcolm Water minder geld vragen voor zijn water omdat het water van mindere kwaliteit is.) Shpritz-divisie moet kiezen tussen het betalen van $ 0,70 per gallon aan Clor-divisie of $ 0,65 per gallon aan Malcolm.

Aan de ene kant kan Shpritz misschien liever zaken doen met Clor alleen omdat beide bedrijven dezelfde moedermaatschappij hebben. Als HOO echter $ 0,70 per gallon betaalt om water te maken, maar slechts $ 0,65 om het van Malcolm te kopen, moet HOO dan niet gewoon water kopen van de goedkopere externe verkoper en $ 0,05 per gallon besparen?

Niet noodzakelijk. De volgende afbeelding illustreert het fiasco dat optreedt wanneer Shpritz probeert geld te besparen door het water van Malcolm te kopen.

image1.jpg

De beslissing van Shpritz om te proberen kosten te besparen, vermindert de algehele winstgevendheid van HOO Water met $ 21.000. Geen twijfel mogelijk: de winstgevendheid van Shpritz stijgt. Omdat de beslissing om te outsourcen de variabele kosten voor het kopen van water vermindert van $ 42.000 naar $ 39.000, stijgt het netto-inkomen van Shpritz tot $ 27.000.

De beslissing van Shpritz doet Clor echter pijn en vermindert uiteindelijk de totale winstgevendheid van HOO Water. Clors verkoop aan Shpritz van $ 42.000 is volledig opgedroogd. De variabele kosten dalen ook van $ 30.000 tot $ 12.000.

De vaste kosten van Clor van $ 40.000 blijven echter hetzelfde, waardoor Clor een verlies van $ 22.000 moet lijden. De totale winst van HOO Water daalt van $ 26.000 tot slechts $ 5.000. Door de overdrachtsprijs te baseren op de volledige kosten heeft Shpritz beslissingen genomen die de algemene winstgevendheid van het bedrijf schaden.

  1. ZakelijkMarketingSociale mediamarketing Hoe vindt u uw contacten op Instagram
Instagram voor bedrijven voor dummies

Door Jennifer Herman, Eric Butow, Corey Walker

Als je nieuw bent bij Instagram, vraag je je misschien af ​​waar je moet beginnen. Instagram (en zijn vader Facebook) helpt je graag bij het leggen van verbindingen. Je kunt mensen op verschillende manieren vinden.

Je Facebook-vrienden vinden

Facebook heeft een gevestigde interesse in het laten groeien van Instagram, dus het probeert je aan te moedigen je Facebook-vrienden te verzamelen en over te brengen naar Instagram. Het is een gemakkelijke manier om mensen te vinden.

Volg deze stappen om vrienden op Facebook te vinden:

  1. Ga naar je Instagram-profielpagina door op je foto rechtsonder in het scherm van je telefoon te tikken. Tik linksboven op de persoon met een plus (en mogelijk een rood nummer). Tik op de Facebook-link bovenaan uw scherm. Bevestig uw Facebook-login door op OK te tikken. Het scherm toont hoeveel Facebook-vrienden je hebt op Instagram. Tik op Alles volgen of Volgen. Tik op Alles volgen om al je Facebook-vrienden op Instagram te volgen. Als u liever selectiever bent, vooral omdat u waarschijnlijk uw product of dienst promoot, wilt u misschien vrienden één voor één volgen. Tik op Volgen naast elke vriend waarmee je verbinding wilt maken en blijf scrollen en volgen!
vind Facebook-vrienden Instagram

Sommige van uw vrienden hebben mogelijk hun account ingesteld op privé. In dit geval ziet u Aangevraagd nadat u op Volgen tikt. Ze moeten je goedkeuren voordat je hun profiel en berichten kunt bekijken.

Uw contactenlijst synchroniseren

Instagram kan je ook verbinden met de contacten die zijn opgeslagen op je telefoon of tablet. Nadat u deze functie hebt geactiveerd, worden uw contacten periodiek gesynchroniseerd met de servers van Instagram. Instagram volgt niemand namens u en u kunt uw contacten op elk gewenst moment ontkoppelen, zodat Instagram er geen toegang toe heeft.

Deze functie kan in het begin het beste zijn in plaats van een constante verbinding voor privacydoeleinden.

Volg deze stappen om uw contacten te verbinden:

  1. Ga naar je Instagram-profielpagina door op je foto rechtsonder in het scherm van je telefoon te tikken. Tik linksboven op de kleine persoon met een plusteken (en mogelijk een rood nummer). Tik op de koppeling Contacten. Het volgende scherm vertelt je dat Instagram mensen vindt die je kent en dat je de optie krijgt om hen te volgen. Tik op Contacten verbinden om door te gaan. Een andere pop-up vraagt ​​of Instagram toegang heeft tot je contacten. Tik op Toegang toestaan. Er verschijnt een pop-up waarin u wordt gevraagd Instagram toegang te geven tot uw contactpersonen. Dit is je laatste kans om je beslissing te annuleren om Instagram toegang te geven tot je contacten. Tik op OK. De pop-up verdwijnt en het scherm Contacten verschijnt. Volg al je contacten op Instagram door op Alles volgen te tikken of kies welke contacten je wilt volgen door op Volgen naast elke te tikken.
instagram contacten

Als je op een gegeven moment van gedachten verandert en de toegang van Instagram tot je contacten wilt weigeren, tik je op het wielpictogram op je profielpagina, scrol je omlaag naar Instellingen en tik je op Contacten. Tik op de schakelaar Contacten verbinden om terug te keren naar wit, waardoor de toegang tot Instagram wordt beëindigd.

  1. BusinessOperations ManagementDe beste cloudserviceprovider, functies en hulpmiddelen voor DevOps kiezen

Van Emily Freeman

Het succes van uw DevOps-initiatief is sterk afhankelijk van het volgen van het proces, maar het is ook belangrijk om de juiste tools te gebruiken. Het selecteren van een cloudserviceprovider is geen gemakkelijke keuze, vooral wanneer DevOps uw drijfveer is. GCP (Google Cloud Platform), AWS (Amazon Web Services) en Azure hebben meer gemeen dan ze apart doen.

Vaak hangt uw beslissing meer af van het comfortniveau van uw DevOps-team bij een bepaalde cloudprovider of uw huidige stack meer dan de cloudprovider zelf. Nadat u hebt besloten om naar de cloud te gaan, is de volgende beslissing om een ​​cloudprovider te kiezen die past bij uw DevOps-behoeften. Hier zijn enkele dingen om te overwegen bij het evalueren van cloudproviders met DevOps-principes in gedachten:

  • Solide trackrecord. De cloud die u kiest, moet een geschiedenis hebben van verantwoorde financiële beslissingen en voldoende kapitaal om tientallen jaren grote datacenters te exploiteren en uit te breiden. Naleving en risicobeheer. Formele structuur en vastgesteld nalevingsbeleid zijn van vitaal belang om ervoor te zorgen dat uw gegevens veilig zijn. Idealiter controleert u audits voordat u contracten ondertekent. Positieve reputatie. Klantvertrouwen is absoluut cruciaal. Vertrouw je erop dat je kunt vertrouwen op deze cloudprovider om te blijven groeien en je evoluerende DevOps-behoeften te ondersteunen? Service Level Agreements (SLA's). Welk serviceniveau heeft u nodig? Cloudproviders bieden doorgaans verschillende uptime-betrouwbaarheid op basis van kosten. De uptime van 99,9 procent is bijvoorbeeld aanzienlijk goedkoper dan de uptime van 99,999 procent. Statistieken en monitoring. Welke soorten applicatie-inzichten, monitoring en telemetrie levert de leverancier? Zorg ervoor dat u in realtime een passend niveau van inzicht in uw systemen krijgt.

Zorg er ten slotte voor dat de cloudprovider die u kiest uitstekende technische mogelijkheden biedt die services bieden die voldoen aan uw specifieke DevOps-behoeften. Over het algemeen, zoeken naar

  • Bereken mogelijkheden Oplossingen voor opslag Implementatiefuncties Loggen en bewaken Vriendelijke gebruikersinterfaces

U moet ook de mogelijkheid bevestigen om een ​​hybride cloudoplossing te implementeren voor het geval dat u dit op een bepaald moment moet doen, en om HTTP-oproepen naar andere API's en services te doen.

De drie belangrijkste cloudproviders zijn Google Cloud Platform (GCP), Microsoft Azure en Amazon web Services (AWS). Je kunt ook kleinere cloudproviders vinden en zeker een aantal private cloudproviders, maar het grootste deel van wat je moet weten, is het vergelijken van de publieke cloudproviders.

Amazon Web Services (AWS)

Net als de andere grote openbare cloudproviders biedt AWS on-demand computing via een pay-as-you-go-abonnement. Gebruikers van AWS kunnen zich abonneren op een willekeurig aantal services en computerbronnen. Amazon is de huidige marktleider onder cloudproviders en heeft de meerderheid van cloudabonnees.

Het biedt een robuuste set functies en services in regio's over de hele wereld. Twee van de meest bekende services zijn Amazon Elastic Compute Cloud (EC2) en Amazon Simple Storage Service (Amazon S3). Net als bij andere cloudproviders worden services benaderd en wordt infrastructuur ingericht via API's.

Microsoft Azure

Voordat Microsoft deze cloudprovider als Microsoft Azure lanceerde, heette het Windows Azure. Microsoft heeft het ontworpen om precies te doen wat de naam inhoudt: het dient als cloudprovider voor traditionele Windows-IT-organisaties. Maar naarmate de markt concurrerender werd en Microsoft het technische landschap beter begon te begrijpen, paste Azure zich aan, groeide en evolueerde.

Hoewel nog steeds aantoonbaar minder robuust dan AWS, is Azure een goed afgeronde cloudprovider gericht op gebruikerservaring. Door verschillende productlanceringen en overnames - met name GitHub - heeft Microsoft zwaar geïnvesteerd in Linux-infrastructuur, waardoor het voor een breder publiek robuustere diensten kon bieden.

Google Cloud Platform (GCP)

Het Google Cloud Platform (GCP) heeft het minste marktaandeel van de drie grote openbare cloudproviders, maar biedt een aanzienlijk aantal cloudservices in bijna twee dozijn geografische regio's.

Misschien wel het meest aantrekkelijke aspect van GCP is dat het gebruikers dezelfde infrastructuur biedt die Google intern gebruikt. Deze infrastructuur omvat extreem krachtige services voor computergebruik, opslag, analyse en machine learning. Afhankelijk van uw specifieke product, kan GCP gespecialiseerde tools hebben die (of minder volwassen) ontbreken in AWS en Azure.

DevOps-tools en -services zoeken in de cloud

Letterlijk honderden tools en services staan ​​tot uw beschikking via de grote cloudproviders. Deze tools en services zijn over het algemeen onderverdeeld in de volgende categorieën:

  • Berekenen opslagruimte Netwerken Beheer van middelen Cloud Artificial Intelligence (AI) Identiteit Veiligheid Serverless ivd

Hieronder volgt een lijst van de meest gebruikte services bij alle drie de grootste cloudproviders. Deze services omvatten app-implementatie, beheer van virtuele machines (VM's), container-orkestratie, serverloze functies, opslag en databases.

Aanvullende services zijn inbegrepen, zoals identiteitsbeheer, blokopslag, private cloud, opslag van geheimen en meer. Het is verre van een uitputtende lijst, maar kan als een solide basis voor u dienen wanneer u uw opties begint te onderzoeken en een idee krijgt van wat de cloudproviders onderscheidt.

  • App-implementatie: Platform as a Service (PaaS) -oplossing voor het implementeren van applicaties in verschillende talen, waaronder Java, .NET, Python, Node.js, C #, Ruby en Go Azure: Azure Cloud Services AWS: AWS Elastische bonenstaak GCP: Google App Engine
  • Beheer van virtuele machines (VM): IaaS-optie (Infrastructure as a Service) voor het uitvoeren van virtuele machines (VM's) met Linux of Windows Azure: Azure Virtual Machines AWS: Amazon EC2 GCP: Google Compute Engine
  • Beheerde Kubernetes: maakt beter containerbeheer mogelijk via de populaire orchestrator Kubernetes Azure: Azure Kubernetes Service (AKS) AWS: Amazon Elastic Container Service (ECS) voor Kubernetes GCP: Google Kubernetes Engine
  • Serverloos: hiermee kunnen gebruikers logische workflows van serverloze functies maken Azure: Azure Functions AWS: AWS Lambda GCP: Google Cloud Functions
  • Cloudopslag: ongestructureerde objectopslag met caching Azure: Azure Blob Storage AWS: Amazon S3 GCP: Google Cloud Storage
  • Databases: SQL- en NoSQL-databases, op aanvraag Azure: Azure Cosmos DB AWS: Amazon Relational Database Service (RDS) en Amazon DynamoDB (NoSQL) GCP: Google Cloud SQL en Google Cloud BigTable (NoSQL)

Terwijl u de drie grote cloudproviders verkent, ziet u een lange lijst met services. Je kunt je overweldigd voelen door de honderden opties die je tot je beschikking hebt. Als u bij toeval niet kunt vinden wat u zoekt, biedt de markt waarschijnlijk iets vergelijkbaars. Op de markt bieden onafhankelijke ontwikkelaars services die op de cloud kunnen worden aangesloten - gehost door Azure, AWS of GCP.

De onderstaande tabel geeft een overzicht van aanvullende services die worden geboden door de meeste, zo niet alle, cloudproviders.

Servicecategoriefunctionaliteit
Blokkeer opslagGegevensopslag gebruikt in SAN-omgevingen (Storage-Area Network). Blokopslag is vergelijkbaar met het opslaan van gegevens op een harde schijf.
Virtual Private Cloud (VPC)Logisch geïsoleerde, gedeelde computerbronnen.
brandmuurNetwerkbeveiliging die verkeer regelt.
Content Delivery Network (CDN)Inhoudslevering op basis van de locatie van de gebruiker. Gebruikt meestal caching, taakverdeling en analyses.
Domain Name System (DNS)Vertaler van domeinnamen naar IP-adressen voor browsers.
Single Sign-On (SSO)Toegangscontrole tot meerdere systemen of applicaties met dezelfde inloggegevens. Als u zich hebt aangemeld bij een onafhankelijke toepassing met uw Google-, Twitter- of GitHub-gegevens, heeft u SSO gebruikt.
Identiteits- en toegangsbeheer (IAM)Op rollen gebaseerd gebruikerstoegangsbeheer. Vooraf bepaalde rollen hebben toegang tot een vaste groep functies; gebruikers krijgen rollen toegewezen.
Telemetrie, monitoring en logboekregistratieTools om applicatie-inzichten te bieden over prestaties, serverbelasting, geheugenverbruik en meer.
implementatiesHulpprogramma's voor configuratie, infrastructuur en release pipeline management.
Cloud shellShell-toegang via een opdrachtregelinterface (CLI) in de browser.
Geheimen opslagVeilige opslag van sleutels, tokens, wachtwoorden, certificaten en andere geheimen.
Message QueuesDynamisch geschaalde berichtenmakelaars.
Machine leren (ML)Diepgaande leerkaders en hulpmiddelen voor datawetenschappers.
ivdApparaatverbinding en beheer.