Utilizaría uWSGI+Nginx desde una perspectiva de rendimiento (creo que la comparación ya se ha vinculado en otra respuesta), pip y virtualenv para la implementación, ya que mantiene las cosas independientes, y facilita la implementación limpia utilizando tejido o similar. Use git para control de versiones. Jenkins puede manejar la integración continua. Utilizaría el AWS load balancer (ELB) frente a las instancias de EC2 para equilibrar: hace el trabajo sin tener que preocuparse demasiado por ello. django-storages para cargar sus archivos estáticos en s3, lo que le ahorra el esfuerzo de tener otro servidor para distribuir archivos estáticos.
Sin embargo, depende un poco de los gastos generales de administración. Si está buscando algo limpio y simple para el despliegue y la escala, eliminaría toda la pila AWS EC2, use Heroku como interfaz y s3 para sus archivos estáticos. Esto ahorra todo el tiempo de administración de mantener los cuadros, y le permite concentrarse en el desarrollo.
Fuera de tema, pero podría considerar usar Heroku para implementar un proyecto de Django en AWS y omitir la mayor parte de este debate. –