Data storage is best played as an infinite game
Getting good at managing your data takes practice. Knowing what is good is a matter of having the right perspective. Today, we will look at the concepts of finite and infinite games and see how these apply to data storage.
When you think about games, you probably think of board games, card games, sports, or some other game with rules that define how the game is played, clear boundaries in which to play, a clear beginning and end, and a definite winner or way to declare a draw.
Chess is a popular finite game. Two players take turns, moving one piece at a time, or two in the special case of castling. The pieces are constrained in how they are allowed to move, and the whole game is constrained by the board. The pros use a clock to add time constraints for extra pressure. The game is over when one player is unable to prevent his or her king from being captured in the opponent’s next move. Checkmate.
Think about the characteristics of finite games. Here are a handful:
- They have a clear beginning and end. Consider football (i.e., soccer) where the game starts with a whistle and ends – when does a soccer game end? – whenever it does.
- The rules are agreed to by the players. For example, billiards has any number of rule sets, including a wide variety of house rules. Table scratches, ball in hand, whether slop counts, and so on. Agreement on which variations to adopt in any given round are essential to keeping the peace.
- The players choose freely to play it. If one must play, that person is not playing. As dystopian as it was, players in the Squid Game joined by choice. At the point where they could not opt out (like in the first minute of the first round), it was no longer a game.
- Spatial boundaries are defined. That is, the game happens within a particular area: on a field with lines, on a board or at a table, in an app on your iPhone.
- Numerical boundaries are also established. Keeping score is a way to know when you reach a numerical boundary. In volleyball, you might play until one side reaches 15. In the case of tennis, an enumeration takes the place of numbers (“love” == 0; “fifteen” == 1; “thirty” == 2; “forty” == 3), and after that, being up by two is enough to win.
- Only one player or team can win. The other participants may be ranked, but at the end of a finite game, there is one winner. Of course, a tie just means you have to play again. And any single win might provoke a best-of-three or double-or-nothing challenge by the loser.
The list goes on. In fact, now would be a good time to disclose my source of inspiration. The book Finite and Infinite Games by James P. Carse is an interesting read. I encourage you to buy it and read it from “cover to cover.” While it is not a long book, you may want to savor it and re-read it a few times to allow the points about infinite games to expand your mind. On that note…
Let’s explore infinite games. Another list is in order.
- They are not bound by time. In fact, the whole point of an infinite game is to make it last forever. Everyone loses if it stops.
- The rules must change as the game is being played. In particular, the rules must prevent anyone from winning. Take a moment for that to sink in. Can you think of any examples of this kind of game?
- The players choose freely to play it. This quality is shared with finite games for the same reason.
- Infinite games are played without boundaries. Play is designed to overcome challenges that are imposed on it. Problems and limitations are meant to be overcome as part of the game play. Even death should not be allowed to end an infinite game.
- Finite games may be played within an infinite game, but not the inverse. This point is logical enough. The stretch is to remember that, when playing any finite game, life must go on regardless of the outcome. This useful framing can help you stay calm despite being in what seems like a “must win” situation.
- An infinite game adds as many participants as possible. Not only is there never a winner (because that would be the end of the game), an infinite game is about expansion, including as many into the play as possible. Think of extended families. Think of any thriving businesses. Think of empire building.
At first blush, you might think that non-competitive games fit into this category. However, even those games around bound by space, time and rules of play. Players are probably keeping their own mental score, even if no one is allowed to win outright. When “everyone gets a trophy,” it just means that the whole group is one team that is guaranteed to win.
Infinite games are quite different. If fact, it is difficult to think of them as games. Is gardening a game? Maintaining public parks? The spread of freedom? Watching TicToc? The philosophy behind infinite games is worth a few moments of deep thought.
How this applies to data storage
When we apply this thinking to data storage, the qualities of infinite games come to bear. We want solutions that survive whatever happens. We need ways to expand capacity and increase availability. As physical devices fail, we need to bring in replacements. As new technologies appear, we need to adapt our approach to include them.
Data storage is one aspect of a wider infinite game called running your business. Or hosting a virtual environment. Or preserving historical records. Or making scientific breakthroughs. Or advancing technology.
The framing of infinite games is a way to counteract destructive behaviors that many finite games encourage. It’s a way to keep a long-term, holistic view of things and to aim for sustainability.
To make my point more clear, think about what happens when data storage is played as a finite game.
- You design a storage solution, get buy-in from a few stakeholders. You set it up and declare victory, patting yourself on the back. Perhaps you get a promotion or a raise by doing such a good job. Winning.
- Then something goes wrong. The system starts to perform badly, or a consumer of the solution points out a limitation.
- This becomes a fight, either with the tech itself or with outsiders. You already won this game, and it was working, so why should you have to do anything more? Maybe it seems “unfair” because the rules are changing.
- Your boss holds you accountable and pressures you to fix the problem ASAP. Maybe she even tells you how to fix it. Now you are no longer a willing player. In fact, you are so cornered and offended you decide to quit. Game over.
Did you like my little drama? Hyperbole aside, you can see the point, that whatever we do, there will always be more problems to solve. Things will change, new information comes to light, systems strain under pressures we did not anticipate, and we will have to adapt in order to keep things going.
Treating IT as a game with winners and losers is a path to frustration.
Instead, think of data storage, IT, and life in general as infinite games. You will be calmer and happier for it.
Software upgrades, hardware upgrades, network upgrades. Allocation rules, ownership policies, security. Even basics like hosting: self-hosting, private cloud, public cloud. Which of many options should you adopt? When should you move to another option? What about backups and disaster recovery? Should you outsource the whole thing?
Pick the options that maximize the game you are playing, whether it’s helping your business grow, supporting more users, or being the life of the party. Well, maybe we can let the extroverts be the center of attention.
As in my melodrama, when things get too complicated or if consequences of “losing” are too onerous, people will no longer be willing to play this game. Once you lose that spirit, it becomes work, drudgery, what you do to get by as you wait for it all to end.
If you like Finite and Infinite Games, you might also enjoy The Beginning of Infinity by David Deutsch. I alluded to one premise of this masterpiece, that there will always be new problems to solve, forever. If that premise is true, it makes sense to get good at playing infinite games.
Also, if you like the philosophy of success, I recommend the Knowledge Project. I learned about Finite and Infinite Games from an episode of the podcast featuring Tobi Lütke, who co-founded Shopify.
I hope this reframe is helpful in your work and in the day-to-day.
Did you know? Do-it-yourself data storage engineers might enjoy the Koor Storage Distribution (KSD).
Koor provides expert help with Rook and Ceph, the open source projects for DIY storage. We have a free, unlimited trial, as well as KSD Pro which includes unlimited support. We want to build a relationship with you that lasts forever. Try KSD today.