Why should a new developer choose Django?

PHP or Python? We compare!

DJANGO - THE FRAMEWORK OF OUR WEB APPLICATION

Why exactly does Blueshoe rely on django and what exactly is django?

Django is a framework for developing web applications. With this, django provides a certain workflow, a structure in the development of web applications. If you adhere to this, it is easy for new developers to read into the code of a new project. This not only means that the project is better structured and organized, but also time savings, which in turn are reflected in the costs.

Django comes with various security mechanisms that are a standard requirement for implementation. For example, Cross-Site Request Forgery (CSRF) is prevented through the use of CSRF tokens. Cross-site scripting is also prevented by the django template engine. A developer must actively decide against this protection for a variable in order to deactivate this protection. SQL injection is one of the other attack vectors that django keeps as small as possible. The Open Web Application Security Project (OWASP) categorized SQL Injection 2013 as the number 1 vulnerability or potentially the largest attack vector. [5]

Django describes itself as "The web framework for perfectionists with deadlines" [6]. The development team around django has defined basic philosophies for the development of the framework [7]. These are of course not a reinvention in the IT world, but also apply to other projects and software systems. However, it is remarkable how strictly these are followed and adhered to in the django project. This is very well received by the community and is very important to us at Blueshoe. The consequences are the dream of every client (of software):

  • Reusable components = less time, less cost
  • Easy expandability of the system = project as a basis for further development
  • Simplicity, readability = no dependency on the contractor
  • Up-to-date security mechanisms (for web applications)

Well, django is safe, it is very structured, easy to maintain and allows a lot of functionality to be implemented in a short time. But who is betting on django? Are there any examples of well-known websites that use Python / django?

Who else is using Python / django?

There are numerous websites, including very well known ones, that use Python / django. A few here:

Dropbox:

Many instances in the Dropbox infrastructure run Python code. The main reason for Dropbox was the rapid development of its features, which Python made possible.

YouTube [8]:

In 2009, YouTube broke the one billion views per day limit. YouTube relies on an application server written in Python. In order to cope with different workloads, YouTube can simply switch machines on or off. When the YT infrastructure is busy, Python is usually not the bottleneck. YouTube also uses Python primarily because of its possibilities for fast and flexible development.

Pinterest [9]:

Pinterest pays $ 52 an hour for their servers during weddings. Most of the traffic comes in the afternoons and evenings. The total number of instances can be reduced to 40% overnight, which can result in a cost reduction of up to $ 15 per hour. Mainly django and Tornado (a Python Web Framework and Asynchronous Network Library) [10] are used to deliver the content.

Spotify [11]:

Spotify’s backend consists of many different services. 80% of these services are written in Python. One of the main reasons for Spotify is the rapid development that Python brings with it. Python is used for the processing of asynchronous tasks and (approx. 90% of the) map-reduce tasks in Spotify’s Hadoop cluster.

Instagram [12]:

With several million requests per second, Instagram successfully shows how perfect django is for building web applications. The overall architecture is of course complex, but the core of the Instagram server is django as an application server.

Disqus [13]:

Disqus is used as a comment plug-in on numerous websites. With (as of 2013) 45,000 requests per second, Disqus is a web application that is extremely scalable. Django is used almost exclusively for processing all inquiries on Disqus. Of course, technologies are used here which "make life easier for django" (e.g. caches). Nevertheless, it also applies here that a solid foundation, such as django, is needed to develop stable, secure and scalable web applications.

BLUESHOE <3 PYTHON / DJANGO

Python and django have active communities, they are constantly being developed and allow us to write high quality software in a short time. That's why we love python and django. Shorter implementation times for change requests, high security standards and low maintenance / care costs - these are things our customers love. At Blueshoe, it is important to us that our customers and partners understand why we have chosen this technology as the basis for many projects for us.

Long story short: Python / django are great foundations for a wide variety of projects. We rely on it and our experiences speak for themselves. New challenges await us every day and we have never been disappointed by django. It just hits the core of our mentality: We too are perfectionists with deadlines.

>> A selection of our Python / django projects <<

By the way, there is also a wonderful content management system based on django:

>> Django-CMS <<


[1] http://blog.codinghorror.com/the-php-singularity/

[2] http://php.net/manual/de/history.php.php

[3] https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/#stance

[4] https://www.python.org/dev/peps/pep-0008

[5] https://www.owasp.org/index.php/Top_10_2013-Top_10

[6] https://www.djangoproject.com/

[7] https://docs.djangoproject.com/en/stable/misc/design-philosophies/

[8] http://highscalability.com/youtube-architecture

[9] http://highscalability.com/blog/2012/5/21/pinterest-architecture-update-18-million-visitors-10x-growth.html

[10] http://www.tornadoweb.org/en/stable/

[11] https://labs.spotify.com/2013/03/20/how-we-use-python-at-spotify/

[12] http://instagram-engineering.tumblr.com/post/13649370142/what-powers-instagram-hundreds-of-instances

[13] http://blog.disqus.com/post/62187806135/scaling-django-to-8-billion-page-views