Storing large items with DDB and S3

When working on applications, you want to focus on your business logic rather than spending your time on the mechanics of how to persist your data. If you are working in AWS, there is a good chance you are already using Dynamo DB as your database, as it gives you…

Is it really a Singleton?

Recently, I have investigated a defect that is interesting to share. As part of our operations, we need to be able to run tools, which will invoke APIs on different AWS services. For example, one common tool is to run a certain CloudWatch query and analyze the results. The framework,…

Simple item versioning with DynamoDB

Occasionally you want to store information in a database with keeping versioning, so you will be able to retrieve previous versions of the record. In this example, we will use AWS DynamoDB and take advantage of some of its features. For the example, lets take a simple record that contains…

How to consume all messages from an SQS queue ?

My goal was finding an AWS service that will answer the following requirements: Store large amounts of data (split into small chunks) reliably. Accessible from multiple zones/regions. Low read/write latencies. Cheap enough. SQS is a powerful service that is really useful for de-coupling between micro-services and allowing reliable transfer of…

SQS Benchmark (with large messages)

Amazon Simple Queue Service (Amazon SQS) is a scalable and fully managed message queuing service that allows users to transmit any amount of data through the web without administrative responsibility. Recently, I tried to evaluate whenever the SQS service will fit my needs for a design I’m working on. My…

Serverless On-call duty notifier – Part 2

In the previous blog post, I’ve described how to build a simple SMS notification system using DynamoDB, SNS and AWS Lambda. In this post, I’ll show how to change it in order to allow each user to choose whenever he wants to get SMS notification, Email notification or nothing at…

Serverless On-call duty notifier – Part 1

As many engineers in the industry, we have on-call duty. The on-call duty is defined at the beginning of each month and the list of the on-call engineers for each date can be found in an excel sheet. Well, this is nice but I want to get notified when I’m…

How do I spend less time on compilation

As part of my day job, I write and compile a lot of code. My laptop is not that strong and I find myself wasting a lot of time on compilation. Then I asked myself, why shouldn’t I use the cloud for getting more compute power ? Choosing cloud provider…