Building a Scalable Application Monitoring System with AWS CloudWatch

Keeping modern software systems healthy and performant requires application monitoring. With the increasing complexity of modern applications and the rise of microservices, it has become even more a necessity to have a comprehensive monitoring solution in place. With AWS CloudWatch, you can monitor applications in real-time and diagnose issues before they get worse. This blog post will guide you through the process of building a scalable application monitoring system using AWS CloudWatch....

March 30, 2023 · 12 min · Engineering · Software Design · AWS · Terraform

Leveraging the Fan Out Pattern to Build Scalable Systems

In today’s world, businesses need to handle massive amounts of data, and the ability to scale quickly is paramount. In this article, we will explore the Fan Out Pattern, a design pattern that allows us to scale our systems horizontally. We will also look at how we can implement this pattern using AWS services (SNS and SQS) and automate the process with Terraform. Building Blocks Before we dive into the details of the Fan Out Pattern, let’s take a look at the building blocks that we will use to implement it....

March 4, 2023 · 7 min · Engineering · Software Design · AWS

Message driven architecture with AWS SQS and Python Workers

In this blog post, you’ll learn about the basics of using Python workers for processing messages from SQS queues. We’ll cover the benefits of using workers, including improved performance and scalability. We’ll also discuss some of the drawbacks, such as the added complexity of managing multiple processes. Additionally, we’ll provide best practices for implementing workers in your code, including tips for optimizing their use. Whether you’re new to multiprocessing or an experienced developer, this post will provide valuable insights and tips for using Python workers effectively in your projects....

December 22, 2022 · 9 min · Engineering · Software Design · AWS