When you use a cloud solution (and especially one with a vendor lock in like Amazon) then yeah, you are fucked there too and I’d question why you did it in the first place.
If you have your own infrastructure - be it a server at home or whatever - then you can always just move it elsewhere, get some other ISP, whatever. There is no lock-in. Inconvenience, sure, but you can migrate elsewhere. That’s just not true about all the other things mentioned, or the friction would be much higher.
With AWS especially there is a shitton of proprietary stuff. Most of the friction is in knowledge however; the cloud environments differ, are configured differently, have different limitations and caveats, etc. Someone who has only ever worked with AWS will have to learn a lot of things anew if they switch. Hell there’s a reason why “AWS engineer” is a dedicated role in some companies.
Now, if you only manually set up some VMs and configure them like you would a regular server then sure, it’s easy to migrate. But when you are missing 99% of the features of the cloud environment are you actually using it?
For me the purpose of the cloud is the ability to deploy my projects on rented infrastructure independently of the provider. Tools like Terraform and Kubernetes help with the abstraction of providers.
As for proprietary features I prefer to use open source alternatives like Supabase, which I then can deploy to any cloud and migrate between clouds if needed.
When you use a cloud solution (and especially one with a vendor lock in like Amazon) then yeah, you are fucked there too and I’d question why you did it in the first place.
If you have your own infrastructure - be it a server at home or whatever - then you can always just move it elsewhere, get some other ISP, whatever. There is no lock-in. Inconvenience, sure, but you can migrate elsewhere. That’s just not true about all the other things mentioned, or the friction would be much higher.
Have you actually used anything cloud? Because there’s literally no friction to move things around. Unless you decide to use proprietary features.
With AWS especially there is a shitton of proprietary stuff. Most of the friction is in knowledge however; the cloud environments differ, are configured differently, have different limitations and caveats, etc. Someone who has only ever worked with AWS will have to learn a lot of things anew if they switch. Hell there’s a reason why “AWS engineer” is a dedicated role in some companies.
Now, if you only manually set up some VMs and configure them like you would a regular server then sure, it’s easy to migrate. But when you are missing 99% of the features of the cloud environment are you actually using it?
For me the purpose of the cloud is the ability to deploy my projects on rented infrastructure independently of the provider. Tools like Terraform and Kubernetes help with the abstraction of providers.
As for proprietary features I prefer to use open source alternatives like Supabase, which I then can deploy to any cloud and migrate between clouds if needed.