Is it unnecessary to own server hardware?

Since there is a large pool of passionate developers in this community, I would like to express your opinion on this issue - do you consider it excessive or profitable to buy and operate real server equipment at home to spice up your own development and training?

Back in 2003/4, when I jumped into the development line, I felt that the servers belong only to the data center and did not believe in evaluating servers for home use; consumer computing power was already quite solid (then), and similar computers could be used at a fraction of the cost. Having assembled my own computers since I was a schoolboy, I considered the activity of acquiring second components for creating a new PC as an easy task. It was easy to prepare a PC that would act as a dedicated Windows 2003 server for my development tests. But for more than three years I have been working on real servers , albeit with a low level of end. I ended up in this state due to a number of factors.

  • Stability . Server hardware is designed to work together. Tested to run server operating systems. The hardware that I put together may or may not work due to all these fun examples of unexpected incompatibilities. And, unfortunately, I encountered such situations more often than I should, I would like to understand why the computer does not boot, because I have RAM modules connected to a specific order, or the simple use of a specific DVD drive. I have not seen a single BSOD for my servers.
  • Durability . I leave my servers at 24x7 and for many years (fortunately) have not experienced a failure in the server hardware. On the contrary, my PCs are simply damned by the fast bounce rate. Even my laptop-bought laptops end up sporting fun problems anyway (especially with power supplies).
  • Warranty I may have a guarantee for certain parts of the PC, but the guarantee for the computer as a whole is against me. If something failed, I myself was a man who called for help. And I did call myself several times. However, with the server, I call techsupport and force them to replace parts.
  • Performance . Virtualization is really a wonderful thing. Makes it easy to manage single-purpose machines. I immediately downloaded my first server to a maximum of 4 GB of RAM and was happy to run many virtual machines, simulating the environments with several servers / workstations that I needed. Now my new server has a capacity for 24 GB of RAM to allow the larger scripts that I am looking for to experiment (for example, AD domains, BizTalk server group, TFS group, etc.).

In general, with cranky DIY, I spent more time fixing hardware issues than actual development problems. When I threw money to buy real servers, in my life there was an instant drop in hardware problems. I would probably buy a vendor-based workstation if I could find a configuration that matched my development needs.

Now, some of my technical friends who are passionate about their work also work on their own servers at home. The fact is that most other people / colleagues are surprised that I really spend money on this category of cars. Some would classify me as insane. Did I really go overboard?

UPDATE - Clarification when using the server

The core server (Windows Server 2008) serves the core services of IIS 7 / ASP.NET, SQL Server 2008, and Subversion. But the biggest role he plays is hosting various virtual machines in Hyper-V . I am not a developer who is simply ordered to fetch the application code with one database and check it in some version control repository, and then return home without worrying about how the application and implementation work in a production environment. As an integrator of solutions, I need to get an idea of ​​the client / client environment and think about a solution for a large image, which includes problems with infrastructure and deployment. Software development, being my main role, is only part of the solution.

I often have to experiment and discover whether certain proposals or approaches will work for a given environment and should have prepared virtual servers such as a domain forest (controllers), web servers, database servers, BizTalk server groups, Team Foundation Server, etc. e. To conduct my analysis and strengthen my recommendations. These virtual machines work like my personal POCs. The scenarios that I encounter continue to grow, and I definitely do not understand how I can learn to cope with these situations without a basic platform that allows me to virtualize and simulate them.

+7
server-hardware
source share
11 answers

Running the hardware at the data center level will be on top — you don’t need hot-swap drives and the like, and it’s a waste of money, but of course, if you are serious about your own development work, a low-level SME server step to ensure the safety and convenience that gives you.

I myself run my own Consulting / Development (accepted answer), and I run a small network to support this. I run an HP SME server with 250 GB RAID, 4 GB RAM, Windows 2003. It runs 24 hours a day and 7 days and does everything you expect from a server in any small business. The core network connects to the Internet using a high-quality SME ADSL account.

In addition, I am running a Linux server on similar hardware connected to the Internet by another ADSL account (just a basic receivable account) on a separate telephone line. This gives me a backup in case of problems with ADSL (sometimes it happens that one goes down and the other stays), but also means that I can start a low-level Internet server to show things to clients on a dedicated and isolated line - obviously not quality to production, but good enough for testing (I have several dedicated servers co-located on other sites that run client sites, but they cannot be widely used for non-production purposes, obviously, and with built-in app atnye means I can easily configure longer)

Actually, the question of setting up your hardware requirements to support this is the same as actually deploying any hardware in the client. As a developer, you will need security and convenience, just like any small business, but equally, you need a good return on investment - you should not spend $ 1,000 on additional gold server coverage if you buy a 30-inch monitor, for example. you have a critical but understanding business partner (from the Joel coder-focus level), to whom you also have to justify your expenses, and be honest with yourself over what you need - by indulging indulgence.

EDIT in response to reading some other comments that you do not need server hardware for your personal use. Indicate that you should ask what happens when your alternative suffers a hardware failure? I believe that having a separate server makes it more likely, you can deal with a catastrophic failure faster: it can happen less often, in any case, you are more likely to get backups, and recovery will most likely be easier.

Even if you just mess with personal development, lose your job, and you have to restore complex configurations, it takes time and is a demoralized pain. You should evaluate your time at a reasonable speed of $ / h, even if it’s just fun stuff and the factor that the cost of the base server and the associated backup mode is with the prices of the equipment at a level at which they are really useless.

