CloudAware Application is a logical unit that allows to organize resources according to a naming convention or a tag, or any other custom logic customers wish to apply.
CloudAware Applications may be created to distinguish:
Department, Team, Site, Project within your organization
Customers, if you are an MSP
Purchasers, if you are a reseller, etc
Creating a Cloudaware application also makes sense in such cases when, for example:
1) there are AWS/Azure/GCE and Physical servers in your Cloudaware environment and you need to provide access to view AWS data only;
2) only one specific AWS instance should be available for the application user, etc.
Note that the sooner you create the application, the better since billing and cost data is not retrospective - it may be collected and shown in a Cloudaware application only starting the day when the application was created.
Key Features
Multi-cloud and non-cloud support
Cascades provide the ability to attach object hierarchies by attaching a single object
Inventory automation using auto-attachment rules
The ability to attach objects that are not taggable or exceed the tag limit
Prerequisites
Think of resources that should be attached to the Cloudaware application. Consider the logic that can be used for attaching assets in question to different tiers of the application.
Application Creation
1. Log in to Cloudaware account. Locate the section CLOUDAWARE in Navigator → Applications.
2. Click New CloudAware Application.
3. Give the application a proper name. Click Create. If everything is fine, you will see a success message.
4. Click Go To Application Settings to create tiers.
5. Click Add Tier(1). Give the tier a meaningful name(2). Click Add Tier(3) to save.
6. Locate the resources in question on a list view, e.g. Running Instances. Check the boxes and click Attach To The Application.
7. Select the appropriate application and a tier. Review the objects that will be attached and click Attach.
If a warning below pops up, one or several selected objects are already attached to another application:
Continue OR if it is preferable, detach them clicking Detach Objects.
Cascades
Consistency is one of the main challenges customers face when managing their cloud and non-cloud environment. One of the best practices is to follow relationships between objects and use these relationships to get consistent and auto-updatable inventory.
Cloudaware applications support cascades, meaning that all related objects will be cascadingly attached once a resource is attached to the application. For example, once you attach an AWS EC2 Instance, all corresponding EBS Volumes or Network Interfaces will also be attached.
When selecting an object to attach to a Cloudaware application, check if another object is above it in the hierarchy that can be connected first. For example, it's better to attach AWS ELB Load Balancer than related instances, it's better to attach AWS Elastic Beanstalk Application than AWS Elastic Beanstalk Environment, and it's always better to attach URLs.
Try to minimize manual attachments. For example, there is a logic for selecting objects that need to be attached to a specific application. Implementing that logic in an auto-attachment process is much better because Cloudaware will keep track of new assets that comply with the defined logic. If you still need to add some objects manually, attach only truly static resources.
Auto-Attachment Processes
The cascades are sound, but they only work for extensive services with many interconnected objects. What should one do with all objects that have no relationships with each other? The answer is to implement the process that will monitor assets, automatically validate them against defined rules, and choose the application accordingly. These are auto-attachment rules.
Cloudaware application auto-attachment rules are based on Salesforce Workflow Rule functionality. A workflow rule is like an IF/THEN statement. IF part of the statement is called criteria, THEN part of the statement is called actions. For example, the simplest of workflows will check for a specific value on an object and then update the 'Application Tier Client Name' field with a particular value. The value should be set to the application tier's name.
Note that 'Application Tier Client Name' consists of 2 parts: Application
name and Application Tier
name for example: AWS
- Production
(see the example below).
Application Attachment Workflow:
1. From your Cloudaware account open a main menu under your username.
2. Go to Setup → Workflow & Approvals → Workflow Rules → New Rule.
3. Select the object to which this workflow rule applies. e.g. AWS EC2 Instance. Click Next.
4. Add Rule Name (1), set Evaluation Criteria(2) and Rule Criteria(3) to trigger your workflow rule. Add Filter Logic if necessary.
Click Save & Next.
4. Add Workflow Action → New Field Update.
5. Give this workflow acton a name. Select AWS EC2 Instance: Application Tier Client Name as a field to update.
6. Select a radio button Use a formula to set the new value. Enter the formula "Application Name" & " - " & "Application Tier Name"
. Click Save.
7. Review the workflow rule details. Click Done.
6. Click Activate to activate your workflow.
Objects will be automatically attached to the appropriate application within 1 hour.
Attachment Logic Examples
if
Name
starts withprod
, set Tier Name to"The Application - The Tier"
if
tag:Customer
equalsCustomerA
, set Tier Name to"The Customer App - The Tier"
if
tag:Application
is not empty andtag:Tier
is not empty, set Tier Name totag:Application+" - "+tag:Tier
Customers can create even more complicated auto-attachment rules combining workflow rules with formula fields or even updating them via API from an external system. Almost any complex object classification logic is possible using workflows and formulas.
Object Re-Attachment After Application Tier Client Name Change
If the Application Tier Client Name is changed, objects will be re-attached in 1 hour. However, delays are possible if a customer doesn't log in to their Cloudaware account for some time.