Independent components of a web application, which in most cases only performs one task.

They communicate with the client and each other and does so in a stateless manner, meaning that requests and responses are independent.