We know that Instagram runs on Django as its main server. How easy or hard is it to run and maintain this architecture ? context : I hear a lot of Java or C++ for most architectures. And I get it - languages like C++ can be used to yield the best performance possible for a given hardware. But In the current decade, can we do highly scalable server architectures with dynamically typed languages like python? Any examples other than insta are welcome too!
We should start looking at Python as a language and not a runtime. GIL only applies to the cPython backend. Django can be run on PyPy instead if that’s a concern. Rant: It bugs me when people look at Java as Java + JVM and dotnet as c# and CLR but when it comes to Python it’s just Python
I’ve worked with Ruby which has many different runtimes. However, I’ve never personally set up and worked with Python to know that the same is true there, so apologies if my response above also bugged you.
Oh no, it wasn’t your response. It’s the general consensus on Python. Happens at work too, a lot.
India
Yesterday
3521
Why is it so G*damn difficult to move money out of India
Health & Wellness
Yesterday
1025
Issues with sleep
Working Parents
Yesterday
422
How to relocate out of Blue areas?
Tech Industry
Yesterday
822
Musings (rant?) of an old timer
Cars
Yesterday
451
Is it a good idea to buy BMW from non-BMW Dealers ?
You can make almost any language and framework scalable, you just end up paying more for the resources to do so. You could run a service like Instagram on Python with Django and require hundreds of servers, or you could write it in C++ or Go and cut the number of servers needed by 50% or more just because the runtime requires less memory and cpu so a single machine can serve more requests per second. Not to mention Python has a Global Interpreter Lock that prevents it from being truly multithreaded like the JVM, C++, Go, etc., meaning you need to have multiple Python processes to do what a single C++, Go, etc binary can do with a single running instance
GIL is a known limitation. And thats why this question is all the more important to understand what scalable systems exist out there despite these issues. Agree with the cost factor. Would love to hear some more thoughts on this factor and if there are any ways of dealing with it.