DynamoDB and DAX


DAX (DynamoDB Accelerator) is a fully managed, in-memory caching service for DynamoDB that can significantly improve read performance by reducing the number of requests to DynamoDB. DAX is designed to work with DynamoDB, and it provides a fast, scalable, and highly available caching layer that sits between your application and DynamoDB.

DAX can significantly improve read performance by reducing the number of requests to DynamoDB and caching frequently accessed data in memory. By using DAX, you can improve the performance and cost-effectiveness of your application while minimizing infrastructure management.

Continue reading "DynamoDB and DAX"

DynamoDB Performance and Optimizations

DynamoDB is designed to provide high performance and scalability, even at scale. It is a highly available and durable NoSQL database service that can handle large volumes of data and requests with low latency.

DynamoDB is a distributed database service that uses sharding to partition data across multiple servers called nodes. Each node is responsible for storing a subset of the data, and the partition key is used to determine which node stores the data. This allows DynamoDB to scale horizontally by adding more nodes to the cluster as the data and request volume grows.

Continue reading "DynamoDB Performance and Optimizations"

Intro to AWS Region

AWS Region is a physical location where AWS maintains multiple data centers that are interconnected by a low-latency network. Each region is a separate geographic area, identified by a unique name and code, such as us-east-1 or eu-west-2. AWS Regions are strategically located in different parts of the world to provide customers with a wide selection of geographic locations for hosting their resources, applications, and services. Each AWS Region consists of two or more Availability Zones (AZs), which are physically separate data centers located within a single region. Each AZ is designed to be highly available and fault-tolerant, with independent power, cooling, and networking infrastructure. Continue reading "Intro to AWS Region"

Read contents of S3 bucket using AWS lambda

Here is an example AWS Lambda function written in Python that reads a file from an S3 bucket. In this example, the lambda_handler function is the entry point for the Lambda function. It takes two parameters, event and context.

The event parameter contains information about the S3 bucket and object that triggered the Lambda function, and the context parameter contains information about the runtime environment of the function. 

Continue reading "Read contents of S3 bucket using AWS lambda"

Intro to AWS DynamoDB

AWS DynamoDB is a fully managed NoSQL database service provided by Amazon Web Services (AWS). It is a high-performance, scalable, and highly available database that can handle millions of requests per second and can automatically partition and re-partition data across a cluster of machines.

DynamoDB allows you to store and retrieve any amount of data and serve any level of request traffic, and provides a flexible and efficient data model that supports both document and key-value store paradigms. It also offers advanced features such as automated backups, global replication, and fine-grained access control.

Continue reading "Intro to AWS DynamoDB"

Intro to AWS Serverless

AWS Serverless is a cloud computing model in which the cloud provider (AWS) manages the infrastructure and automatically provisions, scales, and manages the computing resources required to run an application. In a Serverless architecture, the customer only pays for the actual usage of the application, rather than paying for fixed computing capacity. AWS Serverless computing is based on the concept of functions as a service (FaaS). A function is a self-contained piece of code that performs a specific task, such as processing data or responding to an event. The AWS Lambda service is a FaaS service that allows developers to write and deploy functions in a variety of programming languages, including Java, Python, Node.js, C#, and more. Continue reading "Intro to AWS Serverless"

Intro to Cloud Computing and AWS Cloud

What is Cloud Computing

Cloud computing is a model for delivering computing resources over the internet. Instead of relying on local hardware and software to perform tasks, cloud computing allows users to access computing resources such as servers, storage, databases, applications, and other services over the internet on an as-needed basis.

With cloud computing, users can access computing resources on demand, pay only for the resources they use, and scale resources up or down quickly and easily. Cloud computing also offers a high level of flexibility and mobility, allowing users to access their applications and data from anywhere with an internet connection, on any device.

Continue reading "Intro to Cloud Computing and AWS Cloud"

Intro to AWS S3

What is Amazon S3?

Amazon Simple Storage Service (S3) is a cloud-based object storage service provided by Amazon Web Services (AWS). S3 provides scalable storage for any type of data, including images, videos, audio files, text documents, and more.

S3 offers a highly available and durable platform for storing and retrieving data. It also offers features like versioning, server-side encryption, lifecycle policies, and cross-region replication. With S3, you can store and retrieve data from anywhere in the world, using a simple web interface, command line tools, or APIs.

Continue reading "Intro to AWS S3"

Unit testing best practices

There are a lot of articles and blog posts written about unit testing best practices, patterns etc. Over the course of years after writing many varieties of unit test cases with and without mocking frameworks and reviewing many tests, there are few patterns that I have noticed many times again and again. For a change instead of writing about best practices I have compiled a list of testing bad practices to avoid.

Continue reading "Unit testing best practices"

Unit testing with Junit

How can a developer guarantee that the beautiful code they wrote would work as intended? By running unit tests on that code. This is the short answer. Unit tests should be well designed, easy to read and understand and more importantly easy to maintain. Unit tests should test all possible
Continue reading "Unit testing with Junit"