AWS ECS

Connecting services with ECS Service Connect

Once you’ve built all of your microservices and are ready to deploy them to AWS ECS (other container orchestration tools are available… but not in this post), you need a way to connect them together. Historically you could use an elastic or application load balancer that would act as a front door to all of your applications – every time one service needed to talk to another it would do so through the load balancer. This is known as centralised load balancing. While effective, you can very quickly hit limitations such as exhausting the number of target groups (which compounds...

Continue reading...

Managing dependencies between apps when using AWS ECS Service Connect

Reproduce the scenario with my CDK example: https://github.com/foyst/ecs-service-connect-dependencies I’ve been working on a project recently that made use of AWS Elastic Container Service (ECS) Service Connect. Since I last used ECS they’ve introduced capabilities around service discovery which aim to solve challenges orchestrating services in distributed and fluid environments. ECS Service Connect is different to Service Discovery, in that it still uses AWS Cloud Map under the hood as a service catalogue, but uses API based discovery rather than DNS. This means it’s quicker for it to detect outages to applications and update service entries as necessary. It’s kinda like...

Continue reading...