1. By definition, on the Web every application is a distributed system. Even the simplest HTML-only Web page with just one visitor involves at least two separate machines -- the server, which will at the very least run a HTTP server, and the client, which not only needs to run a browser, but also your HTML code (and possibly CSS, Javascript etc) will be parsed executed (parsed) in real-time. This means that all of the Web development -- back-end and front-end needs to take into consideration all the caveats and gotchas of distributed systems (including, but not limited to, the eight fallacies [0]).
2. Many Web frameworks -- Django and Ruby on Rails come to mind -- treat the database as an integral part of an application. In practice, however, the database in most cases runs as a separate service, more often than not on a completely separate machine. It is useful to view a database as just another part of your distributed system, with a very clear responsibility (persistence of state), that is accessed via a special API (SQL).
[0] https://en.wikipedia.org/wiki/Fallacies_of_distributed_compu...