The first challenge you will inevitably face as a new web developer is choosing a development & production platform for your business. We will quickly delve into several platforms – Linux (Ubuntu, Fedora, OSX, etc), Windows, & Unix Operating Systems – by discussing the logical choices you will face before making your final platform decision.
The programming language you use to develop your web sites & applications can help you to better recognize the positives of, or even obligations to, each platform. We elected to use PHP because of the development tools, open source developing community, access to information / guides and vast experience we have with the language. For us, it meant the ability to tailor web applications & sites quicker than if we were using ASP.NET. I won’t attempt to compare each language as they all offer a broad number of advantages & disadvantages that are already widely discussed.
If you plan to develop ASP.NET (Microsoft’s web language) web applications & sites, there is an obligation to use the Windows Server platform. Though there are a couple ASP.NET support libraries for Linux / Unix web servers available, they fail to offer complete support of the language and are recommended for production applications or sites as a last resort only. If you plan to develop with an open source language, like PHP, you are free to use any platform, though the support for each may vary greatly.
Type of Server
The type of server and the type of server processes you require will also affect your platform choice. Though many of the common server types (mail, ssh, ftp, web, database, etc) are supported cross platform, support and performance often vary between everything from process-to-process communication to general desired use. We run several server processes to support our client needs and found that Windows’ support for many of them was similar to the kind we received for their other Operating Systems; nonexistent in some areas and slow in the general.
When in Doubt
If you rather unfamiliar with many of the technologies, it’s often more comforting to make your selection based on pure statistics. Below is the current (as of March 2011) list of the leading web server statistics by Netcraft.
Vendor Product – Web Sites – Hosted – Percent
Apache – Apache – 179,720,332 – 60.31%
Micrsoft – IIS – 57,644,692 – 19.34%
Igor Sysoev – nginx – 22,806,060 – 7.65%
Goggle – GWS – 15,161,530 – 5.09%
lighttpd – lighttpd – 1,796,471 – 0.60%
Linux is a leading server operating system, and runs the 10 fastest supercomputers in the world. Web giant Facebook uses Linux & PHP (and Perl). The statistics from a purely objective view tend to favor Linux.
Selecting a Version / Distribution
If you select the Windows platform, there isn’t much else to do in terms of selecting a distribution, though in all cases you’ll want to choose the latest production version available. If you select the Linux platform, you’ll have a number of options to pick from. Again, to keep this article as concise as possible, I won’t cover the different Linux distributions (there are a number of articles available already).
When you select a Linux distribution you’ll likely want to check out the most popularly distributions. You can further streamline your choices by making a decision on whether you want access to the latest repositories (libraries) vs. stability (how long has it been tested), performance and hardware support vs. security and stability. Due to the Unix philosophy, “Write programs that do one thing and do it well”, you’ll find that at most one or two distributions will meet your requirements.
In the end, we selected a Linux platform; more specifically the Ubuntu operating system. It is widely known for its popularity as a personal desktop replacement for Windows users, and is the most used distribution of Linux. We selected the server edition of Ubuntu because of its long standing use on the web, its ease of use, and the number of technologies which are supported by its Debian based foundation. We decided on a LAMP (Linux, Apache, MySQL, PHP) based server because it’s easy to code, easy to deploy, you can develop locally, and there is plenty of cheap and ubiquitous hosting.
Choosing the right platform can vastly affect your end product and development time-line. You should consider your business, personal & clients’ goals before rushing a platform into production. You may wish to setup several Virtual Servers (using VirtualBox or VMware) to test, side-by-side, the benefits of each one in accordance with your business requirements. I recommended using open source languages, frameworks, tools and servers because of their wide use, support, transparency, increased security and nature (reference Unix philosophy above).
For More Information Please Visit: Web Designer Windsor