

However one of the things I want to be able to do is “group” services into a logical set. That way you can see which services belong together visually in AlwaysUp, and more importantly you can start or stop all services in a group either through user interaction or through the AlwaysUp CLT. Also, when defining services through the CLT or XML, we’d like to set the group to fit into.
Do you think this is something that can be accommodated in a future release or something that may be even there right now and I can use? It will be useful for our product because it has a number of different services that need to start up together and shutdown together seamlessly.
Let me know. Thanks.
— Mac B
Hi Mac. Great question! It’s easy to see how being able to group your applications and operate on them as a unit is a very powerful capability.
The good news is that AlwaysUp already supports application grouping. It’s implemented through the use of tags, which work in the user interface and behind the scenes in the APIs as well.
What’s a tag in AlwaysUp?
A tag is simply a word or phrase that you assign to an AlwaysUp application. It can be anything you like. The only restriction is that spaces and semi-colons are not allowed.
For instance:
group1 is OK
group-1 is OK (dashes are recommended for readability)
group_1 is OK (underscores work great too)
group 1 is NOT OK (spaces aren’t allowed)
Group1 is OK (same as group1 because case is ignored)
onelongnamethatsnotveryreadable is OK (but long names are discouraged because they’re difficult to work with visually)
trading-apps is OK
trading;apps is NOT OK (semi-colons aren’t allowed because they’re used to separate multiple tags)
Hopefully you get the idea!
How do I use tags to create groups?
You create groups of applications by assigning tags.
For example, let’s say you’re running four Java applications as Windows Services with AlwaysUp — two for production and two pre-release versions for testing. In that case, tagging the production applications with “production” and the others with “testing” creates two groups, where:
The first group contains the two application tagged “production”
The second group holds the two applications tagged “testing”
Here’s what that arrangement looks like in AlwaysUp. Notice the Tags column, which shows the values associated with each application:
To show only the production applications, you would:
Choose View > Filter Pane to show the filter controls
In the Show only applications with tag dropdown, choose production.
The testing applications will fall away to leave the two production entries by themselves:
From there, it’s easy to work with the production applications as a set. For example, you can select them all and restart them together.
Similarly, you can select the testing tag to show only the beta applications:
This way, it’s easy to handle them as a group — instead of dealing with them mixed in with the production applications.
How to tag an application in AlwaysUp
There are a couple of ways to tag an application in AlwaysUp.
Method #1: Add tags from the Application menu entry
After selecting the services you want to update, choose Application > Tags > Add from the menu:
In the Add Tags window, type in the tags you want to add. For example, we’re adding the “v2” tag to our production instances here:
You can add as many tags as you like there.
Click Next and complete the process. Afterwards, the new tags will show up on your applications, as they did for us:
That’s the best way to update multiple applications at once.
Method #2: Add tags by editing your application
If you prefer to update each application individually, you can do so by editing the application. You’ll find the Tags field at the bottom of the General tab, where you can add whatever tags you like:
You can edit the field to remove tags there as well.
Tags create groups in AlwaysUp Web Service and AlwaysUp CLT too
Indeed, tags and groups show up throughout the AlwaysUp family of products.
For example, AlwaysUp Web Service prominently displays the tags associated with your applications:
(A future version will enable filtering by one or more values.)
Furthermore, to manipulate groups of AlwaysUp applications from third-party applications, developers can employ the AlwaysUp Web Service API. Several of the API methods — including the popular “Get Application Status” function — accept one or more tags as input, as described in the documentation:
Since you’re working from the command line with AlwaysUp CLT, you can add tags to your applications using the -tg parameter. That capability is described on page 9 of the user manual.
But if you prefer to work with XML, you can specify tags when installing your applications that way instead:
Whatever works best for you!