So this is going to start by comparing systems to a growing child’s shoes. The first thing you search for when shoe shopping is something that you like/suits your needs. For example, you would not buy flip flops for hiking. You also should not buy $100 shoes when you only had $50 to spend on them. The same things apply to the servers and hardware needed for the infrastructure of the systems. You have to work within a budget when buying servers, computers, network hardware. In most cases most bang for the buck is sought after. Some brands that may not be liked of viewed as high quality and are avoided in the selection process. There are some nice to haves like binky shoes or quad Ethernet ports that probably are not needed.
The next comparison to be made is when you buy a new pair of shoes for a child you need to allow room for growth. When buying network hardware, it is good practice to try to enough space to grow. Ideally the hardware would before be replaced before it can no longer keep up with the load that is pushed on the system. Then again sometimes the systems grows much faster than expected and this is both a good and a bad thing. The bad part being that the system fails to keep up with the need and the good part being that you are doing enough business to need to upgrade. There is usually an expected end of life for hardware.
Going back to the right shoe for the occasion, you need to have the right hardware for the job. Certain types of servers are need for web traffic and certain server for databases and firewalls are different as well. A database server should have a good processor set up, a lot of storage with variation in the speeds of the drives. An SSD is good for the C drive but not necessarily needed for the storage as SSD’s rise exponentially in price as storage goes up.
The last comparison to be made is recognizing with the kids foot herts because their shoe is too small for their foot. In the systems world, there are issues that are glaring and some that are not. Some of the glaring issues are the database getting locked up on queries being ran. A few of the things that could cause this are too many requests on certain tables, databases or even on the server itself. Sometimes, a database gets used so much, that it needs its own server. In the instance of a webserver, if the database server has been ruled out as the blocker, sometimes the load needs to be split between multiple web servers or there is an underlying issue or issues with the webserver. In the end, there should always be an expectation that hardware will need to be replaced because of upgrade, hardware failure or plain expansion.