Posts

Deploying a Java Code using AWS EC2

Image
  In this post, we will see how to deploy the JAR on a EC2 instance with Auto Scaling Group with Load Balancer. We can do the same using AWS Code Deploy with orchestration using AWS Code Pipeline. We are taking a different path. In the previous post, https://rsinfomindss.blogspot.com/2026/04/aws-codebuild.html  Once the build is stored in the S3. We have to perform the below steps in a EC2 instance to run the code. 1)        Download Java. 2)        Create a folder for the application. 3)        Download the JAR from S3. 4)        Start the JAR. I will start with creating a Launch Template. Refer to https://rsinfomindss.blogspot.com/2023/04/aws-launch-template.html  Make sure IAM EC2 instance profile is create with the permission to download S3 objects (JAR) from the EC2 instance. Refer to example below. S3 bucket "demo-java-application-a...

AWS CodeBuild

Image
  AWS CodeBuild is a fully managed build service that compiles source code, runs tests, and produces software packages that are ready to deploy.   With CodeBuild, you don’t need to worry about provisioning and managing your own building infrastructure.   You simply provide your build project’s source code and build settings, and CodeBuild handles the rest. With AWS Code Deploy, you can avoid the manual process of deploying code, reduce the risk of errors and downtime, and improve the overall efficiency of your deployment process. For example, if you have a web application that you want to deploy , you can use CodeBuild to compile your source code, run unit tests, and produce a deployable package.   What is Buildspec file for Codebuild? The Buildspec file is a configuration file used by AWS CodeBuild to define how to build and deploy your application or software project. It is written in YAML or JSON format and contains ·     ...

AWS Code Commit with Git Basics

Image
AWS Code Commit is a fully managed, secure, private Git repository service used to store, version, and collaborate on source code and other assets. It eliminates the need to host your own Git server and integrates tightly with AWS services. Let's start with creating a code commit repository from the AWS Console: Repository name is " book " and I am going to create a file from the console by the name called " facts.txt " with the below content. Here is the commit message for the file. Now, our file is ready. Take a note at the " Reference " as " main " which shows the file is created under main branch. No need to worry about the terms branch, commit and others. This series covers it. Now, our file is ready. Consider the file under the "main" branch is the ONE VIEWED/USED by everyone. Now, we have been asked to make changes to the file. Change the numbers from 8,848.86 to ~ 9,000 meters. In real, no organization allows to make chan...

DynamoDB Streams

Image
  DynamoDB Streams are one of the most powerful—but often under‑explained—features in DynamoDB. A DynamoDB Stream captures every change to items in a table: INSERT MODIFY REMOVE You can then process these changes using: AWS Lambda Kinesis Custom consumers This is how you build event‑driven architectures with DynamoDB. Enable Streams on the Table: You choose a stream view type, e.g.: NEW_IMAGE → only the new item OLD_IMAGE → only the old item NEW_AND_OLD_IMAGES → both KEYS_ONLY → only keys I have table created by the name called " order ". I have enabled "Streams" to capture the changes to the table. And I have added the lambda function to process the streams. Lambda gets triggered , whenever there is a change in the DB items. Below is the lambda snippet: import json def lambda_handler(event, context):     for record in event[ "Records" ]:         event_name = record[ "eventName" ]         keys = record[ "dynamo...

APIGW + Lambda + DynamoDB

Image
  In this post, let see a demo application which is accessible by the users via API GW and the back end logic for the application is served by AWS lambda function. For persistent storage, we are using DynamoDB table. Lets start with DynamoDB table: I created a DynamoDB table by the name " employee_table ". Table has a primary key " employee_id " of datatype Number. So, any query to the table must be made through the key " employee_id ", else we need to scan the entire table. Let's add an item to the table from console. Now, we added an item to the table. Let's do the same and other action via API GW and Lambda Functions. Let's create a lambda function. One lambda function, based on the query parameter it invokes the function within the lambda. import json import boto 3 from botocore.exceptions import ClientError from decimal import Decimal from boto 3 .dynamodb.conditions import Key # Initialize the DynamoDB client dynamodb = boto 3 .resource(...