PHP & Mysql?
or what else?
I am curious.
Enormous people worldwide are uploading pictures, post. How deal it and how stores it?
What tech behind the scene?
PHP & Mysql?
or what else?
I am curious.
Enormous people worldwide are uploading pictures, post. How deal it and how stores it?
What tech behind the scene?
To store and serve user images of that volume, you might want to consider something like AWS S3 and CloudFront.
As to the language and framework, it’s probably doable in PHP & MySQL but there are other popular choices like Java/.NET/Node.js/etc with whatever RDBMS/NoSQL combinations as well.
In general, the choice of design and overall architecture is much more important in such scenarios than that of specific language or framework. You can even mix and match number of them if you are to adopt a micro service approach, for example.
Thx for reply.
I want to start small for test the market and people’s response.
Then what options should I adopt? I know C# well, Javascript, Php, mysql a little, but not others.
If C# is the language you feel the most comfortable with, then probably you might want to start with writing a prototype application using .NET platform with such frameworks like ASP.NET, Entity Framework, and etc.
And AWS offers a free tier plan, so you can set up an online storage(S3) and distribution system(CloudFront) for your images without initial set up cost for testing purpose. For the application itself, you can also deploy it on BeanStalk or ECS, depending on your requirements.
Or you can just use Docker images for Fake S3 or S3 Ninja at first, so you don’t have to worry about cloud stuffs until you finish building your working prototype.
And of course, there are other cloud services out there so you don’t have to use AWS. But personally, I don’t much experience besides AWS, so I can’t recommend any specific services in that case.
Really, on sites of those scale, it is multiple custom solutions. Even for large games, we used custom sever OSes with (often) flat data files and favoring memory over physical storage. But the load distribution and routing was the bigger part, management/communication/syncing of the servers was the bigger challenge. It’s literally a completely different world than something you would attempt on your own. Really not something to worry about to much, just use something like AWS. If you ever actually need on that scale, you can hire a team to build it out. (or pay amazon)
Thanks.
I am open to learn new language.
Anyway, for make App, there is 2 areas, Android, iOS. I heard that for Android app, need to know Android Studio and Java, and for iOS, Swift.
So I want to start for Android first, then I should start with Java and Android Studio?
You don’t need to know Swift or Java to develop for iOS and Android respectively but honestly, if you don’t know that much then this entire subject is probably a ways beyond you.
Yes, or you can just make a hybrid App instead, using something like Ionic framework. As you are already familiar with Javascript, it could be an easier approach since you don’t have to build for each platform that way.
As a (soon to be) former Crashplan user… the thing I liked about Crashplan was that you could back up multiple computers on the same plan. Most of the plans I’ve looked at switching to cost an extra subscription per computer. Anyone know a plan that woks like Crashplan and lets you do multiple computers with one subscription?
PHP has been generally considered old technology for some time so most startups tend to shy away from it (not that it can’t do the job, but its ‘out of fashion’). A lot of larger places might have some PHP somewhere, and it still forms the core of many sites (e.g. Zynga), but its definitely not the go to.
Javascript frameworks (node, react, etc), Python based stuff, and AWS (particularly PaaS layer), are all very popular.
Because MySQL is owned by Oracle modern web startups will tend to favour the MariaDB fork, but PostgreSQL is generally preferred by the techs in this space. You will often see NoSQL databases (e.g. MongoDB) and DB as a service offerings too.
At Instragam Django is the PHP equivalent, they serve content using a CDN (Amazon CloudFront), and database is PostgreSQL (+Redis).
@JohnnyA You mean Instagram server program logic is made by Django(=PHP)? Then what about client side?
php is crap
Bare in mind that was 6 years ago.
Some languages are more painful then others. We ran a game serving south of a billion requests per day on ruby on rails. Because as most companies, We stuck with what we started with.
Basically you can make anything scale. Developers are very biased. They tend to go to great (sometimes ridiculous) lengths to make their favorite tech work even when it’s not ideally suited for the task. Languages with a global interpreter lock for instance, that don’t have real concurrency, go through all sorts of hoops to scale. That’s basically every interpreted language out there.
Hell we even made flash scale. We had a custom flash VM running our combat logic on the server, those little flash vm’s were handling several million requests per day.
Django is python, not php.
You should be able to make a code-driven site using either flask or django in conjunction with some database, then hide it behind some sort of webserver (nginx). On client site it’ll be javascript.