I agree with your requirement to avoid lock in, but there's nothing wrong with using the big three if you make sure you use open source technologies.
I'm going to use the LAMP stack for example, because everyone is familiar with it.
For example, if you choose MySQL (rather than AWS Aurora) you can:
1. Run that locally during development
2. Install it yourself on a VPS
3. Or migrate to any of the big clouds quite easily
Same goes for your stack. Rather than using PHP with AWS Lambda, provision VMs and install PHP yourself (probably using some sort of shell script).
All cloud providers offer a VM in one form or another, so you're free to swap to another one when you choose.
I'm going to use the LAMP stack for example, because everyone is familiar with it.
For example, if you choose MySQL (rather than AWS Aurora) you can:
1. Run that locally during development
2. Install it yourself on a VPS
3. Or migrate to any of the big clouds quite easily
Same goes for your stack. Rather than using PHP with AWS Lambda, provision VMs and install PHP yourself (probably using some sort of shell script).
All cloud providers offer a VM in one form or another, so you're free to swap to another one when you choose.