One of the first PaaS solutions around and still one of the best, Google App Engine is a solid choice to launch your next app idea. You can deploy Java, Python or Go based web apps and enjoy a variety of free and low-cost add-ons.
If you want a mostly-static website with some dynamic content, strongly consider the webapp2 framework. It is light-weight and easy to learn. With just a few lines of Python code, you can deploy an app that can serve a website, provide database backed storage, send emails and make HTTP requests. If you want to go enterprise, it is rare to find a Spring compatible hosting service for cheap, let alone free, but here it is.
One thing that App Engine can do better than any other free service is send emails. If your app needs to send emails, I would strongly consider App Engine. As if that is not enough, your app can actually receive e-mails as well. You can also send and receive instant messages using the XMPP protocol. If your users likely have a Google account, you can authenticate them and consume other Google APIs with ease.
If your website gets incredibly busy you have the option to scale up the performance of your website and pay a small fee. For example, a single massive burst to your site may cost you $0.50 – $1.00. A constantly busy site will cost you more. You have complete control of the billing and can set quotas and alerts. Unlike the other PaaS services, pricing ramps up gradually as your traffic increases.
If your website is not very busy then there is a down-side: Your website may pause for a couple seconds the first time someone accessess a page after it has been idle for some time. In the grand scheme, this is a very minor point, but it is present. Also, signing up for App Engine requires you to authenticate your identity by receiving a text message. Once confirmed, you can deploy a website in about 30 minutes.
While Google’s App Engine has a more linear price curve as your app grows in popularity, I have to give creds to Heroku for making pricing simple and clear.