A little more than a year ago I wrote an installment in this column called “Curb VM Spawl by Putting AWS tags to Work”, in which I introduced the idea of tagging an Elastic Compute Cloud instance (EC2).
Amazon Web Services (AWS), however, supports tagging for more than just EC2. You can create tags for many different resource types. This being the case, I wanted the opportunity to return to the topic of tagging and discuss some best practices in tagging.
A tag is basically an identifying label that you can use to identify an AWS resource. A tag usually includes a key and value. For example, if you were to tag AWS virtual machine instances (e.g., Role), a key could be Role. Some values for the Role key might include Web Server or Mail Server. AWS lists the limitations and provides instructions on key creation.
The No. The No. Let’s not forget AWS for a second and focus on something we all know: photos.
Let’s say I have a folder on the hard drive that contains two photos. It would be unnecessary to tag the photos since there are only two of them. It should be easy to distinguish the photos, especially if each photo is given a descriptive name.
What if the folder suddenly has 20,000 photos instead only two? Worse, what if all those photos have names like DSC0001234 Without a way to identify the photo, it would be nearly impossible to locate the one you are looking for.
This is where tags come in. You can search for specific attributes with tags. As an example, EC2 instances come with a Role tag. This tag makes it easy to locate Web server locations.
Tags can be very useful, but they can also get out of control. It is important to have a plan in place that will govern your use of tags. There is no one tagging taxonomy that will work for all situations. There are best practices you should follow.
First, think about the purpose of your tags and how they will be used. Although it might be tempting to add a million tags to every object, I have found that a small number of well-thought-out tags are more effective than a lot of semi-random ones. Let me give an example.
Last week, I was in Colorado to learn wilderness survival and space medicine. I won’t go into too much detail, but there were many simulations where a spacecraft crashed in remote areas. The crew had to take care of each other’s injuries and survive in wilderness until help arrived. As you might expect, many of the participants took a lot of pictures. Imagine how some of those photos might be tagged.
It is possible to tag pictures based on who is there, when the pictures were taken, whether they were taken at night or day, whether the crew was in spacecraft at the accident site or parachuted out — the list goes on.
In establishing a tag structure, my philosophy is to think about what I will search for in 20 years. 20 years from now, I might not be able to recall whether some simulations were conducted at night or whether parachutes were used. Even if those details are recollected, I won’t likely be looking for the term parachutist.
I would rather be interested in finding the photos from that space medicine class. It can also be labor-intensive to add tags to every image.