Hi! I posted this in the LocalStack Slack communit...
# general
g
Hi! I posted this in the LocalStack Slack community, but keen to hear opinions from folks here as well: We're considering migrating from AWS to a self hosted solution. The motivation for self hosting that our AWS bill is super high, our credits are expiring soon, and we don't have the volume to justify paying AWS so much. We currently use Pulumi for infrastructure as code as and for deployments. Our infra is basically: ECS, RDS, DynamoDB, Kinesis, and S3. In theory, we could point Pulumi to LocalStack and deploy everything using the same IaC, which would in theory allows us to migrate again to AWS if we ever feel the need again. We'd have to set it to persist everything, handle backups, etc. First, am I completely bonkers for considering this? There are "better" solutions of course, but I'm considering this for ease and portability. There's some beauty to keeping our CI and deployment mostly the same except for some endpoint changes. I expect to encounter some hurdles, but hopefully nothing major. Second, we have some usages of
aws-native
in our Pulumi code. The docs here say that's not supported because LocalStack doesn't support CloudControl. Are the docs on that page out of date? I found this issue as "not planned", but can see a merged PR for Cloud Control and a docs page for it. It says it supports IAM role creation which is basically the only thing we're doing with
aws-native
.
m
Hey @gentle-account-95888, This is an interesting one. I suspect you don't want an emulated ECS or emulated kafka type thing ( Kinesis ) in prod long term. I could be wrong but that sounds complex. If you are moving to some lower cost cloud provider, you could just move to use pulumi providers for hetzner or whatever you move to and build up on top of those. What does self-hosting mean in this case?
g
Still exploring options. One option would be to buy a Mac Studio with enough RAM to to accommodate everything that's currently provisioned in AWS, in both our production & development environments, and just put that in our office. The cost would be less than 1 month of AWS. Moving to Hetzener and changing our Pulumi code is also an option, yes. It's just that there's a lot of AWS specific Pulumi code that I'd have to rewrite. If I were to just point to LocalStack I could in theory reuse everything. How well that works in practice or if it's a good thing long term, I'm not sure. Even if we rent a machine on Hetzner instead of buying hardware, putting LocalStack on it and just changing the AWS endpoints in Pulumi is still theoretically an option. Ideally we'd just stay on AWS, but the cost is quite high. Just trying to figure out how to minimise costs - both money and development time.
m
Yeah, if it all runs on a single instance literally at your office, then you could try it. Would be an interesting write up to read after doing the migration and letting it cook for a couple months
For bonus internet points, just run linux on an old thinkpad, and put it on that, so you can say "I replaced an $(some number) AWS bill with this old thinkpad"
( But yeah, my personal thinking is that you'd want to move to non AWS specific things, if moving off AWS, if you need to support this long term. But just my 2 cents )
g
Let's see 🙂 I'm hoping that they just extend the credits so we can kick the can down the road. But if not, I might have to migrate pretty quickly, so I'll probably experiment with LocalStack and maybe other options. But agree that long term LocalStack would probably not be ideal.
👍 1