UPDATE: I am currently pushing Lightning in a Bot's dedicated NLP analytics server to production that I've dubbed "Bolt". We've opted to build the service in Python and deploy using Amazon's Elastic Beanstalk service.
Elastic Beanstalk is both a blessing and a curse. Its automation features in terms of launching and managing server load is a blessing. The curse is that customization of the EC2 instance launched requires that you use predesigned servers, or create your own AMI (Amazon Machine Image).
Additionally, dealing with more complication library dependencies has been a chore. One of Bolt's machine learning algorithm implementation utilizes the scikit-learn library. Deploying scikit-learn requires a significant amount of advanced server configuration as many of its dependencies are SWIG/wrappers around C-extensions. These extensions make the library more performant at the cost of deployment complexity. Here was a very helpful link:
These C extensions cause issues when using mod-wsgi. Mod-wsgi is a Python module to make use of Apache server. As of right now, Elastic Beanstalk only supports Apache/mod_wsgi based web applications as opposed to something like NGINX. (At least by default, it might be possible to create your own hosted server using a custom AMI and deploying on Elastic Beanstalk but time constraints prevented me from exploring further). However, it does not necessarily mesh well with C-extensions. Mod_wsgi was originally built under the guise that WSGI would run in the same child process as Apache. However, the very nature of how a Python application is preloaded and persisted in memory creates conflict. If you run mod_wsgi in embedded mode, you're allowing Apache to control the creation of processes, which can create a mess when your application makes calls across itself. mod_wsgi daemon processes are isolated with their own interpreters, but the state of c-extensions are not isolated potentially creating interpreter locks. By running mod_wsgi in daemon mode, you can avoid this issue. Doing so is what effectively allowed me to run scikit-learn cleanly in production.