Image for post
Image for post

In this article we will see how you can build a serverless image processor using S3 and Lambda. Lets see the use case where serverless image processing is required. Assume you are building a photo album application where people can upload their photos and then access the uploaded photos on web or using a mobile application.

Such use case very often require that once the original image is uploaded to the server, it needs to be processed further for following use cases:

  • Resizing images to make them suitable for display across multiple form factors (Web v/s Mobile)
  • Adding watermarks
  • Image meta data extraction — Geo location, Camera, Exposure info etc. …

Image for post
Image for post

In this article we will talk about how you can leverage AWS CloudWatch Rules and AWS Lambda to build a reliable, flexible, low cost and server-less batch processing. Typically batch processing involves running a scheduling engine and AWS EC2 instances. AWS Batch provides a nice abstraction and allows you to do batch processing at scale. However — It is not entirely “server-less”. AWS batch spins up EC2 instances to run your batch jobs. Most of the time you may have to leave a minimum capacity of EC2 in running state even if you are not doing any batch processing. This effectively means you are spending money even when you are not doing any work. So AWS Batch is not truly server less. What I will demonstrate today is how to do batch processing using serverless technologies like AWS Lambda. …


Image for post
Image for post

AWS Simple email service (SES) is Amazon’s answer to services like Mailchimp that allows you to efficiently manage your the promotional and transactional email traffic for your business. In this article we will look at many aspects of SES including the following:

  • Prerequisite for using SES in production
  • Sending rich templated emails
  • Design approach for sending large number of emails using AWS Lambda
  • Handling unsubscribe and bounces / complaints

Prerequisite for using SES in production

The most basic prerequisite for using SES in production is a SES verified domain that you will be using for your “FROM” email address. The simplest way to go about doing this is to buy the domain from Amazon on Route53. If you have domain registered already with another provider (e.g. …


Image for post
Image for post

In this article we will look at writing RESTful service using API gateway and Lambda. We will use DynamoDB as a backend store. We will use terraform to deploy all the AWS resources. We will write following APIs:


Image for post
Image for post

Please read the first article in the series here:

The code samples this article uses the DynamoDB table we designed in the above article.

In this article we will look at the following aspects of DynamoDB:

  • Exponential backoff when doing batch operation
  • Updating attributes of a record
  • Atomic update of numeric attribute of record
  • Accessing DynamoDB service from a Lambda hosted in VPC

Batch Operation and Exponential Backoff

One of the most efficient ways to fetch / update / create / delete multiple items from DynamoDB is to use the batch APIs it offers. Using batch API prevents multiple round trips and improves the latency of the service / operation you are trying to perform. …


Image for post
Image for post

DynamoDB is fully managed NoSQL database and one of the key components of modern server less design on AWS. It is highly scalable and has very low latency for both read / write operations. In this article we will look at the following topics related to DynamoDB and its usage.

  • Data modelling
  • Auto deletion of “expired” / “old” records from DB
  • Triggers

DynamoDB is most suitable for data which does not change often but is read multiple times i.e. write once (or may be few times) / read multiple times.

Data Modelling in DynamoDB

If you are coming from RDBMS background and are trying to figure out how to use DynamoDB for your use case, this is where you will struggle the most. So in order to explain the approach that one has to take while modelling using DynamoDB, remember the following things…


Image for post
Image for post

Read the overview of the Cognito User Pool in the article below:

In this article, let’s get a little hands on. I will cover some of the basic challenges that developers face when they first start working with AWS Cognito.

Workflow Triggers

In the last article I talked about various workflow triggers that can be configured to kick off custom validations / workflows when a specific event happens e.g. user sign-in, pre-sign-up etc. AWS Cognito uses the AWS Lambda — a core technology of AWS server less technology stack — for this purpose. …


Image for post
Image for post

Amazon Web Service platform’s Identity and Access Management offering consists of two major components — Cognito User Pool and Cognito Identity Pool. In this article we deep dive into Cognito User Pool and find out what it is, how to use it and when to use it.

Cognito User Pool

Cognito user pool — at its core — is a “user repository” with very rich user registration and authentication capabilities. This is where you can define a schema of the “USER” entity of your application / solution. …

About

Sanjay Dandekar

Developer, Home Cook, Amateur Photographer - In that order!.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store