Let us unpack what is this sauna thing and why we think that sauna has anything to do with DevOps
Hello and welcome to DevOps Sauna. Yes, indeed. I said DevOps Sauna or Sauna, depending on where you are in the world. Interestingly enough, that's what we are called. And you as a frequent listener, you have heard a sound produced when water vaporizes on sauna stones.
I can imagine that sauna sounds like a peculiarity, but let me assure it is part of the ordinary life for many people in the world. But if you happen to be living in a place where sauna is not the thing, we wanted to unpack this sauna thing for you and explain what is sauna. And secondly, why we think sauna and has anything to do with DevOps. And just for the pronunciation, because I come from Finland and we call it sauna. Then I hope you accept my pronunciation for sauna because that's what we call it.
So let's start with the definition. What is sauna? On one hand, you can imagine it as a place, which is a natural extension of taking a shower in a daily life. So in some parts of the world, people take shower. In some parts of the world, people heat their sauna, they take a shower and then they just go to sauna and have a good time there. And it's part of the personal hygiene and purification. But on one hand, it is a ritual that is associated with mystery. It is a combination of culture and physical place, and it's not easy to separate these two.
It's not easy to practice the culture of sauna without having the actual sauna. If you go to sauna without adapting your state of mind, if you ignore all of the rituals and objectives, it just becomes a terribly hot place that is inconvenient to be in. Ideally going to sauna is like having a particularly good spa experience at a home. You will lose the progress of time. You will enjoy the purification of the body and you reinvigorate yourself in a serene solitude or in a good company. It's a bit like culture and tools and DevOps. If you adapt tools without a culture, it's just another burden. Or if you adapt culture without tools, it can feel a bit unreal. In fact, I think there are more things that are common with sauna and software development. Firstly, behind good experience is a good design. Secondly, when you take operations into account during the development, you will ensure better results.
And thirdly, you want the outcome to be such that it can be continuously improved, where a software isn't a project, sauna isn't one either. So let's break these three things down and bring a little more substance to what's in common between them sauna and DevOps. Starting with a good design, just look at software, a recipe for a good experience in a sauna starts with getting the design right. Designing and developing a good sauna requires thinking about the user experience and the key business requirements. How many people typically go there? What time of the year this sauna should be used? Do you want to optimize the sauna for short visits or longer enjoyment? As in, is this sauna part of your home or it's just maybe by the lake or in your summer cottage? Do you want a simple and quick experience or do you want to enjoy this mystic ritual?
All of these are part of the service design process and like developing software, you have these important requirements that need answering before moving any further. Because fixing those problems and trying to find a way around the design flows in a way it's very, very expensive or possibly even impossible later. As part of this service design or sauna design, you can also apply a sort of value stream mapping. In order to heat up sauna you need wood to be burned. You need water to be carried in sauna or just need a tap. Those logs have to be carried. That water has to be heated. The sauna will have to be prepared to the guests, providing towels, soap, seat covers. And if you want dipping in a lake being part of the experience, depending on the time of the year and your latitude that might require making a hole in the eyes until you deliver the refreshment and until you cool down.
So all of that vaguely resembles value stream mapping, where you are looking at who are participating in the process and how they are creating value together. From this service design value stream, you would then proceed with the architecture, accounting for both functional and non-functional requirements. And in this page, you would specify the physical layout for sauna, ensuring that it takes the number of people you want it to take. Ensuring the safety for its users while at the same time meeting the usability and accessibility requirements. The important thing is throughout this construction process, the user experience is constantly kept in mind, just like in software developers. There's one thing from DevOps that is very, very tightly connected with sauna, which is the flow and joy. That in particular with sauna is having to do with the flow of air and joy of bathing. Every time you throw water in the stones to make it vaporize and give you this steamy rush of hot air, you need to mix that with air.
And if you don't have that air, then it's going to be a terrible place. We actually had our own experience at our home sauna, where we had to tweak a little bit of flow of air to make it enjoyable. But luckily that was something that we could fix in production. However, some of the flows are or can be impossible to fix in production without major refactoring. So you definitely want to take this into account. Now, let's move to the second part, which is taking the operation account during the development. Developing and constructing a good sauna enables easy operations. As discussed, sauna is often heated by burning wood. Now you have to think how the logs are made, how they are stored, how they're moved around, how it's heated. And that can be part of the experience if you want to heat the sauna from inside the sauna, then you will have these nice crackles and pops of burning wood, and you might have a window that gives you a view to the flames.
Now, if you want to heat it from the outside, then you might have one more fireplace to your resting room. If sauna doesn't have running water, you have to think that too. Where is the closest well? How is the water transported? How is it stored? How is it heated? And all that sorts. Because after all it is about purification both spiritually, mentally, and physically, and water has got to do with time of that.
The third one is related amenities, drinks, towels, lake, snow, grilling sausage on the stove. You need to think, where are they stored? How do you take the rubbish out? Remove the ashes, and overall just like in software production, how do you minimize waste overall? And finally just like software it needs maintenance. It needs constant tending. It needs constant thinking how to make it better, which transitions us to the third part, you want the outcome to be such that it can be continuously improved.
So what does this continuous improvement then consist of? It includes technical debt. During construction and operations you discover things that could be done better. So you want to have a list of things to improve to give a general, or if you're a general yourself, you just want to keep track of how to make it better, as discussed optimizing airflow, optimizing the process of enjoying sauna. And you might want to document good practices. For example, how much wood is required to heat sauna, how to prepare sauna for bathing, how to troubleshoot if things don't go that well. And there's something that we call vasta or vihta. I won't get in there, but it's part of the ritual that you may want to look up and I can leave you some hints in the show notes.
The important thing about continuous improvement is if you have major flaws or if your key requirements change such as how many people should fit in sauna, it might require a fundamental refactoring of the physical setup. If you have a sauna for six people without a separate room for enjoyment, it's not very easy to host a summer evening for 10 people. So to wrap up, like in DevOps the value of sauna starts from designing the ideal experience for the user and doing the value stream mapping to address all aspects of the outcome. When building sauna, it's just as important to focus on operations than the physical setup and the development phase of sauna. And finally, just like DevOps, sauna is about establishing a culture of experimentation and continuous improvement so that the users can receive the most value quickly, safely and efficiently.
That's why we think there's no better name for a DevOps podcast than DevOps Sauna.
Hey, did I remember to mention that we have our own sauna in our Eficode office in Helsinki and it warms up weekly? And you can see over the Helsinki Skyline from that. How cool is that?