+3
source share

I think that getting to know server hardware makes you a rounder technologist, so follow him. There are elements for a “right” server that you usually don’t integrate into your home system, such as hot-swap drives and power supplies, remote access cards (like Dell DRAC ), etc.

Even if the server administrator is not your main job function, as your career progresses, you can increasingly participate in the purchase of equipment and the evaluation of quotes from suppliers. Additional knowledge can certainly come in handy there.

+7
source share

If you are looking only to study, and this is also a programmer, not a network or server engineer, I agree that the cost of professional server setup is excessive. In the first few weeks you will end up with a novelty, and then just sit on your lap like a swamp whale.

Do you have any specific needs that cannot be served on a regular computer with server software installed?

+4
source share

I think that if you are a programmer, you should focus on programming. Having a real web server on the Internet is not easy or cheap.

Just think about it, you should have a good network connection with a good download speed, a good machine, designed only to become a server. I'm not even going to talk about electrical costs or the refrigeration system, because you will need to place the server in a room that you are not using (the reason is simply annoying to hear those ventilation openings that work when you try to rest).

There are hundreds of companies that provide this service with almost nothing, when I had this solution, I just choose one of them and never thought twice.

Do not get me wrong, I had a web server at home, just to find out how to set it up was fun and useful, but I could never provide a professional server just because it needs 24/7 attention to prevent downtime.

+2
source share

I think that everything that will have a ROI (return on investment) above 1.1 is fine. In your specific situation, I think that in the short term you will defiantly spend money, but in the end you can get other useful value. You can go a little cheaper than average equipment to balance costs.

+1
source share

I used my own web server built on the hardware level of a Compaq server. However, these days I do not want to be responsible for such a beast of a machine. The power flow from this server was huge, as was the noise and heat that it created. Ignoring the financial issues of providing power and cooling, the simple fact is that (for me) it is not worth the effort. There is nothing that I need for this, for server-class hardware. In fact, I have nothing to do at home, which cannot be achieved in a virtual machine on my MacBook.

YMMV, of course.

+1
source share

It really depends on your specific needs.

Having your own development and training servers can be considered excessive in general.

In fact, for a typical development, I believe that you can even place a virtual server on the desktop workstation for development under VirtualBox, or something else you prefer. There is no need to have separate physical PCs or servers.

If you need them, then everything that works out will be enough, right? Of course, server-side servers are generally better suited to work. If you can afford the price difference, and that makes sense to you, why not?

+1
source share

I agree with Gnudiff, why do you need server equipment with excellent 24x7 accessibility for playing at home? Yes, there are some technical considerations that may be useful to study, but it may be easier to get the old box at work and play with it. Then it can be kept somewhere on the sidelines and will not cost you anything.

Between this site, Google Reader and Facebook, I do not have time for my wife, not to mention managing my own servers at home!

+1
source share

If you do not need to be experienced in this hardware, I think it is too complicated. For the last three years I have been running at least one server at home. I am creating / updating my own computer. I supported my family (5 workstations and 5 laptops) longer than that. The servers I use are built from parts left over from updates. I currently have 3 server configurations. I have my main server (AMD 3800 X2 w / 4 gig), which I use for the family file server and the IIS web server. It also runs Ubuntu in a virtual machine. This block processes all our backups. I have a 2nd box (2600 W / 4 gigabytes), which is used for Windows Media Center, and as a backup for my primary server, it replicates the contents of my primary server to local storage. My third box (3200 drams / 4 gigabytes) is my playing field and is currently running Windows Server 2008.

At 13 years old (running 24x7) I had two hardware failures, which I attribute to power (they occurred after a power outage), a network card and a motherboard. I had one hard drive crash (it just started getting a lot of errors / attempts, I did not lose any data). After the motherboard crashed, I bought an inexpensive UPS. Then I added a second when I added a third server.

My use of the remaining hardware was extremely reliable. The only issues I have encountered with hardware compatibility is Ubuntu on Compaq. After this one episode, I started using only general equipment. I would recommend that everyone has at least one server to centrally find things to copy.

All my servers went to relatives for use as a 2nd or 3rd PC, because they were fired. I have been running one server for about 5 years, two servers for about 6 years, and I have been working for the last three years. My oldest server box, AMD 2600, served it for 3 years as my wife's PC and has been a server for 2 years.

Update

I had never thought about this before, but it became clear to me that the reason I had such reliable equipment was that the hardware that I use had already spent a couple of years of testing. With the exception of a few hard drives, all of my equipment was reliable before it was used as a server.

+1
source share

My workstation is a Core 2 Quad with 8 GB of RAM and RAID 0 and RAID 1 hard drives running Vista x64. It works very well for all my needs. I don’t think I need a separate server. Invest in your workstation and forget about spending a lot of time setting up!

0
source share

I think that there is a whole range of options between two extremes:

  • create your own PCs from scratch (a lot of effort - you could be the first to launch the OS on this particular combination of components).
  • Buy server-level hardware from a major manufacturer.

For the needs you are describing, something like Lenovo's high-performance desktop is likely to provide you with reliability and stability, much cheaper than server-level hardware.

Ironically, really large service providers (Google, Amazon, etc.) spend less on individual servers, buying more and writing software that routes around failed nodes.

0
source share

All Articles