Hurricane is an initiative to fit Django perfectly with Kubernetes. It is supposed to cover many capabilities to run Django in a Cloud Native environment, including a Tornado-powered Django app server.

Now available Hurricane 1.5.0

PyPI version Build Status Quality Gate Status Coverage Status ReadTheDocs License: MIT Code style: black

Key Features of Django Hurricane

The goal of Django Hurricane is to build the most robust and scalable applications with Django by leveraging the existing know-how of our favorite framework.

  • Best integration of Django and Kubernetes
  • Tornado-powered Django application server
  • Tornado-powered Django AMQP consumer
  • Probe server out-of-the box with options for standard Kubernetes probes
  • Webhooks to check up on the application status
  • Prometheus instrumentation
  • Operational excellence

Why Hurricane?

Django was developed with the batteries included approach and already handles most of the challenges around web development with grace. It was initially developed at a time when web applications got deployed and run on a server (physical or virtual). Its pragmatic design enabled many developers to keep up with changing requirements, performance and maintenance work.

However, service architectures have become quite popular for complex applications in the past few years. They provide a modular style based on the philosophy of dividing overwhelming software projects into smaller and more controllable parts. The advantage of highly specialized applications gained prominence among developers but introduces new challenges to the IT operation.

However, with the advent of Kubernetes and the Cloud Native development philosophy, a couple of new possibilities emerged to run those service-based applications even better. Kubernetes is a wonderful answer for just as many IT operation requirements as Django is for web development. The inherent monolithic design of Django can be tempting to roll out recurring operation patterns with each application. It’s not about getting Django to run in a Kubernetes cluster (you may have already solved this), it’s about integrating Django as tightly as possible with Kubernetes in order to harness the full power of that platform. Creating the most robust, scalable and secure applications with Django by leveraging the existing expertise of our favorite framework is the main goal of this initiative.