Hoe eenvoudig een Docker-container draaien in de cloud

Crowds of fun-seekers exploring a city on foot, "

Arjan Franzen

6 July 2023

"Engineering crowd recreates with chair, T-shirt &

Het opzetten en beheren van een Kubernetes-cluster wordt steeds complexer. Een website draaien met een handvol Docker-containers zou echter niet moeilijk moeten zijn om op te zetten en te bedienen. Het draaien van containers in de cloud zou zo eenvoudig moeten zijn als het uitvoeren van een deploy commando, waarbij de cloud provider alle schaling, healing en operationele aspecten voor zijn rekening neemt.

Deze post beschrijft verschillende Managed Container Services van AWS, Azure en Google Cloud voor het draaien van Docker-containers in de cloud. Ik bespreek de voordelen van het gebruik van een MCS en belicht enkele van de beste MCS-oplossingen die beschikbaar zijn, waaronder AWS ECS, AWS Lambda, AWS App Runner, Azure Container Instances en Google Cloud Run.

Enkele voordelen van het gebruik van een Managed Container Service (MCS) zijn:

  • Kostenbesparing: MCS elimineert de tijd, moeite en kosten die anders zouden worden besteed aan het onderhouden van een veilige infrastructuur voor het draaien van je container.

  • Flexibiliteit: Je kunt gemakkelijk tussen verschillende cloudomgevingen of zelfs terug naar je on-premises infrastructuur bewegen, waardoor je geen last hebt van vendor lock-in.

  • Snelheid: Doordat MCS de onderliggende infrastructuur abstraheert, kun je je container sneller implementeren.

Over het algemeen vereenvoudigt MCS het uitvoeren van een softwareapplicatie en verbetert het de algemene beveiliging ervan, aangezien de meeste CaaS-oplossingen kwetsbaarheidsscans bieden. Daarnaast hoef je je geen zorgen te maken over het beheer van de hardware waarop je container draait.

Beste MCS-oplossingen (Managed Container Service):

Hieronder vind je enkele van de beste oplossingen voor Managed Container Services die momenteel op de markt beschikbaar zijn

AWS ECS (Elastic Container Service):

Colorful logo symbolizing protection and performance: "EvoShield:

AWS ECS is een volledig beheerde containerorkestratiedienst die wordt aangeboden door Amazon Web Services (AWS). Hiermee kun je containers draaien op een cluster van EC2-instanties of AWS Fargate, een serverless compute engine voor containers. ECS biedt krachtige mogelijkheden voor containerbeheer, waaronder automatisch schalen, load balancing en integratie met andere AWS-services. Het geeft je granulaire controle over de plaatsing van containers, zodat je taakdefinities kunt definiëren en containerinstanties efficiënt kunt beheren. Met ECS kun je gebruikmaken van containerorkestratietools naar keuze, zoals de Docker CLI of Kubernetes.

AWS Lambda:

Lambda logo with Chinese text "飞" ("fly"

AWS Lambda is een serverloze computerdienst waarmee je code kunt uitvoeren zonder servers te provisionen of te beheren. Hoewel Lambda primair is ontworpen voor het uitvoeren van kortstondige functies, ondersteunt het ook het draaien van container-images als uitvoeringsomgeving. Met Lambda kun je je applicatie of service verpakken in een containerimage en automatisch schalen op basis van inkomende verzoeken of gebeurtenissen. Het biedt hoge schaalbaarheid, kostenefficiëntie en eenvoudige implementatie, zonder dat je je zorgen hoeft te maken over het beheren van de onderliggende infrastructuur.

AWS App Runner:

"Microsoft logo: iconic symbol of technology excellence."

AWS App Runner is een volledig beheerde service die de implementatie van gecontaineriseerde applicaties vereenvoudigt. Het biedt een gestroomlijnde ervaring door de complexiteit van infrastructuur en containerorkestratie abstract te maken. Met App Runner kun je direct je broncode of containerimage implementeren vanuit verschillende bronnen, waaronder Git-repositories of container-registries. Het bouwt, implementeert en schaalt je applicaties automatisch op basis van de geleverde broncode, waardoor een snelle levering van applicaties mogelijk is. App Runner ondersteunt meerdere programmeertalen en frameworks, waardoor het toegankelijk is voor een breed scala aan ontwikkelaars.

Azure Container Instances (ACI):

Paradise Valley Comm. College logo: "III" - old

Azure Container Instances is een serverloos containeraanbod van Microsoft Azure waarmee je containers kunt draaien zonder je bezig te hoeven houden met de onderliggende infrastructuur. ACI biedt snelle en fijnmazige implementatie van containers, waardoor je containers binnen enkele seconden kunt opstarten en alleen betaalt voor de gebruikte bronnen per seconde. Het ondersteunt zowel Linux- als Windows-containers en integreert naadloos met andere Azure-diensten. ACI biedt flexibiliteit in de grootte en schaling van containerinstanties, waardoor het geschikt is voor verschillende werklasten, van eenvoudige tot complexe applicaties.

Google Cloud Run:

Google's iconic search engine signifying knowledge and exploration.

Google Cloud Run is een volledig beheerd computeplatform van Google Cloud dat je in staat stelt om stateless HTTP-gedreven containers te draaien in een volledig beheerde omgeving. Cloud Run abstraheert de onderliggende infrastructuur en schaalt je containers automatisch op basis van binnenkomende verzoeken. Het ondersteunt zowel containerimages als de inzet van broncode, waardoor ontwikkelaars flexibiliteit hebben. Cloud Run biedt naadloze integratie met andere Google Cloud-services en hanteert een pay-per-use-prijsmodel.

Vergelijking

Elk van deze containerservices in de cloud biedt unieke functies en mogelijkheden:

  • AWS ECS biedt uitgebreide mogelijkheden voor containerbeheer en -orkestratie, waardoor het geschikt is voor complexere implementaties.
  • AWS Lambda maakt serverloze uitvoering van code of containers mogelijk, wat schaalbaarheid en kostenefficiëntie biedt voor event-driven workloads.
  • AWS App Runner vereenvoudigt de implementatie van gecontaineriseerde applicaties vanuit verschillende bronnen en richt zich op snelle levering van applicaties.
  • Azure Container Instances biedt serverloze inzet van containers, snelle opstarttijden en fijnmazig resourceverbruik.
  • Google Cloud Run is een volledig beheerd platform voor het uitvoeren van stateless containers met automatische schaling en naadloze integratie met Google Cloud-services.

Conclusie

Onze Content At Any Scale-oplossing (CaaS) maakt gebruik van Managed Container Services om websites hyper-scale, naadloze implementatie en hoge prestaties te bieden. Door de combinatie van een Content Delivery Network (CDN) en de Managed Container Services van AWS of GCP voldoen we aan de behoeften van onze klanten.

Content at any Scale maakt gebruik van CDN's voor bliksemsnelle levering van content aan wereldwijde gebruikers. CDN's distribueren website-inhoud naar locaties aan de rand, waardoor de latentie wordt geminimaliseerd en de gebruikerservaring wordt verbeterd.

Beheerde containerdiensten van AWS of GCP maken een efficiënte en schaalbare implementatie van gecontaineriseerde applicaties mogelijk. We bieden AWS ECS, Lambda, App Runner, of GCP's Cloud Run, die aan verschillende eisen voldoen.

Met CaaS 🧀 kan uw website meer verkeer aan, worden updates naadloos uitgerold, en wordt een uitstekende gebruikerservaring gegarandeerd. Ervaar de kracht van Content at any Scale van ZEN Software voor digitaal succes.

background

Alles of Niets, Katapulteer naar de Cloud