Alternatives to Gunicorn logo

Alternatives to Gunicorn

uWSGI, nginx, Flask, Waitress, and gevent are the most popular alternatives and competitors to Gunicorn.
743
526
+ 1
66

What is Gunicorn and what are its top alternatives?

Gunicorn is a pre-fork worker model ported from Ruby's Unicorn project. The Gunicorn server is broadly compatible with various web frameworks, simply implemented, light on server resources, and fairly speedy.
Gunicorn is a tool in the Web Servers category of a tech stack.
Gunicorn is an open source tool with 7.1K GitHub stars and 1.3K GitHub forks. Here’s a link to Gunicorn's open source repository on GitHub

Top Alternatives to Gunicorn

Gunicorn alternatives & related posts

uWSGI logo

uWSGI

161
185
4
uWSGI application server container
161
185
+ 1
4
PROS OF UWSGI
CONS OF UWSGI
    No cons available

    related uWSGI posts

    I find I really like using GitHub because its issue tracker integrates really well into my project flow and the projects feature allows me to organize different efforts into boards. The automation features allow my issues to automatically progress through some states on the boards when I merge pull requests.

    My Python / Django app is deployed on Heroku with PostgreSQL database and uWSGI webserver.

    See more

    I use Gunicorn because does one thing - it’s a WSGI HTTP server - and it does it well. Deploy it quickly and easily, and let the rest of your stack do what the rest of your stack does well, wherever that may be.

    uWSGI “aims at developing a full stack for building hosting services” - if that’s a thing you need then ok, but I like the principle of doing one thing well, and I deploy to platforms like Heroku and AWS Elastic Beanstalk where the rest of the “hosting service” is provided and managed for me.

    See more

    related nginx posts

    Recently I have been working on an open source stack to help people consolidate their personal health data in a single database so that AI and analytics apps can be run against it to find personalized treatments. We chose to go with a #containerized approach leveraging Docker #containers with a local development environment setup with Docker Compose and nginx for container routing. For the production environment we chose to pull code from GitHub and build/push images using Jenkins and using Kubernetes to deploy to Amazon EC2.

    We also implemented a dashboard app to handle user authentication/authorization, as well as a custom SSO server that runs on Heroku which allows experts to easily visit more than one instance without having to login repeatedly. The #Backend was implemented using my favorite #Stack which consists of FeathersJS on top of Node.js and ExpressJS with PostgreSQL as the main database. The #Frontend was implemented using React, Redux.js, Semantic UI React and the FeathersJS client. Though testing was light on this project, we chose to use AVA as well as ESLint to keep the codebase clean and consistent.

    See more
    Gabriel Pa
    Shared insights
    on
    Traefik
    nginx
    at

    We switched to Traefik so we can use the REST API to dynamically configure subdomains and have the ability to redirect between multiple servers.

    We still use nginx with a docker-compose to expose the traffic from our APIs and TCP microservices, but for managing routing to the internet Traefik does a much better job

    See more

    related Flask posts

    James Man
    Software Engineer at Pinterest · | 37 upvotes · 443.4K views

    One of our top priorities at Pinterest is fostering a safe and trustworthy experience for all Pinners. As Pinterest’s user base and ads business grow, the review volume has been increasing exponentially, and more content types require moderation support. To solve greater engineering and operational challenges at scale, we needed a highly-reliable and performant system to detect, report, evaluate, and act on abusive content and users and so we created Pinqueue.

    Pinqueue-3.0 serves as a generic platform for content moderation and human labeling. Under the hood, Pinqueue3.0 is a Flask + React app powered by Pinterest’s very own Gestalt UI framework. On the backend, Pinqueue3.0 heavily relies on PinLater, a Pinterest-built reliable asynchronous job execution system, to handle the requests for enqueueing and action-taking. Using PinLater has significantly strengthened Pinqueue3.0’s overall infra with its capability of processing a massive load of events with configurable retry policies.

    Hundreds of millions of people around the world use Pinterest to discover and do what they love, and our job is to protect them from abusive and harmful content. We’re committed to providing an inspirational yet safe experience to all Pinners. Solving trust & safety problems is a joint effort requiring expertise across multiple domains. Pinqueue3.0 not only plays a critical role in responsively taking down unsafe content, it also has become an enabler for future ML/automation initiatives by providing high-quality human labels. Going forward, we will continue to improve the review experience, measure review quality and collaborate with our machine learning teams to solve content moderation beyond manual reviews at an even larger scale.

    See more
    Praveen Mooli
    Engineering Manager at Taylor and Francis · | 13 upvotes · 1.2M views

    We are in the process of building a modern content platform to deliver our content through various channels. We decided to go with Microservices architecture as we wanted scale. Microservice architecture style is an approach to developing an application as a suite of small independently deployable services built around specific business capabilities. You can gain modularity, extensive parallelism and cost-effective scaling by deploying services across many distributed servers. Microservices modularity facilitates independent updates/deployments, and helps to avoid single point of failure, which can help prevent large-scale outages. We also decided to use Event Driven Architecture pattern which is a popular distributed asynchronous architecture pattern used to produce highly scalable applications. The event-driven architecture is made up of highly decoupled, single-purpose event processing components that asynchronously receive and process events.

    To build our #Backend capabilities we decided to use the following: 1. #Microservices - Java with Spring Boot , Node.js with ExpressJS and Python with Flask 2. #Eventsourcingframework - Amazon Kinesis , Amazon Kinesis Firehose , Amazon SNS , Amazon SQS, AWS Lambda 3. #Data - Amazon RDS , Amazon DynamoDB , Amazon S3 , MongoDB Atlas

    To build #Webapps we decided to use Angular 2 with RxJS

    #Devops - GitHub , Travis CI , Terraform , Docker , Serverless

    See more
    Waitress logo

    Waitress

    7
    17
    0
    A production-quality pure-Python WSGI server
    7
    17
    + 1
    0
    PROS OF WAITRESS
      No pros available
      CONS OF WAITRESS
        No cons available

        related Waitress posts

        gevent logo

        gevent

        15
        27
        0
        Coroutine network library for Python
        15
        27
        + 1
        0
        PROS OF GEVENT
          No pros available
          CONS OF GEVENT

          related gevent posts

          Apache HTTP Server logo

          Apache HTTP Server

          52.4K
          11.9K
          1.4K
          The most popular web server on the Internet since April 1996
          52.4K
          11.9K
          + 1
          1.4K

          related Apache HTTP Server posts

          Tim Abbott
          Shared insights
          on
          nginx
          Apache HTTP Server
          at

          We've been happy with nginx as part of our stack. As an open source web application that folks install on-premise, the configuration system for the webserver is pretty important to us. I have a few complaints (e.g. the configuration syntax for conditionals is a pain), but overall we've found it pretty easy to build a configurable set of options (see link) for how to run Zulip on nginx, both directly and with a remote reverse proxy in front of it, with a minimum of code duplication.

          Certainly I've been a lot happier with it than I was working with Apache HTTP Server in past projects.

          See more
          Marcel Kornegoor
          Shared insights
          on
          nginx
          Apache HTTP Server

          nginx or Apache HTTP Server that's the question. The best choice depends on what it needs to serve. In general, Nginx performs better with static content, where Apache and Nginx score roughly the same when it comes to dynamic content. Since most webpages and web-applications use both static and dynamic content, a combination of both platforms may be the best solution.

          Since both webservers are easy to deploy and free to use, setting up a performance or feature comparison test is no big deal. This way you can see what solutions suits your application or content best. Don't forget to look at other aspects, like security, back-end compatibility (easy of integration) and manageability, as well.

          A reasonably good comparison between the two can be found in the link below.

          See more
          Microsoft IIS logo

          Microsoft IIS

          10.4K
          3.5K
          213
          A web server for Microsoft Windows
          10.4K
          3.5K
          + 1
          213

          related Microsoft IIS posts

          Apache Tomcat logo

          Apache Tomcat

          8.7K
          5.5K
          199
          An open source software implementation of the Java Servlet and JavaServer Pages technologies
          8.7K
          5.5K
          + 1
          199
          PROS OF APACHE TOMCAT
          CONS OF APACHE TOMCAT
            No cons available

            related Apache Tomcat posts

            Java Spring JUnit

            Apache HTTP Server Apache Tomcat

            MySQL

            See more