1. Home
  2. Setup
  3. Setup Custom Groups

Setup Custom Groups

What are Custom Groups?

Custom Groups is a central element in PyraCloud that allows users to define organizational hierarchy (for reporting, budgeting, etc.) and govern cloud environments (resources running on Azure, AWS and Office365 licenses).

What Business Challenges does it Address?

Custom Groups allows users to define an organizational structure and assign resources to structure based on business requirements for use within PyraCloud. With Custom Groups, users can build a hierarchical structure based on custom defined dimensions (e.g. departments, teams or projects) and subsequently map resources to it.

Figure 1 – Map resources to Custom Groups

Using Custom Groups

In order to keep the organizational assignments of a resource (tag) consistent with the tagging on the cloud provider environment, Custom Groups interfaces with the Tags and Resources. This allows users to ensure data consistency within PyraCloud and within the cloud environments of Azure and AWS.

Figure 2 –Custom Groups in PyraCloud

The built in functionalities across Custom Groups and Resources allow users to decide how to handle those tag assignments (lock, allow overwrite, etc.) and are included as a framework that can be configured according to your individual requirements.

Before you Start

The first and most important step to take is to document the objectives for the structure. Common requirements that influence the setup of Custom Groups include the following:

Business Related

  • What is the granularity of chargeback requirements?
  • What is the granularity of budget requirements?
  • What are the reporting requirements (e.g. every month the global cost to CIO and department, split down to the department owners)?

IT Related

  • Is tagging already in use and how?
  • Is it enough to stay high level or is there a need to also report on different stages of the workload (e.g. Test, UAT, Production, etc.)?

Define the Group Structure

Custom Groups are structured in a way that they allow almost endless scenarios of an organizational setup. Therefore the horizontal (Groups) and vertical (Group Levels) structure must be defined:

Identify the Right Group Levels

Custom Groups use structure levels to define the levels of an organization, and is used to assign individual groups. Examples for common dimensions are:

  • Company
  • Location
  • Department
  • Team
  • Service

These dimensions are directly mapped to Tags and Resources as tag keys. This allows one to directly synchronize between PyraCloud and the Cloud Provider.

NOTE: Identifying the right setup and sequence of dimensions is critical to keeping the flexibility throughout the use of Custom Groups. The dimensions are the predecessor to the hierarchical structure of Custom Groups and changing a dimension requires removing the groups.

Identify the Right Groupings

Defining the group name is a bit more flexible than defining the dimensions. Group names correspond with the tag values and can be created and deleted any time. Examples for common group names are:

  • SoftwareONE (for Company)
  • Switzerland (for Location)
  • Marketing (for Department)
  • Sales Area South (for Team)
  • Mail (for Service)

NOTE: One group can be assigned across the same parent dimension in order to allow for cross vertical reporting. Example: 1st Dimension values for Location: Switzerland, USA, Brazil, etc. 2nd Dimension values for Department: Finance, HR, etc. This will allow the ability to: Run reports, budgeting, chargeback by location including the corresponding departments (top down) Run cross vertical reporting by department (independent from location)

Customer Scenarios

In order to better outline the link between the organizational requirements and the recommendation on how to structure your groups in Custom Groups, the following customer scenarios will be used throughout the document and reflects three examples:

Example I:  Default Customer Scenario

This is a scenario representing organizations that are:

  • Single company
  • Flat structure
  • Single country
  • Most likely department view
  • Changes to the organization unlikely

Here the recommendation would be to define two dimensions:

Figure 3 – Example default customer scenario

Example II: Enterprise Customer Scenario

This is a scenario representing organizations that are:

  • Group of companies
  • Requires support for M&A
  • Multi-country
  • Fragmented department structure
  • Organization changes throughout the year
Figure 4 – Example enterprise customer scenario

Example III: Service Based Scenario

This is a scenario representing organizations that are:

  • Services oriented
  • Multi-customer (internal and external)
  • Focus on release management
  • Frequent on-/off-boarding

The recommendation would be to define three dimensions:

Figure 5 – Example service based scenario

IMPORTANT TO NOTE: The primary purpose of Custom Groups is to create a multi-dimensional and hierarchical view as preparation for any further use in PyraCloud. It builds on top of Resources. The Resources component is responsible for the synchronisation back to the cloud provider. Custom Groups allow changes to the structure and assignment of resources, but maintains the changes in its own database. Changes made anywhere within Custom Groups are then applied to Resources and are visible there.

Navigate to Custom Groups through the menu navigation under:

Setup > Custom Groups

Figure 6 – Navigate to Custom Groups in PyraCloud

This will take users to the Custom Groups main page. If this is the first time anyone within the organization has used Custom Groups, the user will find an empty page with the task to create groups:

