I've been trying to understand how Push Notifications work for Progressive Web Apps. One thing that I haven't seen clearly explained so far is the nature of the Push Server, as seen Here: 
Precisely, I don't understand how the Push Server is chosen.
I've followed this tutorial. The endpoint URL is generated by the Service Worker, but the Push Server isn't specified anywhere as far as I can tell.
So is it just specific to each web browser? Is it possible to make my own Push Server, or do I have to use one provided by Google?