Some questions here for the dev team, in particula...
# dev
a
Some questions here for the dev team, in particular as it relates to the (recommended) implementation of Medplum on AWS. There was an article posted on [Ars Technica yesterday](https://arstechnica.com/information-technology/2024/04/aws-s3-storage-bucket-with-unlucky-name-nearly-cost-developer-1300/) that talked about how the creation of a bucket with a "default" (placeholder-in-code) name led to a large number of (failed) PUT requests an extremely large bill in a short period of time. Wondering a few things here stemming from my own attempts at making a deployment (student in biomedical technology): 1) Are the bucket names truly fully randomized on creation in a manner that prevents any "Distributed Denial of Funding" attacks (as they seem to be being called in the comments)? 2) Are there any plans to develop a section of the "Deploy on AWS" pages that talk about techniques for cost management (in three days on AWS I managed to get a $50 bill of which more than $35 was just ElastiCache). 3) What are the plans for better documentation regarding true self-hosted deployments? Coming from a background with webdev experience in the mid 2010s and more recent programming all being microprocessor C, the world of Node is unfamiliar and right now the documentation basically says "follow AWS but change some stuff" which doesn't quite work. It's also sufficiently tailored to AWS that it's not easy for someone like myself to approach deployment on Azure (where I get free services as a student). I realise I'm not exactly the primary market target here as I clearly don't have the abilities and team to even consider looking at real patient data, but I think at least the first couple questions are relevant to anyone else proceeding with their own deployment. Thanks!
r
HI @asclepiadae , thank you so much for sending this article and the thoughtful concerns. 1) Currently, our bucketnames are not randomized by default, but they are configurable using the
storageBucketName
configuration 2) We do have a blog post about estimating RDS size (https://www.medplum.com/blog/estimating-rds) , but not a comprehensive guide on cost management. I think that would be a great topic for a future post. Side Note: One way to reduce the ElasticCache spend would be to make it more aggressive about evicting cached resources. 3) We'd like to support multiple clouds in the future but for right now the only completely supported provider is AWS. Next on our roadmap would be GCP, then Azure. We've started laying the groundwork for supporting multiple clouds by isolating all of our AWS specific code (https://github.com/medplum/medplum/pull/4329)
a
I know this is an old thread, but for anyone who is trying to cut costs of self-hosting through AWS, here is a little walk through on how to change Redis so that it evicts more aggressively. Hopefully, it works! [And if I'm doing it wrong, please let me know! ] 🙂 https://www.loom.com/share/fb8057d9c0e64cee9ef8c82e7acd956f?sid=149e2ce8-8914-47b7-9cf2-59459980918a
167 Views