Categories
AWS

AWS Lambda Using Dagger (Dependency Injection)

Dependency Injection

DI will help write loosely couple architecture. By moving the dependencies to the interface of the components the code will be more readable and manage dependencies between the objects. Additionally DI helps to provide easier testing with different mock implementation

For AWS Lambdas “Minimize the complexity of your dependencies. Prefer simpler frameworks that load quickly on execution context startup. For example, prefer simpler Java dependency injection (IoC) frameworks like Dagger or Guice, over more complex ones like Spring Framework.”

Please refer this link for more details https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html

1. This simple AWS Lambda makes use Dagger to build the dependency injection
2. Provide commonly used objects (like Gson/Utilities classes/Dynamo, S3, SQS helper) through DI
3. A sample Utility Module class with Gson is injected into the DaggerHandler
3. The sample service just returns the input request and returns a success message

Git Code

https://github.com/shivaramani/aws-dagger-lambda

Testing

1. $ mvn clean package
2. Create a new AWS Lambda (in console or CLI),
    - Name: daggerSvc
    - Runtime: java8
    - Role: Default Lambda Role
3. Upload the the jar.
4. Provide "com.example.InvocationHandlers::handleDaggerRequest" in "Handler" textbox (on the AWS Console)
5. "Save" and "Test"
Categories
AWS Blogs

Terraform

Terraform as “infrastructure as code” seems to be very capable and have a very similar concept that of AWS CloudFormation and AWS CDK.

what’s more interesting is you can build all the AWS services through this!

Overview –Provision AWS infrastructure using Terraform (By HashiCorp) blog

Many web and mobile applications can make use of AWS services and infrastructure to log or ingest data from customer actions and behaviors on the websites or mobile apps, to provide recommendations for better user experience. There are several ‘infrastructure as code’ frameworks available today, to help customers define their infrastructure, such as the AWS CDK or Terraform by HashiCorp. In this blog, we will walk you through a use case of logging customer behavior data on web-application and will use Terraform to model the AWS infrastructure.

The data ingestion process is exposed with an API Gateway endpoint. The Amazon API Gateway processes the incoming data into an AWS Lambda during which the system validates the request using a Lambda Authorizer and pushes the data to a Amazon Kinesis Data Firehose. The solution leverages Firehose’s capability to convert the incoming data into a Parquet file (an open source file format for Hadoop) before pushing it to Amazon S3 using AWS Glue catalog. Additionally, a transformational/consumer lambda does additional processing by pushing it to Amazon DynamoDB.

Read more here: https://aws.amazon.com/blogs/developer/provision-aws-infrastructure-using-terraform-by-hashicorp-an-example-of-web-application-logging-customer-data/

Categories
AWS Blogs

AWS Batch .NET CDK Blog!

Overview – AWS CDK .NET for Batch blog

This post provides a file processing implementation using Docker images and Amazon S3AWS LambdaAmazon DynamoDB, and AWS Batch. In this scenario, the user uploads a CSV file to into an Amazon S3 bucket, which is processed by AWS Batch as a job. These jobs can be packaged as Docker containers and are executed using Amazon EC2 and Amazon ECS.

https://aws.amazon.com/blogs/developer/orchestrating-an-application-process-with-aws-batch-using-aws-cdk/

AWS CSS Specialty!

Huh.. This is a real tough one. AWS Certified Security – Specialty!

Categories
AWS Blogs

AWS Batch Using CloudFormation Blog!

Overview – AWS Batch blog

This post provides a file processing implementation using Docker images and Amazon S3AWS LambdaAmazon DynamoDB, and AWS Batch. In this scenario, the user uploads a CSV file into an Amazon S3 bucket, which is processed by AWS Batch as a job. These jobs can be packaged as Docker containers and are executed using Amazon EC2 and Amazon ECS.

https://aws.amazon.com/blogs/compute/orchestrating-an-application-process-with-aws-batch-using-aws-cloudformation/

Categories
AWS Blogs

AWS .NET Core Aurora CDK Blog!

Overview – AWS .NET Core Aurora CDK blog –

Many existing .NET Core applications can be containerized using docker and AWS services like Amazon EC2Amazon Elastic Container Service (ECS)AWS Systems Manager (SSM)Amazon Aurora Database providing a full blown API application system. The application architecture is complemented by build & pipeline tools like AWS CodeCommitAWS CodeBuild using AWS CloudFormation. At the end of this blog, we will create a simple Microsoft .NET Web API for a ToDo Application

https://aws.amazon.com/blogs/developer/developing-a-microsoft-net-core-web-api-application-with-aurora-database-using-aws-cdk/

AWS CDK

Using CDK constructs, we have built the above infrastructure and integrated the solution with a Public Load Balancer. The output of this stack will give the API URLs for health check and API validation. As you notice by defining the solution using CDK, you were able to:

  • Use object-oriented techniques to create a model of your system
  • Organize your project into logical modules
  • Code completion within your IDE

Other major advantages using this CDK approach include, as a developer/development team we should be able to

  • Use logic (if statements, for-loops, etc) when defining your infrastructure
  • Define high level abstractions, share them, and publish them to your team, company, or community
  • Share and reuse your infrastructure as a library
  • Testing your infrastructure code using industry-standard protocols
  • Use your existing code review workflow
Categories
AWS Blogs

AWS .NET Core Aurora CloudFormation Blog!

Overview – AWS .NET Core Aurora CloudFormation blog –

Many existing .NET Core applications can be containerized using docker and AWS services like Amazon EC2Amazon Elastic Container Service (ECS)AWS Systems Manager (SSM)Amazon Aurora Database providing a full blown API application system. The application architecture is complemented by build & pipeline tools like AWS CodeCommitAWS CodeBuild using AWS CloudFormation. At the end of this blog, we will create a simple Microsoft .NET Web API for a ToDo Application

https://aws.amazon.com/blogs/developer/developing-a-microsoft-net-core-web-api-application-with-aurora-database-using-cloudformation/

AWS DevOps Pro!

Completed AWS Certified Devops Engineer Professional

AWS CSA Pro!

Ooohoo! my AWS Certified Solutions Architect Professional

AWS SysOps Admin!

Finished my AWS Certified SysOps Administrator