Need advice about which tool to choose?Ask the StackShare community!

Gunicorn

1.1K
899
+ 1
78
Undertow

49
93
+ 1
5
Add tool

Gunicorn vs Undertow: What are the differences?

Developers describe Gunicorn as "A Python WSGI HTTP Server for UNIX". 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. On the other hand, Undertow is detailed as "A flexible performant web server written in java". It is a flexible performant web server written in java, providing both blocking and non-blocking API’s based on NIO. It has a composition based architecture that allows you to build a web server by combining small single purpose handlers. The gives you the flexibility to choose between a full Java EE servlet 4.0 container, or a low level non-blocking handler, to anything in between.

Gunicorn and Undertow can be categorized as "Web Servers" tools.

Gunicorn is an open source tool with 6.03K GitHub stars and 1.14K GitHub forks. Here's a link to Gunicorn's open source repository on GitHub.

Instagram, reddit, and hike are some of the popular companies that use Gunicorn, whereas Undertow is used by CurrencyFair, Notify-e, and Kreomi. Gunicorn has a broader approval, being mentioned in 235 company stacks & 251 developers stacks; compared to Undertow, which is listed in 8 company stacks and 5 developer stacks.

Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Gunicorn
Pros of Undertow
  • 34
    Python
  • 30
    Easy setup
  • 8
    Reliable
  • 3
    Light
  • 3
    Fast
  • 4
    Performance
  • 1
    Lower footprint

Sign up to add or upvote prosMake informed product decisions

Cons of Gunicorn
Cons of Undertow
    Be the first to leave a con
    • 1
      Smaller community
    • 1
      Less known

    Sign up to add or upvote consMake informed product decisions

    - No public GitHub repository available -

    What is Gunicorn?

    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.

    What is Undertow?

    It is a flexible performant web server written in java, providing both blocking and non-blocking API’s based on NIO. It has a composition based architecture that allows you to build a web server by combining small single purpose handlers. The gives you the flexibility to choose between a full Java EE servlet 4.0 container, or a low level non-blocking handler, to anything in between.

    Need advice about which tool to choose?Ask the StackShare community!

    Jobs that mention Gunicorn and Undertow as a desired skillset
    What companies use Gunicorn?
    What companies use Undertow?
    See which teams inside your own company are using Gunicorn or Undertow.
    Sign up for StackShare EnterpriseLearn More

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Gunicorn?
    What tools integrate with Undertow?
    What are some alternatives to Gunicorn and Undertow?
    uWSGI
    The uWSGI project aims at developing a full stack for building hosting services.
    NGINX
    nginx [engine x] is an HTTP and reverse proxy server, as well as a mail proxy server, written by Igor Sysoev. According to Netcraft nginx served or proxied 30.46% of the top million busiest sites in Jan 2018.
    Flask
    Flask is intended for getting started very quickly and was developed with best intentions in mind.
    Waitress
    It is meant to be a production-quality pure-Python WSGI server with very acceptable performance. It has no dependencies except ones which live in the Python standard library. It runs on CPython on Unix and Windows under Python 2.7+ and Python 3.4+. It is also known to run on PyPy 1.6.0 on UNIX.
    gevent
    It is a coroutine -based Python networking library that uses greenlet to provide a high-level synchronous API on top of the libev or libuv event loop.
    See all alternatives