Zend certified PHP/Magento developer

Role and necessity of Redis, Varnish, and Elasticsearch in Magento 2: Local environment or server?

What is the role and necessity of Redis, Varnish, and Elasticsearch in a Magento 2 setup? Are these components required only in a server environment, or are they also needed in a local development environment?