I have several issues using Varnish and Redis, so I disabled to develop. In the Alan Kent's (Magento Chief Architect) post say to use the two to develop, I'm using this image Docker below with Redis and without Varnish, and it's very fast in Mac and Linux, so what is the better way, use both, use only one?
Especially for Varnish it makes sense to use and test ist during development as you can run into big problems laster.
I just read Alan Kent's (Magento Chief Architect) Blogpost today where he explains the issue with Varnish:
One particular note is inclusion of Varnish. A very common problem that has become apparent is developers are not testing sufficiently with Varnish in place, resulting in issues only being detected at the end of a project when rolled to production. Developers are therefore encouraged to perform local development with Varnish enabled. One useful piece of feedback is whether Varnish should be enabled by default for all development as a base expectation.
Redis is easy to install and use so i think this should be enabled for development as well.
If you are using M2 and don't test/develop with Varnish you will have a bad time. What will happen is that unless you are some sort of performance god sent to us from afar, you will end up with a terrible Magento 2 site.
It depends on Varnish for the FPC/performance and if the site/theme aren't built with this in mind your concurrency will drop faster than Lehman Brothers stock.
is good only in Linux
Definitely right. Varnish via Docker on Windows or Mac is terrible because the virtual machine limit. So the speed issues are not because of Varnish.
I think you might need to increase the Virtual Machine resource on your computer.