Big News: FounderDating is joining OneVest to build the largest community for entrepreneurs. Details here
Latest Notifications
You have no recent recommendations.
Name
Title
 
MiniBio
FOLLOW
Title
 Followers
FOLLOW TOPIC

Question goes here

1,300 Followers

  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur

Can Django be used for a high traffic website with lots of writes to the database?

I have spoken with different developers who have told me that Node.js is better suited for this kind of application. Seems like there are various opinions out there on what technology to use for different purposes. I know Instagram got started with Django so it seems logical that the framework is capable of handling high traffic websites. What is your opinion?

23 Replies

Steven Rubenstein
6
0
Steven Rubenstein Entrepreneur
Entrepreneur, Activist, Developer and soon Solver of all the World's Problems
It sounds like the different developers you spoke with know nothing about Python / Django. It is very scalable. There is admittedly greater overhead when using a framework such as Django or Rails, but they can definitely scale. For that matter, most technologies are scalable if you know how to use them properly.

Troy Gardner
2
0
Troy Gardner Advisor
Chief Technology Officer, Chief Brewing Officer at Cloud9 Brewing Systems
I've done both in production, both will work at scale. It's more of a question of the data load. If it's frequent writes you'll have to look into which database is the most appropriate, e.g. redis, mongo, cassandra, mysql etc. Which will be the real bottle neck as the server shouldn't really be storing anything persistently.

Django is pretty well put together, and as a web framework, fine for complicated web sites, when you hire a django developer you'll likely get a closer set of standards than in the javascript world.

Node.js is better for real time websocket things, and newer cooler but way more chaotic, like there aren't that many standard node.js developers, as there are a zillion libraries that reflect different incompatible philosophies. Even the appeal of using javascript on both client and server really isn't quite applicable, as client side has to deal with older browsers, and node can use experimental features of the language.
Matthew Griffiths
0
0
Matthew Griffiths Entrepreneur
Technology Entrepreneur, CTO, Startup Executive
Hi Lane,

I would second Tory's comments on the standards around Django. Its a pretty (very) mature framework that is super well supported and which promotes a pretty standard way of doing things. This can be a huge benefit when trying to bring on developers and can make it easy for you to assess potential developer competences etc. We (MetaLayer) have used Django for project of all scale with very little issue. Not to mention the fact that it comes with a host of community project for things like monitoring, A/B testing, social sign on etc etc.

That said, there are things that Django is not as good at that a tech like Node.js is. Some of this can be overcome with the correct choice of database engine (Django over Mongo works as does Django on Google Cloud over Google Datastore), but this won't be enough for some very specific cases (reach out if you want to chat about this).

In short, if you have a great tech co-founder then they will likely know the right mix of tech to delivery your USP, if not, then a choice like Django (or RoR etc) can save a non-tech exec a load of trouble.
Joe Emison
0
0
Joe Emison Advisor
Chief Information Officer at Xceligent
I'll add to the chorus. Django works great in production for us, with a high transaction volume and low latency. The biggest issue about running web applications at scale is (a) how stable they are in terms of memory usage, (b) how well your web server works (here, I prefer nginx to apache), and (c) how well you optimize their function (and Django has a number of great ways to profile applications to reduce database queries and use caches).
Andy Terrel
0
0
Andy Terrel Entrepreneur • Advisor
Fashion Metric CTO , NumFOCUS President
Disqus ran through some hoops to get Django to scale a number of years ago. It really comes down to backend for the data and some updates to the code. The code has come forward quite a bit now so I imagine many of their hoops are no longer necessary.

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


Greg Sherwin
0
0
Greg Sherwin Advisor
vp engineering + it • singularity university
If you're evaluating Node.js versus Django, methinks you're missing -- or not highlighting here -- the core issue. Certainly Node.js is something to avoid with CPU-heavy operations, like image processing. But it's great for things such as Single Page Applications (SPAs), working with distributed Web service APIs, etc.

