Elastic Compute Cloud (EC2) förklaras i enkla termer

By rik

Förvandlingen av Datorresurser: Från Lokal Hårdvara till Molnet

Tidigare var beräkningskapacitet något som hanterades av den lokala hårdvaran. Idag, om din mjukvarulösning finns i molnet, övergår ansvaret alltmer till webbtjänsten Elastic Compute Cloud (EC2).

EC2 erbjuder anpassningsbar datorkraft i molnet. Användare kan hyra virtuella servrar, så kallade instanser, där de kör sina applikationer. Dessa instanser kan konfigureras på olika sätt, med varierande operativsystem, processorkraft och lagringsutrymme.

EC2 är en central del av Amazon Web Services (AWS) och används i stor utsträckning för nästan alla typer av molnprojekt. Det är dock viktigt att notera att EC2 inte är relevant om du siktar på en serverlös arkitektur, då EC2 fungerar tvärtom.

Centrala Komponenter i EC2

Källa: docs.aws.amazon.com

Varje AWS EC2-instans som du använder i ditt projekt består av flera andra AWS-komponenter, som tillsammans definierar de exakta parametrarna för din konfiguration.

#1. Instanser

En EC2-instans kan ses som en molnbaserad version av en virtuell maskin. Du kan konfigurera och starta instansen med en rad olika inställningar. Du måste också specificera ett operativsystem och bestämma instansens prestanda (processor, RAM etc.). Dessutom kan du definiera hur mycket permanent lagring som ska kopplas till EC2-instansen.

#2. Amazon Machine Images (AMI)

En AMI är en förkonfigurerad mall som innehåller all information som behövs för att starta en instans. Här specificerar du vilket operativsystem applikationerna ska köras på, hur applikationsservern ska vara konfigurerad och vilka applikationer som ska installeras.

#3. Elastic Block Store (EBS)

EBS är en lagringstjänst som ger dig beständiga lagringsvolymer att använda med EC2-instansen. Här lagras all applikationsdata och kunddata när applikationerna körs på EC2-instanserna.

#4. Säkerhetsgrupper

För varje EC2-instans måste du reglera säkerhetsåtkomst. Detta gäller både inkommande trafik till EC2-instansen från omvärlden och intern trafik mellan AWS-tjänster i din molninfrastruktur.

#5. Nyckelpar

För ökad säkerhet skapar du nyckelpar bestående av offentliga och privata nycklar. Dessa nycklar används för säker anslutning till EC2-instanser.

#6. Elastiska IP-adresser

För att kunna nå din EC2-instans externt via internet eller internt i din molninfrastruktur behöver du tilldela en statisk IP-adress till instansen. Därefter är den virtuella servern med EC2-instansen tillgänglig.

#7. Placeringsgrupper

Med placeringsgrupper kan du skapa logiska grupperingar av instanser, utformade för att ge nätverksanslutningar med låg latens och hög bandbredd. Detta är fördelaktigt både ur organisatorisk synvinkel och för att optimera prestanda.

#8. Automatisk Skalning

Automatisk skalning är en tjänst som automatiskt anpassar antalet EC2-instanser i en grupp baserat på belastningskraven. När du har aktiverat automatisk skalning kan antalet EC2-instanser öka eller deras resurser utökas för att hantera ökad efterfrågan. På samma sätt kan antalet instanser minskas eller deras resurser begränsas när efterfrågan är lägre. Detta hjälper dig att undvika problem med prestanda under perioder med hög belastning och samtidigt spara pengar när det finns mindre aktivitet.

#9. Lastbalanserare

En lastbalanserare distribuerar inkommande trafik över flera EC2-instanser, vilket förbättrar tillgängligheten och skalbarheten.

#10. Virtual Private Cloud (VPC)

VPC är ett logiskt isolerat virtuellt nätverk som ger en säker och avskild miljö för EC2-instanser. Du kan organisera EC2-instanser i samma eller olika VPC:er och definiera regler för hur trafik ska flöda mellan VPC:erna, och därmed även mellan olika EC2-instanser i din infrastruktur. Ofta vill du hålla vissa EC2-instanser privata, endast tillgängliga för applikationskoden, medan andra ska vara tillgängliga via internet. VPC är en idealisk lösning för detta.

