IMO: Heroku is a bad example of vendor lock in. To use Heroku, no code changes were required which would prevent it from running else where. A counter-argument to my counter-argument, Heroku limitations (i.e. 30-second HTTP request timeouts) required code changes for any and all web apps to work on Heroku. Anyhow, code that runs on Heroku can run anywhere.
Parse, on the other hand, was both the code and the infrastructure.
I see this as less of a limitation and more as Heroku forcing you to write your app in a scalable manner. Likewise with Heroku servers/dynos not coming with permanent storage and not letting you SSH into them.
For most applications, you're just hosting on Heroku. You can move your application. That's not really a dependency, unlike Parse, where their SDK is deep in your application code. (Oversimplifying what you'd need to do to move, though you can keep the simple deployment story with something like Ckoud 66) It's not a perfect analogy, but Heroku is like AWS EC2, whereas Parse is like AWS Lambda.
Parse, on the other hand, was both the code and the infrastructure.
EDIT: p.s. love your newsletters!