This article covers the most popular questions about tagging virtual machines, such as ‘What is it?’, ‘Why is this necessary?’, ‘Where would it be useful to apply it?’ and ‘Do I really need this?’
Hope that you will be able to answer the last question by yourself at the end of this article.
What a tag is
So let’s first understand what a tag is. A tag is like a descriptive label assigned to a resource for identifying this resource among all the others, making it easier to find and manage the resources. Usually tags consist of a key and a value and are initiated in the following ways – key:value, e.g. owner:james_dev.
One of the tagging purposes is to add a classification and an order to our life. Everything that a person comes up with is intended to improve the comfort of life and entertainment, save time and gain personal convenience. And tagging also makes the job, in our particular case, working with virtual resources, much easier.
In general, we use tags in our daily life very often and practically everywhere, we simply do not attach the importance to it. For example, the cutlery for most of the spoons, forks and knives lie separately, then household chemicals: powders for kidswear, for white, for colored, plaque remover and so on, everything is in different places. The vast majority of people do it for their own convenience. To define assets, to facilitate the search for a particular thing.
In accordance with the studies carried out by IT companies of different sizes, it is definitely worth saying that the use of tags greatly simplifies the work with resources and also the abundance or, on the contrary, the lack of resources becomes more visible for everyone. The simplest example: a certain quota is allocated for the project, which is spent by engineers in the cloud, resources are used for debugging, for testing and so on. Nowadays everyone is trying to automate as many processes as possible in order to save time. So if you do not tag the resources, then all the created instances will look almost the same (with the exception of IDs and names) and, for sure, few people will argue that in a week it will not be entirely clear what machine is used for.
Of course, if you have three machines spinning in the cloud, then you are unlikely to encounter such a problem, but however the person in charge of these resources can get sick or go on vacation and a colleague who will begin to perform his functions (since few people in the current market conditions can simply freeze a project for an indefinite amount of time) will spend much more time understanding the current situation. People usually go on vacation, sick leave, leave the company and all of these irrevocably lead to the chaos in the cloud resources. Introducing tags and tagging rules on the very first stage of cloud integration in a company allows to organize the resources and identify their affiliation.
How to actually start using tags?
Think over the rules, analyze and classify resources you have in the cloud. Are they created for some purpose? Do they have some responsible people or owners? Are they produced by some CD/CI job? Let’s say there are several teams involved in cloud usage – Developers, QA and DevOps. Based on this you can already introduce three tags – team:qa, team:devs, team:devops. Going deeper, we know that DevOps implement some CI/CD jobs, QA develops some tests and Devs launch some debug stands in the cloud, hence there are new tags to be initiated, and so on. Having these things identified will allow singling out the common points and implementing the rules, also including them to your manual and automation processes.
Regarding the question who should use tagging, the answer is evident: everyone. As mentioned earlier in this article, we all use tags in everyday life, so to speak, on a whim, to simplify searching or to logically distribute things. It’s the same here. For a more detailed study of which tags are better to use in a given situation, we advise you to read how to use tags in MS Azure and how to use tags in AWS. In these articles, you will find more specific information related to each particular cloud.