I see people are running setups like Nginx + Gunicorn + Flask.
Can someone explain what is the benefit of having Gunicorn in front of Flask? Why not just run Flask alone? Doesn't it consume more resources having Gunicorn + Flask running? Is Gunicorn able to reboot the Flask instance when it fails to respond?
What's also the purpose of having nginx on top of gunicorn? Isn't gunicorn enough? Again, more resources being spent?