Huvudegenskaper hos EC2

Källa: aws.amazon.com

EC2-instanser erbjuder skalbar beräkningskapacitet i AWS-molnet. Företag kan snabbt starta virtuella maskiner med den datorkraft och lagringskapacitet de behöver, utan att behöva investera i fysisk hårdvara. Detta är en av de stora fördelarna med molninfrastruktur, och EC2 spelar en avgörande roll.

Vanligtvis används EC2-instanser för att vara värd för olika applikationer eller webbplatser i molnet. Du kan anpassa dem till olika arbetsbelastningar, oavsett om det handlar om batchjobb, realtidsprocesser, webb- eller mobilapplikationer.

Möjligheterna med EC2 är nästan oändliga. Du kan behöva kraftfulla resurser för databehandling, maskininlärning eller spel. Eller så behöver du ytterligare utvecklings- eller testmiljöer för din infrastruktur. I alla dessa fall kan du dra nytta av fördelarna med EC2-instanser.

En av de stora fördelarna är att du kan skapa och avveckla instanser när du behöver det. På så sätt sparar du kostnader för utveckling och testning när de inte används. Denna möjligheten till ”on-demand” hantering har många andra värdefulla användningsområden.

Grunderna i Cloud Computing

Eftersom vi redan har diskuterat EC2 kan det vara hjälpsamt att ta ett steg tillbaka och förklara vad cloud computing egentligen är.

Cloud computing kan beskrivas som en modell för att leverera datorresurser via internet, där resurser är tillgängliga ”on-demand” och tillhandahålls som en tjänst. Det handlar om att få tillgång till beräkningskraft, infrastruktur och applikationer utan att behöva investera i fysisk hårdvara. Cloud computing bygger på några grundläggande principer:

  • Användare har tillgång till självbetjäningsresurser när som helst. Servrar och lagring kan erhållas utan långa upphandlingsprocesser.
  • Molnresurser är tillgängliga från var som helst med en mängd olika enheter, t.ex. bärbara datorer, stationära datorer, surfplattor och mobiltelefoner.
  • Datorresurser och infrastruktur delas och allokeras dynamiskt för att möta skiftande behov och krav.
  • Du kan snabbt skala upp eller ner dina resurser baserat på efterfrågan.
  • I realtid innebär molntjänster vanligtvis en prismodell där du endast betalar för de resurser du faktiskt använder, och du kan också följa din förbrukning i realtid.

Tjänstemodeller för Cloud Computing

