At a guess they are talking about applications being built from the ground up to dynamically allocate resources using cloud providers APIs directly rather than relying on an assumption fixed resources are already provisioned and the application runs within them.
I wonder if I'm right ...
- very fast startup
- low memory
- can be easily distributed or is stateless
Contradictory perhaps? So it's not what it means but it is what it means?
In order to achieve what you've said in vague terms you definitely do need to try to be stateless, have fast startup and reduce memory. Clear examples are things like lambda and fargate.
How can you be elastic if you have an application server that takes 10 minutes to start?
Authentication and integration with auth and secret providers are another distinguishing feature. I personally find "cloud native" software to be a pain to use locally because they usually come in the form of a docker-compose and kubernetes setup, and those absolutely gobble up ram and disk space.