While the collection of metrics generating lines and lines of information on disparate files serves a purpose for tracking particular indicators, tracking a number of these over time is much easier in a graphical format. AWS CloudWatch dashboards allow you to create customizable, real-time visualizations of your metrics, resources, and applications. You can then monitor and analyze your metrics, logs, and events across your entire infrastructure. The CloudWatch dashboard thereby gives you and your organization a single-pane-of-glass view of your AWS environment.
The CloudWatch service has many built-in dashboards for the native AWS services. One of the superb features of CloudWatch dashboards is the ability to share the dashboards that you create with people who don’t have an AWS account. This can be done in a few ways, but one of the easiest ways is to either create a shareable link to the dashboard or show the dashboard on a screen in an office context. You can also share dashboards with particular IAM users with whom you provide the correct IAM permissions. At any point in time, you can see how many of your dashboards are being shared or have been made public, as well as revoke any public dashboards.
When you create a dashboard in CloudWatch, it becomes available globally. While most services are tied to a single Region, CloudWatch dashboards are not Region-specific. Using CloudWatch dashboards can help you quickly identify patterns and trends in your account, and this can assist you in the ability to act on and improve the performance of your account. Especially when coupled with CloudWatch alerts sent via SNS to team members, it becomes a valuable tool in helping to quickly diagnose and determine what issue is happening and where from a graphical perspective.
You just learned how CloudWatch dashboards can be a valuable tool for examining and optimizing your environment as well as for use in incident response. Next, you will see how to automatically respond to incidents with AWS EventBridge.
You may have heard the term loosely coupled or event-driven if you have dealt with cloud architects over the past few years. The term loosely coupled refers to a design approach where the components of the modules of a system are designed to have minimal dependencies on each other.
In other words, loosely coupled systems are designed in such a way that changes or modifications to one component do not have a significant impact on other components. This allows for greater flexibility and scale in the system and easier maintenance and development.
Two critical components in building a loosely coupled system in AWS are either a queueing system that can receive messages and hold them until they are processed by a downstream process and/or an event bus that can take events from a variety of different sources and send out instructions to a set of corresponding targets.
Figure 8.19: AWS EventBridge flow
Amazon EventBridge is a serverless service that allows you to connect AWS services and components with third-party and custom events using a set of rules you create inside your event bus. The rules match the events coming into the event bus and then push them along to one or more of the associated targets for processing.
Amazon EventBridge can help you create event-driven responses to events happening in your environment based on the contents of log files or CloudWatch metrics triggering alerts. Before you further learn about the inner workings of Amazon EventBridge, take a moment to explore EDA.