which backend technology should i choose to develop a video site similar to youtube

46 views
Skip to first unread message

ömer iyiöz

unread,
Jun 15, 2016, 8:21:07 AM6/15/16
to AngularJS
Hello, i'm learning angular.js. And i need to learn a backend technology but i cannot decide which one to choose. My plan is to develop a website similar to youtube. Number of users expected for this site can reach to 1 million in 1 years. I'm thinking about node.js, django, and spring boot. What should be my right choice?

Sander Elias

unread,
Jun 15, 2016, 8:54:08 AM6/15/16
to AngularJS
Hi Ömer,

I'm with Bredan Eich on this. Always bet on JS.
However, with that kind of architectural needs, I would not build a server, but directly develop on a large cloud provider. AWS/Google/MS all have offering that you can use here. It will scale much better as anything you can come up with, and it frees you from doing a lot of work.

Regards
Sander


ömer iyiöz

unread,
Jun 15, 2016, 9:04:58 AM6/15/16
to ang...@googlegroups.com
I didn't know what you mean but i will research about it on the web. I previously developed a very dummy site, and bought host from bluehost ,domain from godaddy. Did you talk related to that or saas etc.? If not, can you please provide me some keywords, hints, urls etc. to search on the web so that i can work more for what you mean and what i need..
Thanks in advance

--
You received this message because you are subscribed to a topic in the Google Groups "AngularJS" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/angular/AEQy6k8Zucw/unsubscribe.
To unsubscribe from this group and all its topics, send an email to angular+u...@googlegroups.com.
To post to this group, send email to ang...@googlegroups.com.
Visit this group at https://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.



--
İyi çalışmalar
Ömer İyiöz
0546 828 62 33

Kunal Kamble

unread,
Jun 15, 2016, 9:07:42 AM6/15/16
to AngularJS
Hey,

Try to use Realtime Database and Storage. for storage you can also use Amazon S3.


I am pretty sure it is going to be best bet.

Sander Elias

unread,
Jun 15, 2016, 9:17:47 AM6/15/16
to AngularJS
Hi Ömer,

Not knowing what is exactly what you need is making it difficult to give a complete answer. I was not thinking about a SAAS solution.
All big cloud providers offer storage as a service, and also Databases as a service. using those services, you actually don't need a server of your own at all.

I suspect that in your specific case the google Firebase offering will be well suited. Perhaps you need to add a small amount of scripting that lives in the cloud also, but there are solutions that will take care of that, without you needing a actual (or virtual) server.
The upside of this approach, is that your app/service will scale to usage, without you having to do much about that. 

with kind regards
Sander 


Zlatko Đurić

unread,
Jun 16, 2016, 3:37:35 AM6/16/16
to AngularJS

On Wednesday, June 15, 2016 at 2:21:07 PM UTC+2, ömer iyiöz wrote:
Hello, i'm learning angular.js. And i need to learn a backend technology but i cannot decide which one to choose. My plan is to develop a website similar to youtube. Number of users expected for this site can reach to 1 million in 1 years. I'm thinking about node.js, django, and spring boot. What should be my right choice?

All right, I'll bite.

Most likely, you can just take any technology that you want or like, they'll all behave. You can start with plain-ole PHP that has a huge amount of tutorials, classes, projects, articles, community. Or Django as you say, most people I know say great things about it. You can try something a bit more verbose, but also more capable, like Spring you mention. You can go a bit unusual with Haskel or Erlang or you can try the newer kids like Go or Node.

But because you're learning Angular, I assume you're also getting a grasp on JavaScript. So I would recommend Node.js and Express. It's mature and stable and battle tested, the community is vibrant and usually helpful and it's also pretty flexible. You're also more likely to make fatal errors which will lead to crashes - like due to memory leaks etc - but I think it'd be a good thing - fail fast and learn from it.

You might want to go with some easy to use persistence. Classic SQL starter database like MariaDB would work great if you want to go relational, but the tables might get confusing. And if you're learning, you're probably going to be changing things around your table layout a lot - so it's easier to just go with MongoDB or CouchDB for persistence - as there such migrations are usually non-issue and done with code. Again - much easier to make mistakes in design - but failing there is good too (Database design for a "I'm learning angular, what backend to learn" level of experience is probably a huge unknown). Fail, learn from it, iterate. The main point is that a lot of the "db design" if I can name it so is again happening in the code - so you're still only learning JavaScript.

You'll also need storage space for backend. Amazon S3 or Google storage seems like a reasonable choice, but if you want to learn, maybe it's better if you start with simple local storage. I take it that if you go to that called-out 1 million users in 1 years, you'll also attract a lot of investor money which will let you pay people who can migrate and scale this easily to whatever. So for OS and storage, maybe something simpler like Scaleway starter cloud - which gives you 50GB of fast storage for cheap - would suit you well. Again - pretty easy to scale out of those things if you need to so don't worry much about it.

But if I were to suggest a stack for somebody who's learning all these things today, I'd stick with plain Node.js/MongoDB/local file system for backend and then as they learn, break out of those bounds.

ömer iyiöz

unread,
Jun 16, 2016, 4:22:31 AM6/16/16
to ang...@googlegroups.com
Hi Zlatko, i have python and js background. I have developed a web site by using core php. As you said there are many options. However, i want the most stable. Because after developing a website with some language and framework and succeeding something, i don't want to be in a condition where i have to move my development to another language and framework. It takes much effort and time.
In the beginning of this post, i actually prefer the django, however fast growing nodejs attracts me more now.

--
You received this message because you are subscribed to a topic in the Google Groups "AngularJS" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/angular/AEQy6k8Zucw/unsubscribe.
To unsubscribe from this group and all its topics, send an email to angular+u...@googlegroups.com.
To post to this group, send email to ang...@googlegroups.com.
Visit this group at https://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Zlatko Đurić

unread,
Jun 16, 2016, 4:30:27 AM6/16/16
to ang...@googlegroups.com
If you already have background, choose whatever you think it is faster for you. For me it's definitely node.js.

The point of my post is - if you want to have a million users you're going to be using many technologies anyway. You need to scale out so you need different things for different purposes.

So whatever you choose now - it's good. You use it and learn with it and grow. If you're doing relatively fine, when the time comes to introducing different other technologies, you should have no major problems with any of the languages. If you're messing up a lot - you're going to have to clear that mess anyway.

I think Python would make you think a bit longer on certain things and make better design there.

I think Node.js would let you make worse mistakes and recover easily from them.

So maybe the real question is - is this something you really want to scale fast (proposed 1mio users in 1 year seems fast)? Then Python - since you already know the language and won't be bothered with stupid language quirks. Do you want to learn? Then Node.js - as it introduces a lot of new concepts for you and makes you think differently.

That's what I think, though, doesn't have to be valid.

Zlatko
Reply all
Reply to author
Forward
0 new messages