Engang var computerkraften opgaven for den lokale hardwareinfrastruktur. Nu – hvis din softwareløsning ligger i skyen – er det ved at blive en opgave for webtjenesten Elastic Compute Cloud (EC2).
EC2 bringer computerkapacitet, der kan ændres størrelse, til skyen. Brugere kan leje virtuelle computere med instanser, som de kører deres applikationer på. Forekomsterne kan have forskellige konfigurationer, forskellige operativsystemer, computerkraft og lagerkapacitet.
EC2 er en kernekomponent i Amazon Web Services (AWS). Som sådan er det meget brugt til næsten alle mulige projektimplementeringer i skyen. Det er klart, medmindre du er ude efter serverløs arkitektur, i hvilket tilfælde EC2 tværtimod er ude af bordet.
Indholdsfortegnelse
Nøglekomponenter i EC2
Kilde: docs.aws.amazon.com
Hver AWS EC2, du beslutter dig for at bruge til dit projekt, skal bestå af andre AWS-komponenter. Disse definerer de nøjagtige parametre for din konfiguration.
#1. Forekomster
En EC2-instans er dybest set en cloud-fortolkning af en virtuel maskine. Forekomsten kan du forberede og starte i en række forskellige konfigurationer. Du skal også definere et specifikt operativsystem for instansen samt hvor stærk instansen skal være (mængde CPU, RAM osv.).
Til sidst kan du angive mængden af lagerkapacitet, der skal være permanent knyttet til EC2-instansen.
#2. Amazon Machine Images (AMI’er)
AMI er en prækonfigureret skabelon, der indeholder alle de nødvendige oplysninger for en vellykket lancering af instansen. Her angiver du faktisk, hvilket styresystem du vil køre applikationerne på, hvordan applikationsserveren skal se ud, og præcis hvilke applikationer der skal installeres.
#3. Elastic Block Store (EBS)
Dette er en lagringstjeneste, der giver dig vedvarende lagringsvolumener til brug med EC2-instansen. Det er her alle applikationsdata, såvel som kundedata, vil ligge, når applikationerne på EC2-instanserne er i brug.
#4. Sikkerhedsgrupper
For hver EC2-instans skal du kræve kontrolleret sikkerhedsadgang. Det gælder kommunikation fra omverdenen ind i EC2-instansen (udgående trafik) såvel som mellem AWS-tjenesterne inde i din cloud-infrastruktur (indgående trafik).
#5. Nøglepar
For at øge sikkerheden skal du generere offentlige og private nøglepar, som du bruger til sikker forbindelse til EC2-instanser.
#6. Elastiske IP-adresser
For at give dig adgang til din nye EC2-instans fra det eksterne internet eller endda henvise til dem i din infrastruktur i skyen, skal du tildele en statisk IP-adresse til EC2-instanser. Fra det af er den virtuelle maskine med en EC2-instans tilgængelig.
#7. Placeringsgrupper
Ved hjælp af disse kan du oprette logiske grupperinger af forekomster. Disse er designet til at give netværksforbindelser med lav latens og høj båndbredde. Dette tjener både organisatoriske og præstationsmæssige årsager.
#8. Automatisk skalering
Dette er en tjeneste – ret unik blandt de forskellige cloud-udbydere – der automatisk justerer antallet af EC2-instanser i en gruppe baseret på dine arbejdsbelastningsbehov. Det betyder, at når du aktiverer automatisk skalering, kan dine EC2-instanser multipliceres eller hardwarelignende opskaleres for at imødekomme den øgede efterspørgsel.
Alternativt kan du reducere eller nedskalere, hvis efterspørgslen er væsentligt lavere end normalt. Hovedårsagen til dette er ikke at være langsom under spidsbelastningen. Men også for at spare penge, når der ikke er meget at lave.
#9. Load Balancers
Sagt på højt niveau og enkelt er dette en tjeneste, der distribuerer indgående trafik på tværs af flere EC2-instanser og dermed forbedrer tilgængeligheden og skalerbarheden.
#10. Virtual Private Cloud (VPC)
VPC er et logisk adskilt virtuelt netværk, der giver et sikkert og isoleret miljø til EC2-instanser. Du kan organisere forskellige EC2-instanser i de samme eller forskellige VPC’er og derefter definere regler for indgående og udgående trafik mellem VPC’erne og dermed også mellem de forskellige EC2-instanser i din cloud-infrastruktur.
Typisk vil du gerne holde nogle EC2-forekomster private og kun tilgås af din applikationskode. Samtidig andre EC2’ere du ønsker at holde tilgængelige på internettet. VPC er en perfekt løsning.
Hovedkarakteristika for EC2
Kilde: aws.amazon.com
EC2-instanser giver skalerbar computerkapacitet i AWS-skyen. Virksomheder kan hurtigt starte virtuelle maskiner med den computerkraft og lagerkapacitet, de har brug for, uden at investere i fysisk hardware. Dette er den reelle fordel ved cloud-infrastruktur, og EC2 spiller en væsentlig rolle.
Det sædvanlige formål med EC2-instanser er at hoste forskellige applikationer eller websteder i skyen. Du kan bruge dem til at tilfredsstille dine arbejdsbelastninger, hvad enten det er af batch-karakter, krav til behandling i realtid, web- eller mobilapplikationer.
Det arbejde, du bruger EC2 til, er praktisk talt uendeligt. Du har muligvis brug for seriøs kraft til databehandling, maskinlæring eller spil. Du har muligvis brug for yderligere udviklings- eller testmiljøer til din infrastruktur. Så kan du helt sikkert udnytte alle fordelene ved EC2-instanser.
Det bedste af det hele er, at du kan ødelægge og genskabe dem, når du har brug for det. I så fald sparer du penge til din udvikling og test af infrastruktur til de gange, du ikke har brug for det. On-demand opsigelse og rekreation har naturligvis mange andre anvendelsesmuligheder for virksomheden.
Grundlæggende om cloud computing
Da vi allerede har talt om EC2, kunne et lille skridt tilbage måske være nyttigt for at forklare lidt, hvad Cloud computing præcis er.
Du kan se på det som en model til levering af computerressourcer over internettet, som er on-demand og bygget som en service. Det er mekanismen for, hvordan man får adgang til computerkraft med al dens infrastruktur og applikationer uden at skulle investere i fysisk hardware eller infrastruktur. Cloud computing er baseret på en række grundlæggende principper, herunder:
- Brugere har on-demand selvbetjening tilgængelig når som helst. Servere og storage er tilgængelige uden at skulle igennem en langvarig indkøbsproces.
- tabletsCloud-ressourcer kan tilgås fra hvor som helst og med hvad som helst (f.eks. bærbare computere, desktops, tablets, mobil).
- Computerressourcer eller hele infrastrukturen kan deles og dynamisk allokeres for at imødekomme skiftende miljøer og krav.
- Du kan hurtigt skalere alle ressourcer op eller ned baseret på din aktuelle efterspørgsel.
- Real-time cloud computing betyder i bund og grund en pay-as-you-go prismodel, hvor brugerne kun betaler for de ressourcer, de rent faktisk bruger. Også det brugte forbrug kan du spore i realtid.
Servicemodeller for cloud computing
Cloud computing kan have tre hovedservicemodeller:
Implementeringsmodeller for cloud computing
Cloud computing er også differentieret ved den måde, du implementerer og får adgang til ressourcerne på:
Elasticitet af EC2
Kilde: aws.amazon.com
Elasticitet er en nøgleegenskab ved cloud computing. Det refererer til cloud-infrastrukturens evne til dynamisk at allokere og de-allokere computerressourcer som svar på dine konstant skiftende behov. Ved hjælp af elasticitet kan du skalere infrastrukturen op eller ned efter behov. Alt sammen uden at skulle investere i fysisk hardware eller infrastruktur.
Hånd i hånd med det kommer en anden egenskab ved skyen, som er skalerbarhed. Det er et systems evne til at håndtere stigende mængder af belastninger eller trafik uden at lide under et fald i ydeevnen.
For eksempel, hvis din hjemmeside oplever usædvanlig høj pludselig trafik på grund af udgivelsen af et nyt, længe ventet produkt. Dette er tidspunktet, hvor skalerbarheden vil springe ind og øge alle dine ressourcer og kraft for at være komfortabel med denne høje belastning.
Skalerbarhed opnås gennem brug af elastiske ressourcer, såsom virtuelle maskiner, storage og netværk, der hurtigt og nemt kan skaleres op eller ned.
Autoskalering er så en over-the-top-funktion, der udnytter skaleringskapaciteten og automatiserer den baseret på foruddefinerede belastningsforventninger. Det vil automatisk justere antallet af computerressourcer, der skal bruges, baseret på efterspørgsel. Det betyder også, at du ikke behøver at overvåge og manuelt justere ressourcer. Skaleringen af ressourcer op eller ned kan være baseret på forskellige målinger, såsom CPU-udnyttelse, netværkstrafik eller applikationens responstid.
Endelig allokeres ressourcerne dynamisk og i realtid. Dette giver dig mulighed for at optimere dit infrastrukturforbrug. Tildel kun dine ressourcer, når du har brug for dem, og frigiv dem, når du ikke længere har brug for dem.
Dynamisk ressourceallokering er en nøglefunktion i cloud computing, da det giver mulighed for at opnå høje niveauer af udnyttelse og effektivitet, samtidig med at omkostningerne minimeres.
Fordele ved EC2
Nogle af de vigtigste fordele ved EC2 er nu allerede indlysende. Men bare for at sætte det ind i en eksplicit kontekst, er følgende de vigtigste at bemærke:
Fleksibilitet
Brug EC2 til nemt at skalere computerressourcer op eller ned for at imødekomme de aktuelle belastningsniveauer. Start eller ødelægge instanser, som du har brug for lige nu. Pause og genstart forekomster, når det passer dig bedst. Vær sikker på, at du altid har en backup, hvis noget går galt.
Omkostningseffektivitet
Et direkte resultat af fleksibilitet er den øgede mulighed for at spare penge til levering af infrastruktur. Hvis det er konfigureret rigtigt, vil dine EC2-instanser starte og afslutte på det rigtige tidspunkt. Som en konsekvens heraf undgår du omkostningerne forbundet med uberettigede ressourceforsyningsomkostninger.
Høj tilgængelighed
Med EC2 får du en høj tilgængelig infrastruktur, der sigter mod at minimere nedetid og sikre, at applikationer og tjenester altid er tilgængelige.
Pålidelighed
EC2 leverer en pålidelig infrastruktur, hvis hensigt er at være oppe praktisk talt uden afbrydelser og sikrer, at applikationer og tjenester altid er tilgængelige og effektive.
Tilgængelighed
Du kan få adgang overalt ved hjælp af stationære computere, bærbare computere, tablets eller smartphones. På samme måde har du fuld frihed til at anvende eventuelle begrænsninger på den adgang, du har brug for.
Global rækkevidde
EC2 er tilgængelig i flere regioner verden over, så du kan implementere applikationerne og tjenesterne tættere på dine kunder og overholde lokale regler om databeskyttelse.
Agility
Du har en virkelig agil infrastruktur, der giver dig muligheder for at reagere hurtigt på skiftende markedsforhold og for at innovere hurtigere.
Datasikkerhed
EC2 giver dig en sikker infrastruktur, der designmæssigt er skabt til at beskytte data og applikationer mod uautoriseret adgang og cybertrusler.
Overholdelse
EC2 er i overensstemmelse med en lang række industristandarder og regulativer, herunder HIPAA, PCI DSS og GDPR.
Samarbejde
EC2 giver et samarbejdsmiljø, der giver teams mulighed for at arbejde sammen om projekter og dele ressourcer og data.
Udfordringer med EC2
Der er helt sikkert også nogle udfordringer, som du bør være opmærksom på, når du bruger EC2.
#1. Styring af omkostningerne
Den væsentlige karakter af hele AWS-omkostningsmodellen er at gøre den så kompleks som muligt, og EC2-priser er ingen undtagelse herfra. Du skal omhyggeligt styre dit forbrug for at undgå uventede omkostninger og have nogle pålidelige værktøjer klar til at overvåge det løbende. Du kan bruge nogle omkostningsoptimeringsværktøjer, for eksempel AWS Cost Explorer eller AWS Trusted Advisor.
#2. Sikkerhed
Mens EC2 giver dig en sikker infrastruktur, er du stadig ansvarlig for at sikre dine egne applikationer og data. Du bør implementere bedste praksis for sikkerhed, såsom brug af stærke adgangskoder, kryptering af data og implementering af adgangskontrol.
#3. Overholdelse
Med EC2 skal du sikre dig, at brugen er i overensstemmelse med industristandarder og regler. Derfor er det vigtigt regelmæssigt at gennemgå AWS compliance-dokumentation og arbejde med AWS compliance-eksperter for at sikre, at du opfylder de compliance-krav, som dine kunder anmoder om.
#4. Ydeevne
Du kan påvirke EC2-ydeevne af forskellige faktorer, som for eksempel netværksforsinkelse, disk I/O eller CPU-udnyttelse. Overvåg ydeevnen af din infrastruktur systematisk og brug værktøjer til ydeevneoptimering, såsom AWS CloudWatch og AWS X-Ray, til at identificere og løse ydeevneproblemer.
#5. Tilgængelighed
Det er rigtigt, at EC2 leverer en meget tilgængelig infrastruktur, men alligevel skal du sikre dig, at de applikationer og tjenester, du leverer, også er designet til høj tilgængelighed. Brug til det AWS-tjenester som Elastic Load Balancing eller Auto Scaling for at sikre, at applikationerne og tjenesterne altid er tilgængelige.
#6. Dataoverførsler
Vær opmærksom på dataoverførselsomkostninger, når du bruger EC2, da dataoverførsel mellem EC2-instanser og andre AWS-tjenester kan medføre ekstra omkostninger. Det betyder, at det ikke kun handler om at udveksle data mellem din infrastruktur og internettet. Brug Amazon S3 og Amazon CloudFront til at minimere omkostningerne til dataoverførsel.
#7. Sælger Lock-in
Bevidsthed om potentialet for leverandørlåsning ved brug af EC2 skal være på din prioritetsliste. Design applikationerne og tjenesterne, så de er bærbare på tværs af cloud-udbydere, og brug åbne standarder og API’er for at sikre interoperabilitet. Sådan bliver din løsning cloud-agnostisk og bliver et ekstra lag af fleksibilitet, som stadig er en væsentlig markedsfordel.
EC2 og fremtidige tendenser
Kilde: aws.amazon.com
Er du nysgerrig efter fremtidige trends og innovationer, som du kan forvente vil forme fremtiden for EC2? Her er de.
Serverløs
Serverløs computing er stadig et nyt paradigme inden for cloud computing, selvom det allerede har været implementeret i flere år af nogle af de mest progressive udviklingsteams. Udviklere kører koden uden at skulle administrere servere eller infrastruktur. AWS Lambda eller AWS Step funktion er et eksempel på en serverløs computertjeneste, som du kan bygge oven på EC2.
Maskinelæring
EC2 er en perfekt infrastruktur til at køre maskinlæringsmodeller, forudsigelser og arbejdsbelastninger. Du kan bogstaveligt talt generere imponerende store datasøer af modeldataforudsigelser på få minutter. Oven i købet serverer AWS en række klar til brug maskinlæringstjenester, såsom Amazon SageMaker og Amazon Rekognition, der er bygget oven på EC2.
Edge Computing
Edge computing er et nyt paradigme inden for cloud computing, og det handler om databehandling tættere på kilden frem for i et centraliseret datacenter. Det betyder, at du udfører alle de omfattende dataindlæsninger i det område, hvor du genererer dataene. Derefter overfører du ved hjælp af diverse caching-tjenester dataene til et centralt datalager, hvilket ikke reelt påvirker brugerens operationsbehandling længere. AWS tilbyder en række edge computing-tjenester, såsom AWS Greengrass og AWS IoT, som du kan implementere oven på EC2.
Containerisering
Containerisering er en strategi for at pakke applikationer og tjenester i containere, som nemt kan implementeres og administreres. Du får sikkerhed for kompatibilitet, når servicetransport er påkrævet mellem instanser eller infrastrukturer. AWS tilbyder en række containeriseringstjenester, såsom Amazon ECS og Amazon EKS, der er bygget oven på EC2.
Kvanteberegning
Kvanteberegning er igen et ganske nyt paradigme, der involverer at bruge kvantemekaniske fænomener, såsom superposition og sammenfiltring, til at udføre beregninger. AWS betjener en række kvantecomputertjenester, såsom Amazon Braket, og du kan få dem oven på EC2.
Afsluttende ord
EC2 er den grundlæggende del af enhver seriøs cloud-infrastruktur, og det vil ikke forsvinde med det samme. Normalt vil du sandsynligvis se det i dine top 3 tjenester med den højeste omkostningsgenerering, men det hele er af en grund.
EC2 er rygraden i cloud-infrastrukturen, som fanger alle de andre tjenester på dens overflade. At forstå EC2 er derfor afgørende, hvis dit mål er at få succes i cloud computing-verdenen.
Tjek derefter de bedste praksisser for AWS EC2-sikkerhed.