Published on: August 25, 2020
5 min read
From Yoda to yaks and even baklava, here are 10 DevOps terms we’re betting you’ve never heard of.
You call yourself a DevOps professional but do you know the definitions of yak shaving, Yoda conditions or baklava code?
We didn’t think so.
DevOps outpaces the old software development methodologies like waterfall simply because it’s more efficient. Here are eight obvious DevOps wins:
Deployment is faster
Product quality is better
Automation simplifies the whole process
There’s flexible, continuous delivery
Scalability is even easier to achieve
Teams are transparent and communicative
There are faster fixes for bugs and other problems
It gives space to constantly iterate
Regardless of your role on a business or a technical side, there are DevOps benefits for everyone.
A basic understanding of DevOps terms is important when it comes to optimal team communication. Otherwise, there are a lot of blank, blinking faces in the crowd. But even more important than simply understanding the terminology is consciously practicing good communication about DevOps and iterating on your team’s communication style.
New ideas, tools, and processes are constantly cropping up in the DevOps space, which means there is new terminology to learn. Great team communication involves continuously helping each other keep up with new knowledge and ensuring an environment of continuous learning.
Here’s a look at our DevOps glossary with a focus on 10 DevOps terms even seasoned pros might not have encountered. And if you think there are some obscure ones we missed, please tell us about it here. We are working on a comprehensive GitLab guide to DevOps terms.
Baklava is a dessert made up of many layers of thin phyllo dough – which is notoriously difficult to work with. Baklava code is the same: Lots of thin layers of code which makes it too fragile to stand up to real world use.
A dark launch usually refers to a partial or incomplete release of a feature or features without any announcement. This under-the-radar release is a way to gather performance and testing data without the pressure of public input, because the features haven’t actually been talked about.
Code is considered "dead" if it lives in a program but actually doesn’t do anything and/or contribute to results or performance. Generally dead code should be removed as it’s a potential waste of space and computational power.
Everything-as-code takes infrastructure-as-code and goes one step further: Literally everything is treated as code including the infrastructure, virtual machines, and deployment configuration, to name a few. Everything-as-code is made possible by cloud native, proponents of it say it boosts traceability, repeatability, and testing.
Forget FOMO, fear-driven development is what happens when project managers raise the stakes by moving up deadlines or laying people off.
It’s DevOps without the "Ops" or what could happen if automation eliminates traditional ops tasks. Some see NoOps as the highest evolution of a successful DevOps practice while others don’t see it that way at all. NoOps joins a slew of other Ops-related terms including GitOps, CIOps, and more.
This novel way of debugging code was made famous in the book The Pragmatic Programmer. A programmer carries around a rubber duck and discovers that by explaining the code to the duck, line by line, the errors made themselves obvious. Translated for the real world, and practiced at GitLab, it means talking through your code with another developer which helps make flaws or logical errors more obvious.
If someone tells you your code is like spaghetti don’t take it as a compliment. Spaghetti code is all over the map, often with too many GOTO statements. It’s poorly organized and often lacks any kind of traditional structure.
During a global pandemic when many are working from home, it’s safe to assume yak shaving is happening frequently, and it’s definitely a term that is used outside of programming. In general, it means doing something that leads to something else but has nothing to do with the original goal. Programmers use it to refer to interminable tasks that must be done before a project can move forward, as in, "I’ll get to that once I’ve shaved the yak."
Code you I will Luke Skywalker. Yoda conditions refers to non-traditionally written code, i.e., code written as Yoda speaks. Once you put yourself in the mindset it’s possible to understand what you’re looking at, but, just like Luke Skywalker experienced, it can take a while to get the hang of this.
Some of these are terms in use at GitLab, but in our research we stumbled across the Coding Horror blog created by Jeff Atwood and we found a few new-to-us terms including Yoda conditions. Jeff refers to his list as the "top 30 Stack Overflow new programming jargon entries."
A DevOps culture doesn’t grow simply because an organization decides to implement it. It takes daily, focused effort and cultivation. Some things organizations can do to foster the growth of a DevOps culture are to keep leadership in the loop, openly communicate across the team, and create a roadmap of shared goals and individual responsibilities to help achieve them. Understanding the lingo helps too!
Cover image by Raphael Schaller on Unsplash