En introduksjon til DevOps -verktøy på AWS

En introduksjon til DevOps -verktøy på AWS
DevOps (Development Operations) er et sett med verktøy og praksis som brukes til å utvikle og levere programvare -applikasjoner raskere. DevOps i seg selv er ikke et verktøy som brukes til å gjøre utvikling, utgivelse og levering av programvare raskere. Det er mange åpen kildekodeverktøy som brukes til å implementere DevOps i en organisasjon. Generelt er følgende de grunnleggende trinnene som utføres for å implementere DevOps beste praksis for å utvikle og levere kode raskere.
  • Plan
  • Kode
  • Bygge
  • Test
  • Utgivelse
  • Utplassere
  • Operere
  • Observere

Foruten åpen kildekodeverktøy, gir forskjellige leverandører av skytjenester sine sky-innfødte verktøy for å implementere DevOps-praksis på skyen. Denne artikkelen beskriver forskjellige verktøy og teknologier levert av AWS for å implementere DevOps på AWS.

AWS CodeCommit

AWS CodeCommit er en tjeneste som brukes til versjonskontroll og vert av AWS. Akkurat som andre versjonskontrolltjenester som GitHub, Bitbucket og Gitlab, kan kildekode skyves til private depoter i CodeCommit. Det er ingen offentlige depoter på AWS CodeCommit.

AWS CodeCommit er en svært tilgjengelig, sikker og skalerbar tjeneste som brukes til å være vertskap for private kodelagre. Ved hjelp av AWS CodeCommit, trenger du ikke å oppgradere tjenesten hvis depotene dine øker utover en grense. Det skaleres automatisk med økningen i antall depoter eller depotstørrelse.

Følgende er listen over noen fordeler gitt av AWS CodeCommit -tjenesten.

  • Svært tilgjengelig og fullt administrert tjeneste
  • Lagrer koden med kryptering i ro
  • Arbeidssamarbeid
  • Skalerbar versjonskontrolltjeneste
  • Integrert med noen AWS og tredjeparts tjenester
  • Enkel migrasjon fra andre depoter
  • Støtter git -kommandoer du allerede vet

AWS CodeCommit Console gir et vennlig grafisk brukergrensesnitt for å visualisere trekkforespørsler, forpliktelser, filialer og git -tagger. Lagrer fra CodeCommit kan klones ved hjelp av SSH- og HTTPS -URL -er.

I innstillingene til CodeCommit -depotet kan du gjøre det mulig.

AWS CodeBuild

AWS CodeBuild er en fullt administrert tjeneste som brukes til å kjøre tester, bygge koden og generere build -gjenstander fra koden. Ved hjelp av AWS CodeBuild trenger du ikke oppgi en ekstra build -server for å bygge kildekoden. Det gir pre-konfigurerte miljøer for de fleste av de populære programmeringsspråkene som Python, Java, NodeJs og Builds Tools som Maven, NPM og Gradle. Du kan også lage dine egne tilpassede miljøer for å bygge prosjektet ditt ved hjelp av AWS CodeBuild.

AWS CodeBuild er en serverløs tjeneste, og du blir bare belastet når en bygning kjører. På denne måten kan du spare penger for en ekstra server for å bygge prosjektene. Følgende er noen fordeler ved å bruke CodeBuild -tjenesten fra AWS.

  • CodeBuild er en fullt administrert tjeneste, og du trenger ikke oppdatere og administrere build -serveren.
  • Det er en skalerbar tjeneste og skalaer med økningen i behandlingen. Du betaler bare for tiden byggingen kjører.
  • Det gir forhåndskonfigurerte byggemiljøer som gjør det enkelt å bruke.
  • Du kan også lage dine egne tilpassbare byggemiljøer på kodebygg.

AWS CodeBuild kan integreres med forskjellige tjenester for kildekode for å hente koden. Du kan hente koden fra GitHub, Bitbucket, Github Enterprise, CodeCommit og S3. Du kan også konfigurere CodeBuild -tjenesten for å sende byggeloggene til CloudWatch -logger som kan bidra til å diagnostisere byggefeilene. For å kommunisere med CloudWatch, trenger AWS Codebuild en IAM -rolle med spesifikke tillatelser.

