What is concurrency?

Concurrency is the number of requests that your function is serving at any given time.

If the function is invoked again while a request is still being processed, another instance is allocated, which increases the function’s concurrency.

Provisioned concurrency

  • You have to only restrict your lambda for a private VPC.
  • Private route table should attach to private subnet
  • Public route table should attach to public subnet
  • NAT GW should attach with a private route table
  • IG GW should attach with a public route table
  • If private route table not attach to private subnet then it will utilize a default route table which doesn’t have any connection with internet (NAT)

DynamoDB vs RDS and another NoSQL

Amazon DynamoDB

NoSQL & Queries via API call — you won’t be writing SQL queries to read and write data. Instead, you’ll need to make calls to specific DynamoDB APIs with names like PutItem, GetItem, or query.

Flexible column schema — DynamoDB is also schemaless so you don’t have to define a fixed table structure in advance. When you insert a DynamoDB record, it can have any attribute that it needs. so you can adjust columns and data types on the fly.

“Infinitely” scalable — DynamoDB was designed from the beginning to extremely scalable. Your data can grow to many terabytes, with…

  • Read Replicas are NOT used for resiliency or as a secondary instance in the event of a failover.
  • Read Replicas are used to serve read-only access to your database data via a separate instance

Use case: Let’s assume we have a primary RDS instance that serves both read and write traffic. Due to the size of the instance and the amount of read-intensive traffic being directed to the database for queries. the performance of the instance is taking a hit.

To help resolve this, you can create a read replica. A snapshot will be taken of your database, and if…

RDS Multi-AZ

What’s RDS Multi-AZ?

Multi-AZ means Multi-Availability Zone

  • It is a feature that is used to help with resilience and business continuity.
  • Multi-AZ configures a secondary RDS instance(replica) within a different availability zone in the same Region as a primary instance.
  • The only purpose of Multi-AZ is to provide a failover option for the primary RDS instance. It’s not to be used as a secondary replica to offload read-only traffic to.
  • The replication of data happens synchronously.
  • RDS uses a Failover mechanism on Oracle, Mysql, MariaDB, and Postgre SQL instances. if you have configured Multi-AZ for one of these engine types and an incident…

ELB Component

What is Listeners?

For every load balancer, you must configure at least one listener. The listener defines how your inbound connections are routed to your target groups based on ports and protocols set as conditions.

What is Target groups?

Target groups is a group for your resources that you want your ELB to route requests to. You can configure your ELB with a number of different target groups, each associated with different listener configuration and associated rules.

What is Rules?

Rules are associated to each listener that you have configured within your ELB. …

I’ve been the the mode of exploring bot framework and found that slack has a cool node module that support a lot of native main features.

Let’s get our hands dirty!!

Creating an app on slack

  1. Go to the slack app
  2. Create a slack app and chose where you want to keep your app in the workspace then click Create App

3. Copy App Credentials to use on the backend

Amazon RDS Proxy is a highly available, fully managed, and secure proxy that is going to use between serverless applications and the Amazon RDS database.

RDS Proxy

Amazon RDS Proxy Features:

  1. Sharing your pool and database connections
  2. Increase the availability of your applications
  3. Improve your database security through the integration with different services for instance Secret Manager and enforce of DLS to connect to the database
  4. fully managed

Initial architecture

users[index].emailVerified = cognitoUser.UserAttributes[1].Value;

UserAttributes[1] — to avoid mistake you should not specific index and code should look like this.

Object.keys(cognitoUser.UserAttributes).forEach((index) => {
// assigning cognitoUser.UserAttributes[1].Value
if(cognitoUser.UserAttributes[index].Name === 'email_verified'){
users[index].emailVerified = cognitoUser.UserAttributes[index].Value;

Using object.key looping through the array and look for which JSON field you want.

HTTP 503: Service Unavailable

when you run to this error means

HTTP 503: Service Unavailable

The target groups for the load balancer have no registered targets.

Here how to fix

Modify the Health Check Settings of a Target Group

You can modify the health check settings for your target group at any time.

To modify the health check settings of a target group using the console

  1. Open the Amazon EC2 console at
  2. On the navigation pane, under LOAD BALANCING, choose Target Groups.
  3. Select the target group.
  4. On the Health checks tab, choose Edit.

Nadtakan Futhoem

Founder of & Full Stack Cloud developer. Follow me on twitter

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