Utilizing an AWS framework to measure KPIs

When collecting KPIs, there are certain foundational questions that organizations must ensure they can answer:

  • How can you be certain all of your system processes ran without error?
  • What are the KPIs you are tracking?
  • How long would it take to find out what data your KPIs are measuring?
  • Would you know if those KPIs changed?

To make this information more accessible, we created a dashboard that provides immediate answers to these questions in an adjustable component-based architecture.

We wanted a dev ops dashboard to monitor our KPIs, alert us to any problems, and be adaptable enough to easily add future information that we deemed worth tracking. Additionally, we needed a robust cloud-based solution that removed the unnecessary overhead of servers and provisioning, while still being secure and retrievable from anywhere.

Here’s how we approached this:

We decided to utilize the AWS (Amazon Web Services) serverless platform to reduce costs related to both time spent and money spent on hardware or software. Databases, storage, message queueing and computation are all handled by AWS. This allows us to direct all our development energy into creating a dashboard. And with Lambda, we only pay for what gets computed. If the code isn’t running, there’s no charge.

We retrieved our data from third-party APIs and from within the bodies of auto-generated emails. Then, in a Lambda, we sorted and selected the data we were looking for. Afterward, we stored everything useful in a DynamoDB. Larger assets were stored in S3 buckets, and our internal dashboard can now go and grab whatever information it needs, when it needs it.

Easy and cost effective We don’t need an entire team of developers to worry about servers. No one has to even consider partitioning. All the components underpinning the dashboard are in a central location in AWS. The cost is significantly lower than the alternative: a server-on-site. Most importantly, the overall development time occurs over a matter of weeks, not months.

Accessible The dashboard is accessible from anywhere. Since we picked a lightweight front-end development strategy, our dashboard is viewable on just about any device; desktop, mobile, and even the browser that came with the office SmartTV. We can even whitelist or blacklist specific IP addresses, keeping our data both available and secure. Our data is securely available anytime, anywhere.

Usable Informed decisions need all the available data, quickly. In the blink of an eye, our leadership gets a snapshot of all the monitored activity that is accurate up to the minute. Similarly, our dev ops and support teams are alerted to any process failures at the same rate. Lambda timeouts, for example, are set to automatically trigger error messages via email and Slack to alert dev ops engineers and leadership of any issues. Since the Lambdas are naturally written in smaller, more efficient components, bugs are isolated to smaller sections, making development that much easier to troubleshoot.

Scalable New features, new components, and new design can be rolled out as needed. The dashboard can be continuously improved at the pace of business. KPIs are always changing. We had to have a flexible window into our data. Anything important is easily viewable. Even after information gets retired from the main dashboard, data can be archived without worrying about any hidden costs of storage. We can have data monitoring as soon as new product features are ready to roll out.

Good business decisions run on good data. Your KPIs need good metrics to accurately reflect your situation. If you are using AWS, this enhancement has the potential to change important decisions or reinforce excellent strategies.

For further discussion, contact Christy Beesley at [email protected]