Having multiple databases causes data replication, which causes data to occupy much more space, and have a much higher probability of being misaligned, my data is misaligned compared to the other systems of the service chain (assume the web portal, the bank gateway, the billing platform) and I have just one db!
I agree that data replication is an issue, even more in a microservices architecture where the relative independence of each service can lead to a sort of unmanageable anarchy. That's the reason why one should take extra care in designing its data layer so that it reflects the separation of concerns that is proper of the microservices approach: each service should manage all and only the data it is responsible for.
Is a good idea in your opinion mix microservices from different providers?
Microservices are indeed a very good choice when designing a portable solution. Due to their independence wrt the underlying architecture, you can choose to deploy the same set of services to different platforms just to implement a HA solution, or you can 'mix and match' different providers using the BaaS tools and technologies that best suit your needs.
Basically Google made a product in response tu aws lambda. What are the main differences and which One is cheaper?
While the comparison is not completely fair, as AWS Lambda is for sure a more mature product (and includes support for additional languages like Python or Java), I would say that a good feature of Google Cloud Functions is the just-in-time execution of npm install that allows you to deploy your function without generating first a ZIP package, and allow a tighter integration with a GIT versioning system. In most use cases GCF are cheaper than AWS Lambda (and they have a 2-million invocations free tier, while AWS has 1-million free invocations).
which of these dev tools are already available and usable with Firebase functions SDK?
I assume here you are referring to the cloud tools like Cloud Logging and Error Reporting: Firebase Functions are nothing different from 'native' Cloud Functions, so you basically have access to the same entire set of dev tools.
Is the support of other programming languages like golang or dart coming to your FaaS in the near future?
I'm not a Googler so I don't have 'first-hand news'; however, GCF PMs confirmed that other languages are in the roadmap.
How about distributed transactions in a microservice architecture?
This is a very interesting topic, which is way broader than the scope of this short reply :) and even crosses the boundaries of specific technologies like Google Cloud Functions or AWS Lambda. Maybe you are already aware of that, but I'd like to point you to this Medium post (https://medium.com/@KevinHoffman/distributed-transactions-in-a-cloud-native-microservice-world-7528f8baa8da) which is a good entry point to the main keywords that pop up when talking about transactions AND microservices (namely: Single Responsibility Principle and eventual consistency). This is a 2015 post, just to give an idea of how long this topic is being discussed.