As you can imagine, in addition to adding CDK constructs to our stack, we also need to make a few changes to our Flask-based web application so that it starts offering metrics and insights to tools such as Prometheus. Let’s start with the application-level changes first. Modifying the Flask application code There are two main […]
Category: Early identification of issues
Load testing your application to generate data – Enabling the Observability of Your Workloads
A simple way to load test your To-Do List Manager application could be to run a curl query that targets the application load balancer URL, from within your Cloud9 IDE’s terminal. For hash generation, we can leverage the RANDOM variable and derive a md5 checksum value from it, using the following command: echo $RANDOM | […]
Application components – Running Containers in AWS
This is supposed to bea long-running application that will primarily consist of two containers – a web application and a database. We can define them in their respective container definitions, which can then both be mapped to a single task definition. ECS offers the service construct to manage such long-running applications, so we will use […]
Deploying the stack in an AWS account – Enabling the Observability of Your Workloads
At this point, we can deploy our CDK stack in the AWS account. Alongside core infrastructure elements such as VPCs, subnets, and gateways, it will provision the ECS cluster, which contains three containers – the application, the database, and the OpenTelemetry collector. We will also deploy an independent workspace for Amazon-managed Prometheus. Toward the end, […]
What is observability? – Enabling the Observability of Your Workloads
Simply put, it’s all about understanding the current state a running system is in, from the work it is doing and the data that it is emitting. Developing a solid observability strategy is not a one-time thing and it will always have scope for optimizations as your business needs evolve. But, before you can even […]