AWS CODEDEPLOY

AWS CodedeParty er en fullt administrert tjeneste levert av AWS for å distribuere den forhåndsbygde applikasjonen til forskjellige beregningstjenester som EC2, AWS Lambda, AWS ECS og servere på stedet. AWS CODEDEploy -tjeneste kan automatisk distribuere følgende type innhold.

  • AWS Lambda -funksjon
  • Kjørbare filer
  • Multimediafiler
  • Skript
  • Kode
  • Pakker

AWS CODEDEPLOY er en serverløs tjeneste, og du blir bare belastet når en distribusjon kjører, og resten av tiden blir du ikke belastet. Akkurat som AWS CodeBuild, eliminerer AWS CodeDeploy også behovet for å tilby en ekstra server for distribusjonsformål. Følgende er noen fordeler ved å bruke AWS CodedePloy -tjenesten.

  • CODEDEPLOY kan brukes til å distribuere tradisjonelle applikasjoner på servere og applikasjoner som distribuerer Lambda -funksjoner til AWS Lambda.
  • Den kan brukes til å fullstendig automatisere prosessen med distribusjon av kode i forskjellige miljøer som (dev, test, prod).
  • Den kan brukes til å utføre en blå/grønn distribusjon som unngår nedetid for applikasjonen under distribusjonen.
  • Distribusjon kan rulles tilbake hvis det oppstår noen feil mens du distribuerer den nyeste versjonen.

AWS CodePipeline

AWS CodePipeline er en tjeneste som brukes til å visualisere en komplett CICD -rørledning ved hjelp av et vennlig grafisk brukergrensesnitt. Det skaper en fin GUI av en rørledning ved å kombinere forskjellige tjenester som AWS CodeCommit, AWS Codebuild, AWS CodeDeploy. Det gjør programvareutgivelsesprosessen enklere ved å visualisere hvert trinn i rørledningen.

Når en utvikler skyver koden til CodeCommit, daterer CodePipeline, hvis den er konfigurert på riktig. Etter å ha bygget gjenstandene, sendes disse gjenstandene til AWS CodedePle -tjenesten for å distribuere den nyeste versjonen av applikasjonen til serveren.

Alle disse trinnene kan visualiseres og integreres med hverandre i CodePipeline -tjenesten. Mens du distribuerer koden fra iscenesettelse til et produksjonsmiljø, kan et manuelt godkjenningstrinn legges til ved hjelp av AWS CodePipeline. For å distribuere koden til produksjonsmiljøet, må noen med spesifikke tillatelser godkjenne distribusjonen. Det unngår å distribuere en uauthentisk forpliktelse til produksjonen, som kan bryte produksjonsmiljøet.

AWS Codeguru

Amazon Codeguru er en tjeneste levert av AWS for å gjennomgå kildekoden. AWS Codeguru bruker maskinlæring og programanalyse for å gjennomgå kildekoden og finne potensielle feil i koden. Etter å ha funnet manglene i kildekoden, gir AWS Codeguru forslag for å løse disse feilene for Java og Python -programmeringsspråk.

For øyeblikket støtter AWS Codeguru bare Java og Python -programmeringsspråk og kan lese kildekoden fra følgende kildeleverandører.

  • AWS CodeCommit
  • AWS S3
  • Github Enterprise Cloud
  • Github Enterprise Server
  • Github
  • Bitbucket

Konklusjon

Det er forskjellige AWS Cloud-Native Services som kan brukes til å bygge en komplett CICD-rørledning. Den viktigste fordelen med å bruke AWS -proprietære tjenester er at disse tjenestene er fullt administrerte serverløse tjenester og samhandler med hverandre privat. Det er forskjellige tjenester for lagring av kildekode (AWS CodeCommit), å bygge og kjøre tester på koden (AWS CodeBuild), og distribuere koden til servere (AWS Codedeploy) på AWS. Disse tjenestene kan integreres med hverandre for å lage en komplett rørledning ved hjelp av AWS CodePipeline Service. Denne artikkelen gir en kort forståelse av alle disse AWS -tjenestene for å implementere DevOps -praksis på AWS.