Web dev technologies

VAAKO

New Member
Joined
Jun 20, 2014
Messages
8
Reaction score
0
Hi Everyone

I would like to get your views on a web dev stack.

how would you rate the following stacks :

Apache, php, mysql
Tomcat, java, mysql
IIS, c#, mssql

I understand that the general argument will be that the LAMP stack is the most affordable one, but today a windows server with iis does not cost that much more.

So development wise which one is better if all factors are included, speed scalability, security, speed of development, robustness?
 
Use WAMP stack
Runs on windows
No problem
 
Last edited:
depends on the requirements of the project.

none is better than the other.

we use both php and java stacks, except that we no longer use apache, instead using nginx + php-fpm
 
I understand that the general argument will be that the LAMP stack is the most affordable one, but today a windows server with iis does not cost that much more.

Oh yes it does.

Have a look at the enterprise licensing for Windows Server and MS SQL Server.

They are crazy expensive.
 
@Fuzzbox, why would you want to run apache/mysql/php on windows, since you're going open source why not use it on linux?

@_kabal_ I understand you cant really compare languages 1 to 1 but if you could go any direction why would you choose the specific one, why do you use php/java and why did you move from apache?
 
depends on the requirements of the project.

none is better than the other.

we use both php and java stacks, except that we no longer use apache, instead using nginx + php-fpm

I agree.

Also, don't forget that the next release of Asp.Net, Asp.Net 5 - which is currently Beta 7, is cross platform. You will be able to run it on Linux. Or even in docker on linux or windows.
 
Last edited:
@Necropolis but surely if your site has enough activity for it to need enterprise licensing then that's a small price to pay for the income it generates?
 
@Necropolis but surely if your site has enough activity for it to need enterprise licensing then that's a small price to pay for the income it generates?

True.

But you post said that the cost of a LAMP stack was not that much more than the cost of a Windows Stack.

Which is just not true :)
 
Depends on what you are developing in too. I'm a big fan of Java so for me would be the LAMJ stack.

You sure about the costs? I'm not... Have a look here:
http://www.hetzner.co.za/dedicated-servers/truserv/truserv

Linux Dedicated Server R895 a month
Windows Server standard software, ADDITIONAL R229 a month
Remote desktop licence R69 extra a month
Cant find a cost for MS SQL server, but it will be extra.
 
ok so besides the cost argument?

I would like to know why you would rather go a non microsoft route, except for the price.
On c# you get the .net framework that has some cool benefits.

sql server is free up to 10gb, after that you cry
 
ok so besides the cost argument?

I would like to know why you would rather go a non microsoft route, except for the price.
On c# you get the .net framework that has some cool benefits.

sql server is free up to 10gb, after that you cry

I'm an MS dev myself - so I will tend to lean towards the MS stack because that is what I work with every day.

Suppose at the end of the day it all depends on what you want to do and what frameworks there are in each environment that will assist you in reaching your goal.
 
For me it would largely be about the skill sets my company or I have. No use if you have MS devs to go LAMP or whatever. If you are a dev house you would normally have lots of std frameworks, etc. We have lots of libraries for diff things. So rather leverage your time investments and your existing skills. Remember that someone has to maintain the site for the next 10-odd years. You need to be ablt to source those skills.
 
sql db <-> nosql db <-> go / node <-> network <-> angular / react / or any other binding framework

is a modern architecture.

DONT render on the server, DONT intermingle your views and models,
DO try use JSON throughout the entire flow.


I have yet to see anything other than native C outperform this stack.

I ran a load test a while ago on different stacks on 2 CPU / SSD / 8Gig Ram / Gigabit Port server :

GO -> 12k transactions per second
NODE -> 8k transactions per second
NGINX -> 7.5k transactions per second
APACHE -> 3k tranactions per second
.NET -> 2.5k transactions per second

I did not do Java, but I do know a well implemented Java stack can get close to GO / NODE level performance...

Clicky clicky omg where do I dump the TCP buffers .NET and related Microsot stacks are a waste of time for high performance systems in my opinion... Especially when things go wrong... A mouse ninja that cannot find the right button to click on is less than useless when you have a production cluster hitting 50k TPS and needs to be diagnosed and hotfixed while its all still running...

Which by extension means REAL production systems run Unix / Linux / Solaris or anything else where you have kernel level access.

Just look at what happened to FlySafair's (Microsoft Stack) site when all hell broke loose on that birthday special last week.
 
Last edited:
Personal Preference is LAMP running ubuntu.

The reason, I like PHP, easy as that and there is loads of support for it, as well as ubuntu and it's quick.

Anything MS related I have always found to be overweight.

So yeah depending on what you plan on running, it's basically a choice in which type of Linux based stack you want. When you look at price and speed.

With regards to server, have a look at hetzner.de most things will be fine on a VPS, which an entry level is 5.90 Euro's, so less that R100 a month.
So that
 
Asking about which stack to use, I am assuming you are considering which to learn and you don't have experience or are you asking to get an understanding to hire someone?

Apache, php, mysql --> PHP is the easiest to get started with and it performs really well, but typically I find people starting out learn very bad habits and practices.
Tomcat, java, mysql --> Java is the most difficult language of the 3 mostly due to the number of frameworks and different ways you can do things and I would avoid it unless you have some seriously good Java developers to help you out.
IIS, c#, mssql --> What Microsoft does right is provide great tooling that all works together well. The Visual Studio IDE and SQL Management Studio are really great tools that make it very easy to work with.
 
Asking about which stack to use, I am assuming you are considering which to learn and you don't have experience or are you asking to get an understanding to hire someone?

Apache, php, mysql --> PHP is the easiest to get started with and it performs really well, but typically I find people starting out learn very bad habits and practices.
Tomcat, java, mysql --> Java is the most difficult language of the 3 mostly due to the number of frameworks and different ways you can do things and I would avoid it unless you have some seriously good Java developers to help you out.
IIS, c#, mssql --> What Microsoft does right is provide great tooling that all works together well. The Visual Studio IDE and SQL Management Studio are really great tools that make it very easy to work with.
7ac.jpg
 
Don't bother with WAMP or XAMPP. Install Virtual Box and Vagrant. Install Scotch Box (http://box.scotch.io). I comes with Apache but its a good exercise to install Nginx on that box. It already has MySQL, NodeJS, etc.. installed. Benefit is that you don't have to clutter your machine with Apache, PHP and MySQL. SSH into the box and start coding!!

...and in the process you also learn a bit of DevOps :)
 
For stuff online, just use Digital Ocean. Easy and cheap!!

Vagrant also integrates seamlessly with Digital Ocean
 
Or you could just use Azure and eliminate most of the stack stuff. They'll handle most of the DB stuff and hosting the site. You just need to get a domain and know how to use C# or VB for the backend.
 
Top
Sign up to the MyBroadband newsletter
X