-
Notifications
You must be signed in to change notification settings - Fork 16
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
Meilisearch deployment on Fargate #122
Conversation
The EFS volume works great; dropping and recreating a task attaches to the volume. Also interesting point; dropping the ecs service actually waits for Meili to empty its internal queue before terminating cleanly, I'll try this out by dropping a task directly instead of the overarching service just to make sure. |
b99e247
to
f591745
Compare
Running with 3 instances, I get some weird artifacts. I think it's related to how Meili updates its internal state, but I would create a "modules" index and then curl I also did the same test locally just to be sure it wasn't because of the EFS mount, and I get the same behavior locally. For now I think running with a single instance is a better option, we can revisit the multi-instance setup when the cluster mode lands in meili. |
f591745
to
1f9b204
Compare
1f9b204
to
f77ef53
Compare
After consideration, I don't think Fargate is the right choice right now due to both the low amount of data we have and how much harder Fargate has been so far; EC2 just seems like a much simpler option. |
This PR introduces the necessary AWS resources to deploy Meilisearch on Fargate. I personally like Fargate because while the straight compute-hour cost is higher that EC2, it removes a lot of complexity from the management side of things; logging and metrics monitoring is baked-in with Container Insights, the ECS service takes care of restarting failed instances automatically without needing an Autoscaling Group, using a Docker image means we don't have to deal with managing server configurations or ssh into a server. I'm not religiously attached to Fargate, we can discuss the pros/cons and I always move to a more traditional EC2 deployment if need be.
Here's a rough price estimate:
Note that the Load Balancer isn't stricly necessary, we could also use a simple dns-based round-robin and get the job done just fine; ALB simply makes it easier to integrate with Security Groups and AWS Certificate Manager.
Checklist:
/search
endpointFixes #69