Getting Real with AWS myApplication's Scenarios

Getting Real with AWS myApplication's Scenarios

Discover how AWS myApplication addresses issues, integrates into CloudFormation, handles complex setups like nested stacks. Learn effective infrastructure management strategies, including shared resources and limitations with multiple accounts and regions.

Published Dec 23, 2023

On 30th November 2023, AWS announced the general availability of myApplications console extension which provides a new experience in the AWS Management Console that makes it easier to manage and monitor the cost, health, security posture, and performance of your applications. Now, you can create your applications more easily and see your applications in an AWS account from one view in the AWS Management Console. With an at-a-glance view of key application metrics such as cost, performance, and security findings, you can debug operational issues and optimize your applications.
You can also act on specific application resources with one click from the application dashboard using the corresponding AWS services, such as AWS Cost Explorer for cost, AWS Security Hub for security findings, and Amazon CloudWatch Application Signals for application performance.

myApplications includes the following benefits:
1. myApplications that you can use to view application resource costs and security findings
2. myApplications is supported for all regions
3. myApplications dashboard provides a view of key application metrics such as cost, performance, and security findings

To bring the existing CloudFormation stack and its associate resources to myApplications please follow the below steps.
1. Navigate to ‘myApplications’ from the AWS console and create your application. On the backend, it will automatically create an application in AWS ServiceCatalog.
2. Now open the application created in step 1 navigate to “Action → Get Code Snippet” and copy the sample code as per your stack type i.e. CDK, CloudFormation YML or JSON.
Below is the sample code snippet for your reference in CloudFormation YML.
Type: AWS::ServiceCatalogAppRegistry::ResourceAssociation
Application: arn:aws:servicecatalog:<REGION>:<ACCOUNT_ID>:/applications/<myApplications-ID>
Ref: AWS::StackId ====>> This will automatically get your stack arn
ResourceType: CFN_STACK
3. Now add the code snippet to your existing stack template that you want to add in myApplications by performing a stack update operation. This will create resource association in the ServiceCatalog application for your stack.
4. Once your stack got into ‘UPDATE_COMPLETE’ state. Open your application created in step 1 and this will show you the below message prompt.
“The AWS application experience has changed and a tag update is required to view your application. Onboard your application to access metrics and insights in the application dashboard.”
5. Click on the ‘Onboard’ button and submit the request by acknowledging the message on the next screen. This will perform the AWS application tagging to your CloudFormation stack. This will automatically trigger an update operation to your CloudFormation stack.
6. You can also check the stack update progress of your CloudFormation stack. Once the stack update got completed you can view the stack resources in your myApplications under the ‘Manage resources’ option.
The above-mentioned steps are the same for bringing the nested stack resources in myApplications. For nested stack, you have to update only in your root stack only as per step. The above step 5 will perform the AWS application tagging the root stack resources and will also inherit the application tag to the associated nested stack and its resources. This stack tagging operation will not impact the existing stack/resources tags and hence will not cause tag drift. Also please note that if we manually remove the application tag ‘awsApplication’ from the resource will remove that resource from myApplications and will also result in stack drift.

1. What historical problem this feature is solving?
myApplications facilitates the simplified management and monitoring of your application's cost, health, security posture, and performance on AWS. Additionally, it introduces a widget for quick access on your console home.
2. How to make use of it in the CloudFormation template?
Currently, creating a new Application through CloudFormation is not supported.
3. What's the mechanism to use myApplications with nested stacks?
Adding the parent stack automatically includes nested stacks within myApplications.
4. How impactful is it for a CloudFormation Stack that has an existing drift?
myApplications functionality remains unaffected even when a CFN stack has drift.
5. How does it work with StackSets?
For StackSets, adding the StackSet itself to the Application includes the stack instances. However, costs associated with StackSets won't be visible.
6. Does it support Cross-Account & Cross-Region resources?
Currently, myApplications doesn't support cross-account or cross-region resources. When created, applications are region-specific.
7. What's the ideal way to deploy the solution in line with an Infrastructure as Code (IAC) Strategy?
As recommended, include the resource generated from "Action > Get Code Snippet" in your CFN template to automatically add CFN stacks to the specified application.
8. If I have a common resource used across two applications, what's the strategy?
You'll need to decide which application the resource should belong to, as a resource can only be included in one application at a time.

myApplications on AWS offers a convenient way to manage your application's cost, health, and performance in one place. It simplifies monitoring, provides quick access through a console widget, and allows easy inclusion of CloudFormation stacks. While it might have limitations like no cross-account or cross-region support, and a few resources without tag support, it's still a useful tool for centralized monitoring and management of your AWS applications.ent.