## Vad är en server?
- Servrar tillhandahåller datorkraften bakom applikationer, webbplatser, databaser och mycket mer.
- En server behandlar klientförfrågningar och levererar tjänster via ett nätverk.
---
## Viktiga egenskaper
- **Beräkningskraft**: Utrustad med CPU, minne och lagring för att utföra olika uppgifter.
- **Nätverksuppkopplad**: Möjliggör kommunikation med klienter och andra tjänster.
- **Tjänstebaserad**: Tillhandahåller applikationer, databaser, fillagring, etc. till användare.
---
## Typer av servrar
- Fysiska servrar
- Virtualla servrar
- Containrar
- Serverlösa funktioner (Serverless)
---
## Fysiska servrar
(Bare-Metal)
- Dedikerad hårdvara som kör applikationer och lagrar data.
- Ger full kontroll och prestanda men kräver mer hantering.
- Exempel:
- AWS Bare Metal Instances
- Azure BareMetal Servers.
---
## Virtuella servrar
(VMs)
- Mjukvarubaserad emulering som körs på en fysisk värd (host)
- Tillåter flera isolerade miljöer på delad hårdvara, vilket ökar effektiviteten.
- Exempel:
- AWS EC2 Instances
- Azure VMs
- Google Cloud Compute Engine.
---
## Containrar
(Docker)
- Lätta, portabla miljöer för att köra applikationer.
- Delar värdserverns operativsystem men håller processer isolerade.
- Perfekta för mikroservicearkitekturer.
- Exempel:
- AWS ECS Tasks
- Azure Container Instances
- GKE Pods.
---
## Serverlösa funktioner
(Serverless)
- Tar bort behovet av att hantera infrastruktur.
- Kod körs direkt, utan att man känner till den underliggande infrastrukturen, som hanteras av molnleverantörer.
- Lämpligt för skalbara lösningar med minimalt underhåll.
- Exempel:
- AWS Lambda
- Azure Functions
- Google Cloud Functions.
---
## Välja rätt typ
- **Fysiska servrar**: Ger maximal _kontroll_, lämpliga för specialiserade behov.
- **Virtuella maskiner**: Erbjuder _flexibilitet_ och isolering utan behov av fysisk hårdvara.
- **Containrar**: Effektiva, _skalbara_ och perfekta för moderna, distribuerade applikationer.
- **Serverlöst**: Eliminerar infrastruktur och _fokuserar på kod_ och snabb skalning.
---
## Faktorer att överväga
- **Prestanda**: Uppgifter med hög belastning gynnas av _fysiska servrar_ eller _VMs_.
- **Skalbarhet**: _Containrar och serverlösa funktioner_ är utmärkta för att hantera varierande arbetsbelastningar.
- **Kostnad**: _Serverlösa alternativ_ erbjuder betala-för-användning-modeller; VMs ger förutsägbara priser.
- **Kontroll**: _Fysiska servrar och VMs_ erbjuder mer kontroll över miljön, vilket är kritiskt för vissa applikationer.