Most of you reading this have likely seen a data center, and maybe sat in one while connecting to a database, but how many of you have had to try and do some of the work to set one up? It's not something most data professionals do, but since we often have some of the most expensive boxes in one, I thought it would be interesting to discuss what goes into getting one running.
There's a blog post that starts to cover what it takes to set up a data center. I found it interesting to read as I've been a part of the group choosing a space a few times, and a lot of the issues discussed in the blog were things I dealt with or experienced. Both with large and small companies, I've helped to spec out and decide what we need from a colocation facility or our own room in an office. In smaller companies, I've had some of the "what-the-duck" moments outlined in the post when I tried to rack and connect systems, only to find some issue with power, connections, etc.
When I read that post, I think about the months of getting everything set up, it's hard to see this as more cost-effective than the cloud in some ways. Certainly setting up racks and servers is easy. Getting them powered, having a cold and hot aisle, and deciding what gets connected to where these are relatively simple things. However, making decisions on networking, routing, and other complex tasks can take specialized expertise. For a single company, finding, hiring, and retaining someone who knows this stuff well is hard. Startups might get someone excited, but the really good people who can design this stuff are often working at a cloud company of some sort.
Maybe those people are tired of the FAANG/Microsoft world and want to come to your startup, but for how long? And how do you replace them? Lots of companies found maintaining a data center to be more expensive than it was worth.
I suppose a similar situation in the database world is setting up a complex system, perhaps something like a new Firebolt warehouse. If the person that did that leaves, can the rest of the company fill their shoes? Do you know how Firebolt works? Would it be better to use a more popular system, like Snowflake or Databricks, with lots of other people writing articles and blogs about how things work? I think it would be, if for no other reason than there are other models to follow and more people that can give you guidance.
A data center, whether a private one or a cell in a large cloud provider's footprint, is a complex beast. The days of using a closet with servers on a bookshelf are likely gone for most commercial enterprises. Even SQL Server Central moved on to hosted systems. We used to rent a rack in the early 2000s in a co-location facility, one I enjoyed visiting, as long as the visits were few and far between. Now I like connecting to EC2, which is much simpler and easier.