Figure 7 – Custom Groups view for the first time

Setup the Group Structure

Click on “Create a group” to start building the structure:

Figure 8 – Create a group

The next page will be the “Edit Group Structure” page for the setup:

Figure 9 – Edit group structure page

Setup the Structure Levels

The first step is to setup Structure Levels. Those are the foundation of the structure you will create.

If you were using tags on your provider platform to organize your resources, you can use these tags to create the structure. In this case start from choosing Tag Keys as Structure Levels.

Figure 10 – Choose tag keys as structure levels

If you do not need to use existing tags, you can create your structure manually.

Figure 11 – Add structure levels manually

Examples

Three examples are outlined below for reference:

ExampleHigh-Level Org ChartDimensions in Custom Groups
Default Customer
Enterprise Customer
Service Based
Figure 12 – Three examples of structure levels

Setup the Groups

The next step is to assign groups to the structure levels just created. To create the groups choose the “New” group functionality for the required structure level:

Figure 13 – Add groups

Depending on your plan you can create groups using already existing tags or manually.

Figure 14 – Add groups based on existing tags
Figure 15 – Add groups manually

NOTE: If there are any resources that have tags matching to groups created, they will be automatically assigned.

Example

ExampleHigh-Level Org ChartDimensions in Custom Groups
Default Customer
Enterprise Customer
Service Based
Figure 16 – Structure examples

Create Structure Automatically

It is possible to create Custom Groups automatically. The system can create groups for you based on existing tag combinations that match the defined structure levels.

Enable the following option when editing the structure for this automation:

Figure 17 – Automatically update groups from tags

If groups do not exist, they will automatically be created if automation is enabled and there is a matching tag combination in your infrastructure. This process constantly runs in the background. The group will also be created once you modify resource tags in Resources or you use Resource Rules. The mechanism does not automatically remove any existing groups.

When the automation is enabled, It is not possible to remove a group with resources assigned. Such group would be created again immediately.

Remove Empty Groups Automatically

Switch the following option to allow the system to automatically remove groups without resources and budgets:

Figure 18 – Automatically remove empty groups

Once enabled – the system will periodically scan your structure and remove groups that have no resources assigned and no budgets created.

Consider this setting if you would like to have your structure be maintained fully automatic.

Assign Resources to a Group

Once the structure has been created, users can go back to Custom Groups to see all resources:

Figure 19 – Back to Groups

Users will see the view shown below. The next step is to navigate to “Unassigned Resources”:

Figure 20 – Navigate to Unassigned Resources

In unassigned resources, users will find all resources that are not assigned to groups.

Users can use filters to find resources in order to assign them to a specific group.

There are two possible ways to group resources:

  • Assign resources to a group.
  • Assign resources to multiple groups

Assign Resources to a Group

If required, search for the resources. Then select the check boxes of the resources to assign them to a group, click on “Move” and select the group:

Figure 21 – Move resources to a single group

Those resources are now assigned to the selected group and their entire resource spend will be fully associated with this group.

Assigned resources receive tags that reflect the group assignment structure. As an example, the resources assigned to group “Location-A” have the following tags:

Figure 22 – Example of assigned resources tags

Assign Resources to Multiple Groups

Assigning resources to multiple groups means that spend of such resources will be split between selected groups according to the way users specify.

If required, search for the resources. Then select the check boxes of the resources to allocate them to multiple groups, click on “Edit Allocation”:

Figure 23 – Allocate resources to multiple groups

Users will then see the “Split Allocation” window to specify the split details:

Figure 24 – Split Allocation window

The next step is to select groups and provide allocation percentage for each one:

Figure 25 – Allocate resource to first group

Repeat the step to select groups and specify the allocation percentages. If this is done, click on “Save Cost Split”:

Figure 26 – Save Cost Split

The cost of those resources split will be assigned in the following way:

  • 70% of the cost is assigned to the group emea > HR
  • 30% of the cost is assigned to the group: krakow1

Users can see the split resources assigned to the groups provided. They are marked with the “Split” icon.

Figure 27 – Split icon

NOTE: Split resources will not receive tags reflecting the assignment to the group structure. Assigning such tags to the resource on the provider platform (e.g. Azure) will not change the group assignment.

Manage Group Association

Resource group assignment can be managed in the following PyraCloud modules:

a) Custom Groups

  1. Go to the details of a resource
  2. Click on “View Cost Allocation
Figure 28: View Cost Allocation
Figure 29: Cost Allocation details

b) Resources

  1. Go to selected Resource Details page
  2. Resource group assignment information is provided in the “Groups” section
Figure 30 – View cost allocation in Resources
Updated on March 1, 2021

Was this article helpful?

Related Articles