Long ago, people had computer servers onsite. You could work with a small company called RackShack that grew from EV1servers, Softlayer, into a giant, now called IBM Cloud. It was a simple plan to put a bare metal server on the internet and remote access to the administration. With the development of Virtual machines, you can cut up one server into hundreds. The cloud is a few hundred big computers that pretend to be billions.
An onsite server, support, and staff no longer make sense. AWS, Google Cloud, and IBM Cloud used their corporate power to buy out all the little guys; the resources, pricing, and scale are difficult to compete as a small company. A web server costs about $30 a month.
Quick Background: The internet is built to accept human URLs called domains but ultimately are looking for an IP address. This site, DealerNerd.com, translates to 18.104.22.168. The server understands what you are looking for when you knock on the door using port 443. It then sends the file to produce the webpage. As traffic builds, you can increase the resources with a click. There are cloud services where it's serverless and push data at the best effort limit. The cost is only the metered use. It's a slick setup.
It would be best if you always started in the cloud; however, let's consider the costs of an onsite server. An ideal server is about $2000 and can run various functions. It can run Web, File, Active Directory, Email, Network Controller and Accounting. We can conclude it has seven virtual machines. You may also need dual servers for redundancy, replication, and load balancing. Your initial cost is $4000 with replacement in five years. Over the five years, you will pay $3000 in support, and electrical may reach $4000. Your total estimated cost is $11,000 over five years. A cloud setup would cost $12,600 over five years.
Is the $1600 on a 5-year plan worth it? It is, but not by much. The magic number of functions is seven virtual computers. If you need more than seven servers, you should leave the cloud. In our example, an eighth virtual server would cost $5,800 more than an in-house server.