technogy suggestion for a site

codelevel
codelevel used Ask the Experts™
on
I want to build a site like amazon.com.
what is the best technology that i can use for easy maintenance, speed and reliability.
what are the advantages and disadvantages?
options are

1. php with my sql
2. dot net with sql server
3. java with oracle.
4. node.js
5. angular.js
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Dave BaldwinFixer of Problems
Most Valuable Expert 2014

Commented:
What part of Amazon.com?  Amazon.com has been around for 21 years and brought in US$ 88.988 billion in 2014.  It employs 154,100 people and is rated by Alexa to be the 7th largest web site in the world.  But then... Amazon owns Alexa and many other companies.

Author

Commented:
i need to list products, sell products and take online payment. simple.
customers needs to register and login.
did not literally mean what amazon is capable of.
but my site needs to be reasonably fast loading and capable of holding large data base.
Dave BaldwinFixer of Problems
Most Valuable Expert 2014

Commented:
Do you already have a business established with banking arrangements?  You can hire someone to do the web site part but stocking the products and shipping orders and having the banking arrangements to process payments will take more effort and resources.
Amazon Web Services

Are you thinking about creating an Amazon Web Services account for your business? Not sure where to start? In this course you’ll get an overview of the history of AWS and take a tour of their user interface.

Author

Commented:
Can you please suggest the technology from the options I have given above in the question.
Dave BaldwinFixer of Problems
Most Valuable Expert 2014

Commented:
I would choose PHP and MySQL... but without the other things I have asked about, you will not have a successful business.  The web technology is probably the least important part of an online business.

Author

Commented:
Ok. Php and MySQL can handle 200 million products, any number of concurrent requests and yet load faster?
My question is tech only, not on business development.
Dave BaldwinFixer of Problems
Most Valuable Expert 2014
Commented:
Any business that is handling 200 million products is running 10s of thousands of servers distributed through out the world.  See here http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html for a hint about Amazon.

They are also probably using every known technology to keep it going.  Here is a link to images of Amazon's data centers that hold thousands of servers.  https://www.google.com/search?q=Amazon+data+centers&tbm=isch&tbo=u&source=univ&sa=X&ei=uEB1VYyCG5HEogSEr4CwDQ&ved=0CFwQsAQ&biw=1280&bih=844
Commented:
If you want to just do some e-commerce, your easiest solution is to use PHP/MySQL with a pre-made tool like osCommerce or Magento. There are a lot of options that work under different technologies, and they all have strengths and weaknesses. If your only requirement is to list products and take online payment, then almost any of them will work for you.

As far as handling "200 million products, any number of concurrent requests, and yet load faster" - that is literally impossible with ANY technology. Even Amazon cannot handle "ANY" number of concurrent requests. At some point, there IS a limit to everything. If you go into designing a site with the idea that it can simply handle anywhere from 1 shopper to 10 billion shoppers all at once, then you need someone else to ask the technical questions.

That's like saying, "I want a car that has four wheels and can get me from point A to point B.... OH - and also, I want it to be able to carry an unlimited number of people at any time and be able to go faster than any existing car." You just cannot build a car like that because physics won't let you. There has to be some realistic limits.

In technical designs, your design is going to evolve over time. It's just the way things go. Successful businesses will hire someone to build a site that can handle their CURRENT volume of sales and an additional percentage (at least 10%-20% more), so they have room to grow. However, at a given point, the technical design needs to go beyond simple software. For example, the TCP protocol (which is what everything is based on today) has a limit of 65,535 network ports per computer. It is literally impossible for any computer today to have more people than that connecting AT THE SAME TIME (and the number is even less, since computers will be using some of those ports already for other tasks). In reality, most computers probably can't handle more than a few thousand concurrent requests without running into other resource problems (since every request can take several megabytes of RAM, portions of the CPU, etc...).

So the result is that when your business reaches a certain volume of traffic, you simply need more than one computer serving the web pages in order for the web site to continue to function properly. There's a lot that goes into all of that, and it's not just technology. That's why people get technical degrees and why you have to pay someone for that knowledge.

Author

Commented:
Thanks for the tech details gr8.
One simple question, can I prefer dot net and sql server over php and MySQL for stability and speed?
Commented:
Probably not for those reasons. They usually perform about the same in terms of stability and speed.

That said, SQL Server -is- a more robust database than MySQL. If you want to build out a very complex application, then SQL Server might be a good choice, but you'll also need to pay a lot of money to use it. You cannot use a "free" MSDN / Technet version of SQL Server in a production environment and if you do, then you can get fined for a LOT of money (wiping out any profits that you may have gotten so far). Similarly, SQL Server Express (which IS free) is not the same thing as SQL Server and is not nearly as robust. MySQL will almost always beat out SQL Server Express.

That said, we are again talking about more complicated topics. MySQL has different database engines that work different ways, and perform differently. If you have a lot of volume but not a lot of complexity, then you may not need the additional features that SQL Server offers. You should understand database design before you choose a database. You should be able to know approximately how many fields, indexes, tables, etc... you want, average row length, whether or not you want to use transactions, stored procedures, triggers, replication, etc...

If you don't know all that stuff, then you are not thinking through the problem properly.

All of those things will go into choosing the right database. A lot of people will choose PHP/MySQL (running on Linux and Apache or on Windows/Apache) because the entire platform can be put together for free. If you go the SQL Server route, you will at least need to purchase a license for SQL Server. The .NET framework is a free component and you can use IIS/ASP.NET for free, and it will perform just fine.

It is good that you're asking these questions, but if you're trying to make a decision on how to build out a platform that will scale well, then you really need to reading articles and doing lessons/exercises to learn all of the components better. If you don't, then you are doing what a lot of other doomed businesses have tried to do - run in without knowing the territory and assume it will all just "work out" and then fall flat on their faces.

Those businesses will forget about server and software maintenance, or compliance, or about security, or marketing upkeep, etc... and any small problem can turn into one that will sink the entire business.

So if you're in this to plan your business, then make sure you're taking time to learn the components and not simply ask someone, "Which one?"

Author

Commented:
Thanks dave and gr8. Very useful info.
Dave BaldwinFixer of Problems
Most Valuable Expert 2014

Commented:
You're welcome.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial