+++ title = "Stap over op Containers" date = 2019-10-22T20:48:41+02:00 weight = 30 pre = "3. " +++ {{% notice info %}} Dit deel gaat er van uit dat je reeds klaar bent met **1. Database Migration** en **2. Server Migration**. {{% /notice %}} #### Amazon Elastic Container Service (ECS) Overzicht Amazon Elastic Container Service (Amazon ECS) is een *fully managed* container orchestratie dienst. Je kunt kiezen om je ECS cluster te draaien via: - **AWS Fargate**, wat een **serverless compute** optie is voor containers (geen serverbeheer noodzakelijk). - **EC2 machines** die je zelf beheerd. In deze workshop gebruiken we de **AWS Fargate** optie, zodat we zelf geen infrastructuur voor de backend hoeven te configureren, schalen, managen en beveiligen. Zie onderstaand diagram als overzicht van de belangrijkste componenten van een generieke architectuur voor ECS met de **AWS Fargate** optie:  #### Amazon ECS belangrijkste componenten: Amazon ECS Cluster is een groepering van resources. Task Definition is een tekstbestand, in JSON formaat, dat één of meerdere containers beschrijft (max. 10), die gezamelijk jouw applicatie vormen. Je kunt dit zien als een soort blauwdruk voor jouw applicatie. Task is het product van een **task definition** in een cluster. Nadat je de taak definitie hebt gecreëerd voor jouw applicatie in Amazon ECS, kun je specificeren hoeveel daarop gebaseerde taken je wilt draaien op de cluster. Services - Amazon ECS maakt het mogelijk een gespecificeerde hoeveelheid taken gebaseerd op een taak definitie te draaien op een ECS Cluster. Dit wordt een **service** (dienst) genoemd. Als een taak stopt te functioneren voor welke reden dan ook, zal de **Amazon ECS service scheduler** een nieuwe taak instantiëren gebaseerd op de taak definitie om deze te vervangen. Hierdoor wordt de vereiste hoeveelheid taken als onderdeel van de dienst gewaarborgd. Je kunt meer leren over **AWS Fargate** via de onderstaande video.