Cloud computing erbjuder tre huvudsakliga tjänstemodeller:

  • Infrastructure as a Service (IaaS): Du får virtualiserade datorresurser som servrar, lagring och nätverk som en tjänst. Skapandet av en fullt fungerande lösning överlåts helt till dig.
  • Platform as a Service (PaaS): Du får en hel plattform för att utveckla, distribuera och hantera applikationer som en tjänst. Du behöver inte tänka på infrastrukturella detaljer.
  • Software as a Service (SaaS): Du får färdiga programvarulösningar, som e-post, CRM eller produktivitetsverktyg, som en tjänst. Här använder du en färdig produkt.
  • Distributionsmodeller för Cloud Computing

    Cloud computing kan också delas in efter hur resurserna distribueras och hur du får tillgång till dem:

  • Offentligt moln: Resurser tillhandahålls av en extern leverantör, som AWS, Microsoft Azure eller Google Cloud, och är tillgängliga över internet.
  • Privat moln: En organisation bygger sitt eget datacenter, och infrastrukturen är endast tillgänglig inom organisationens nätverk.
  • Hybridmoln: En kombination av offentliga och privata molnresurser som integreras för att ge en sammanhängande infrastruktur.
  • Multimoln: En strategi där en organisation använder flera molnleverantörer för att uppfylla olika affärsbehov. Till exempel kan man kombinera Amazon Cloud och SAP Datawarehouse Cloud för att skapa en lösning som kombinerar transaktionsdata i SAP med en datasjö i AWS.
  • Elasticiteten hos EC2

    Källa: aws.amazon.com

    Elasticitet är en viktig egenskap hos molntjänster. Det hänvisar till molninfrastrukturens förmåga att dynamiskt allokera och avallokera datorresurser som svar på förändrade behov. Med hjälp av elasticitet kan du skala upp eller ner infrastrukturen efter behov, utan att investera i fysisk hårdvara.

    I nära anslutning till elasticitet kommer skalbarhet, vilket är ett systems förmåga att hantera ökande arbetsbelastning utan att drabbas av sämre prestanda.

    Om din webbplats till exempel upplever ovanligt hög trafik på grund av lanseringen av en efterlängtad produkt kommer skalbarheten in och ökar dina resurser för att klara den höga belastningen.

    Skalbarhet uppnås genom att använda elastiska resurser som virtuella maskiner, lagring och nätverk, som snabbt kan skalas upp eller ner.

    Automatisk skalning är en funktion som utnyttjar skalbarheten och automatiserar den baserat på fördefinierade förväntningar på arbetsbelastningen. Den anpassar antalet datorresurser automatiskt baserat på efterfrågan. Detta innebär att du inte behöver övervaka och justera resurser manuellt. Skalningen kan baseras på olika mätvärden, som CPU-användning, nätverkstrafik eller svarstid.

    Resurser allokeras dynamiskt och i realtid, vilket ger dig möjlighet att optimera din infrastruktur. Du använder resurser endast när du behöver dem och släpper dem när de inte längre behövs.

    Dynamisk resursallokering är en nyckelfunktion i molntjänster, vilket möjliggör hög effektivitet och minimerade kostnader.

    Fördelarna med EC2

    Några av de viktigaste fördelarna med EC2 har redan framgått, men nedan följer en sammanfattning av de viktigaste punkterna:

    Flexibilitet

    Använd EC2 för att enkelt skala upp eller ner beräkningsresurser för att möta aktuella belastningsnivåer. Starta eller avsluta instanser när du behöver dem. Pausa och starta om instanser när det passar dig. Säkerställ att du alltid har en backup om något skulle gå fel.

    Kostnadseffektivitet

    Flexibiliteten ger ökade möjligheter att spara pengar. Om de är rätt konfigurerade startas och avslutas dina EC2-instanser vid rätt tidpunkt. Du slipper därmed kostnader för resurser som inte utnyttjas.

    Hög Tillgänglighet

    Med EC2 får du en infrastruktur med hög tillgänglighet, vilket minimerar driftstopp och säkerställer att applikationer och tjänster alltid är tillgängliga.

    Pålitlighet

    EC2 tillhandahåller en pålitlig infrastruktur som är utformad för att vara igång utan avbrott, vilket säkerställer att dina applikationer och tjänster alltid är tillgängliga med hög prestanda.

    Tillgänglighet

    Du har tillgång till dina resurser från var som helst med stationära datorer, bärbara datorer, surfplattor eller smartphones. Du har också full kontroll över åtkomstbegränsningar.

    Global Räckvidd

    EC2 är tillgängligt i flera regioner över hela världen, vilket gör det möjligt att placera dina applikationer och tjänster närmare dina kunder och följa lokala regler för datasekretess.

    Rörlighet

    Du får en flexibel infrastruktur som gör att du kan reagera snabbt på förändrade marknadsförhållanden och förnya dig snabbare.

    Datasäkerhet

    EC2 erbjuder en säker infrastruktur som är utformad för att skydda data och applikationer från obehörig åtkomst och cyberhot.

    Efterlevnad

    EC2 uppfyller ett brett spektrum av industristandarder och regelverk, inklusive HIPAA, PCI DSS och GDPR.

    Samarbete

    EC2 skapar en samarbetsmiljö som gör det möjligt för team att arbeta tillsammans i projekt, dela resurser och data.

    Utmaningar med EC2

    Det finns också vissa utmaningar du bör vara medveten om när du använder EC2.

    #1. Hantering av Kostnader

    AWS kostnadsmodell är komplex, och EC2-prissättningen är inget undantag. Du måste noggrant hantera din användning för att undvika oväntade kostnader och ha bra verktyg för att övervaka den. Du kan till exempel använda AWS Cost Explorer eller AWS Trusted Advisor för kostnadsoptimering.

    #2. Säkerhet

    Även om EC2 erbjuder en säker infrastruktur är du fortfarande ansvarig för att säkra dina applikationer och data. Implementera säkerhetsrutiner som starka lösenord, kryptering av data och åtkomstkontroller.

    #3. Efterlevnad

    Med EC2 måste du säkerställa att användningen uppfyller branschstandarder och regler. Därför är det viktigt att granska AWS efterlevnadsdokumentation och samarbeta med AWS efterlevnadsexperter för att säkerställa att du uppfyller relevanta krav.

    #4. Prestanda

    EC2-prestanda kan påverkas av faktorer som nätverkslatens, disk I/O eller CPU-användning. Övervaka systematiskt din infrastruktur och använd verktyg som AWS CloudWatch och AWS X-Ray för att identifiera och lösa prestandaproblem.

    #5. Tillgänglighet

    Även om EC2 ger en infrastruktur med hög tillgänglighet måste du se till att dina applikationer och tjänster också är utformade för hög tillgänglighet. Använd AWS-tjänster som Elastic Load Balancing eller Auto Scaling för att säkerställa att applikationer och tjänster alltid är tillgängliga.

    #6. Dataöverföring

    Var medveten om dataöverföringskostnader, eftersom dataöverföring mellan EC2-instanser och andra AWS-tjänster kan medföra extra kostnader. Det handlar inte bara om datautbyte mellan din infrastruktur och internet. Använd Amazon S3 och Amazon CloudFront för att minimera kostnaderna för dataöverföring.

    #7. Leverantörslåsning

    Var medveten om risken för leverantörslåsning när du använder EC2. Utforma applikationerna och tjänsterna så att de är portabla mellan molnleverantörer, och använd öppna standarder och API:er för att säkerställa kompatibilitet. Det gör din lösning molnagnostisk och ger ett extra lager av flexibilitet.

    EC2 och Framtida Trender

    Källa: aws.amazon.com

    Här är några framtida trender och innovationer som formar EC2:s framtid:

    Serverlöst

    Serverlös databehandling är ett relativt nytt paradigm inom cloud computing. Utvecklare kan köra kod utan att behöva hantera servrar eller infrastruktur. AWS Lambda eller AWS Step Functions är exempel på serverlösa tjänster som kan byggas ovanpå EC2.

    Maskininlärning

    EC2 är en idealisk infrastruktur för maskininlärningsmodeller, prediktioner och arbetsbelastningar. Du kan generera stora datasjöar av modellprediktioner på några minuter. Dessutom tillhandahåller AWS ett antal färdiga maskininlärningstjänster som Amazon SageMaker och Amazon Rekognition, som bygger på EC2.

    Edge Computing

    Edge computing innebär databehandling närmare källan, istället för i ett centralt datacenter. Detta innebär att du kan göra mycket av databehandlingen närmare där data genereras och sedan överförs data till ett centralt datalager med hjälp av olika cachningstjänster, utan att det påverkar användarnas upplevelse. AWS erbjuder edge computing-tjänster som AWS Greengrass och AWS IoT, som du kan distribuera ovanpå EC2.

    Containerisering

    Containerisering är en strategi för att paketera applikationer och tjänster i containrar som enkelt kan distribueras och hanteras. Det säkerställer kompatibilitet när tjänster ska flyttas mellan instanser eller infrastruktur. AWS erbjuder containeriseringstjänster som Amazon ECS och Amazon EKS, som bygger på EC2.

    Quantum Computing

    Kvantberäkning är ett nytt paradigm som använder kvantmekaniska fenomen för att utföra beräkningar. AWS erbjuder tjänster som Amazon Braket för kvantberäkning, som du kan använda i samspel med EC2.

    Avslutande Ord

    EC2 är en grundläggande komponent i varje seriös molninfrastruktur och kommer inte att försvinna i närtid. Det är vanligt att EC2 återfinns bland de tre mest kostnadsdrivande tjänsterna, men det finns en anledning till det.

    EC2 är ryggraden i molninfrastrukturen och utgör grunden för många andra tjänster. Att förstå EC2 är därför avgörande för att lyckas i molnvärlden.

    Läs mer om de bästa metoderna för AWS EC2-säkerhet.