What are the best options to host a Spring Boot application that acts as a receiver and publisher from Google Cloud Pub/Sub. I am using Google App Engine to do that, but there is Google Cloud Dataflow and Google Cloud Run that can be used. Which is the best option that can be used for this purpose and also that can handle the failover scenarios as well. Thanks!
You should probably stick with App Engine Standard, if you need customization of some sort and your app needs to do more than just Pub/Sub. If all you're doing is short processing of messages (e.g. pub/sub + writing to a data store), use Cloud Run.
Google Cloud offers the continuum from fully managed to fully manual infrastructure, so it really depends on how much control you want to hand over versus getting things done for you. I've engaged with teams that really just needed App Engine, but were reinventing it with Compute Engine because they didn't know better. Others were trying to use Cloud Functions for the job of Cloud Run. Trust the docs and you'll prosper.
This is an major concerning topic for discussion. For any applications to do something with the data, first have to decrypt it. Creating a potential window of opportunity for hackers. For this I have been using Daton's Google Cloud Storage