Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: VirtualNode health-check integrations with ECS #450

Open
andruwm opened this issue Dec 17, 2022 · 0 comments
Open

Feature Request: VirtualNode health-check integrations with ECS #450

andruwm opened this issue Dec 17, 2022 · 0 comments

Comments

@andruwm
Copy link

andruwm commented Dec 17, 2022

If you want to see App Mesh implement this idea, please upvote with a 👍.

Tell us about your request
AppMesh VirtualNode health-checks should be integrated with ECS container life cycles in a similar fashion to ELB health-checks.

Which integration(s) is this request for?
ECS

Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?
Like many teams migrating to AppMesh, my team is currently migrating from an architecture using ALBs for discovery of our services. ALB target group health checks have a tight integration with ECS, which will kill and replace any tasks which fail the health checks. In AppMesh, our goal is to largely remove ALBs from our system architecture and instead rely on CloudMap for service discovery. Without ALBs, we no longer have an easy way to perform application container health checks across a large variety of operating environments. Given that one of the primary objectives of a service mesh is to abstract away networking concerns from the application and facilitate highly variable application environment micro-service architectures this feature feels like a natural fit for AppMesh. In addition, ALB target groups also provide metrics for healthy/unhealthy host counts which is something that we now lack.

The crux of the issue is due to the large variance in application container base images. debian, alpine, node, scratch, python etc all have different sets of tools installed, and even have different shells available. Because of this, using the ECS health-checks directly is non-trivial. It would involve ensuring that curl, or wget is installed on all of our container images which would be a large undertaking given that we have not needed this before now.

If AppMesh VirtualNode health-checks performed the same as target group health checks then the application container environment would once again no longer matter.

Are you currently working around this issue?
Currently, we are exploring the level of effort involved in making ECS health checks happen via curl or wget. We have hundreds of services, and modifying all of them to be compatible with this style of health-check will be a lot of work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant