Thank you for reading and for your long answer.
In a word, it's an opinionated article, and you have right on many points.
However, if you use the command `gcloud run deploy source=.` you follow the EXACT SAME best practices in term of container best pracitices, security and so on.
Why?
Because the container is built from your source by using BuildPacks and then deplyed
What's BuildPacks?
It's a tool, built by Google Cloud to create container for AppEngine and Cloud Functions, based on your code. Now it's a CNCF product.
So, if you use BuildPacks for Cloud Functions and for Cloud Run, the container best practices are exactly the same. the difference that you are ready to jump to the next level (if you need customization and other cool conainer feature) without changing your infrastructure.