There's no simple right or wrong answer here. It entirely depends on what application you're building and the environment it operates within. Which means any opinions here are going to be extremely limited without that background, unfortunately.
Tico Ballagas
0
1
Tico Ballagas Entrepreneur
Co-founder & CTO at Kindoma
To expand on Greg's point, the core of the issue is that Node.js processes requests asynchronously. Django does not. Asynchronous processing is a key feature of most highly scalable apps. If you want asynchronous processing in Python, I recommend tornado (http://www.tornadoweb.org/).
Lane Campbell
0
0
Lane Campbell Advisor
Lifelong Entrepreneur
I have a tech background in interconnected networks, virtualization and most corporate technologies. I'm for all intensive purposes new to software development. We had a CTO who started building our product in Django before he had to drop out for health issues. I've been interviewing replacement CTO's but so few people know the Django framework and are open to working with it that I've started talking to developers in general. We have had more than one individual tell us now that Django wouldn't work for our needs. For all intensive purposes this is our application:
  • We anticipate having a few hundred thousand users that complete a profile.
  • We plan to use ElasticSearch for the search engine.
  • There will be triggers checking changes to these profiles and sending out emails.
  • We are planning on using Google App Engine and Google CloudSQL
There are obviously some more granular details regarding theses features. I'm trying to discern if the talent market is just unaware of the capabilities of Django or if it's really an issue with the framework. My take away thus far is that it's a talent market perspective problem and not an issue with the framework. Nothing we are building seems out of this world difficult to scale with Django. Thoughts?
Rohit Paliwal
3
0
Rohit Paliwal Advisor
COO @ Uvaca, Inc.
Short Answer: Nothing in your use case suggests that Django won't be able to serve your needs. In fact most mainstream frameworks are fine for your purpose, just pick one and go with it.

Longer answer:
Most web frameworks are fine and scalable if you put enough resources, you just have to make a decision and pick one that you are able to find people for. Given that you seems to be just starting, for you it's going to be a people-resource problem and not a technology problem.

To put things into perspective Twitter was built using ruby on rails (RoR), which is the ruby equivalent of python/Django, and while they did move away from RoR it wasn't till they had really high traffic and had found a product-market fit. Similarly, Facebook used PHP.

However, do pay attention to overall architecture to make sure the architecture is scalable and more importantly it can evolve as over period your architecture would be evolving anyway with your needs at the product evolves and you will most likely have to include different technologies anyway. At that point if the framework that you're chose initially doesn't meet your needs you will be in a much better situation to make deeper architectural decisions and make changes 'if needed'.

Always happy to chat more if needed, but you should be fine with either of Django, Node or almost anything else.
Jared Hardy
1
0
Jared Hardy Entrepreneur • Advisor
Founding Director at Data Roads Foundation
Google App Engine makes Django easy to use and learn -- it's one of the first full web stacks supported by GAE. If your new CTO knows any Python (and they all should by now) then they can pick up Django very easily.

If you are actually seeing real world database writes increasing exponentially, then you need to concentrate on the distributed database part more than the web backend in the stack, and Django supports all the best SQL and NoSQL database backends. If you're saying "we need lots of database writes" and your CTO candidate says "change the web platform", not "optimize the database for writes using X database in Y distributed configuration with Z hashing (or sharding)", then don't ever hire them -- they are clueless about how full web stacks actually work. I noted "real world" in the first sentence because reads often surprise web developers in how far and fast they outstrip writes after the bootstrap phase. Read loads can easily be handled by load balancers and caches on gateways, no matter what web stack you're using. Stacks or add-ons that compile into static HTML, CSS, ECMAScript, and/or JSON files have the most flexible CDN options.
Join FounderDating to participate in the discussion
Nothing gets posted to LinkedIn and your information will not be shared.

Just a few more details please.

DO: Start a discussion, share a resource, or ask a question related to entrepreneurship.
DON'T: Post about prohibited topics such as recruiting, cofounder wanted, check out my product
or feedback on the FD site (you can send this to us directly info@founderdating.com).
See the Community Code of Conduct for more details.

Title

Give your question or discussion topic a great title, make it catchy and succinct.

Details

Make sure what you're about to say is specific and relevant - you'll get better responses.

Topics

Tag your discussion so you get more relevant responses.

Question goes here

1,300 Followers

  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
Know someone who should answer this question? Enter their email below
Stay current and follow these discussion topics?