Introduction to Lambda functions with Github actions

Introduction to Lambda functions with Github actions

Lambda functions, nodejs and github actions series

First things first, for a better understanding, let's share some definitions from official AWS documentation:

Serverless

Build and run applications without thinking about servers, eliminate infrastructure management tasks and keep the focus on writing code.

Concurrency

Concurrency is the number of requests that your function is serving at any given time. When your function is invoked, Lambda provisions an instance of it to process the event. When the function code finishes running, it can handle another request. If the function is invoked again while a request is still being processed, another instance is provisioned, increasing the function's concurrency.

Lambda function

  • Lambda function: Is an event-driven, pay-as-you-go compute service that lets you run code without provisioning or managing servers.

  • Lambda function handler: Is the method in your function code that processes events. When your function is invoked, Lambda runs the handler method.

  • Event: An event is a JSON-formatted document that contains data for a Lambda function to process.

  • Trigger: A trigger is a resource or configuration that invokes a Lambda function.

  • Lambda instruction set architectures: Determines the type of computer processor that Lambda uses to run the function; arm64 – 64-bit ARM (AWS Graviton2 processor) and x86_64 – 64-bit x86

  • Deploy: Lambda function's code consists of scripts or compiled programs and their dependencies. Lambda supports two types of deployment packages: container images and .zip file archives.

  • Permissions: Every Lambda function has an IAM role called an execution role. In this role, you can attach a policy that defines the permissions that your function needs to access other AWS services and resources.

  • Natively supports Node.js, Java, Go and among others

"Graviton2 reduces memory read time by providing a larger L2 cache per vCPU, which improves the latency performance of web and mobile backends, microservices, and data processing systems"

IAM

AWS Identity and Access Management (IAM) is a web service that helps you securely control access to AWS resources. With IAM, you can centrally manage permissions that control which AWS resources users can access.

Github Actions

Github actions is a continuous integration and continuous delivery (CI/CD) platform that allows you to automate your build, test, and deployment pipeline. You can create workflows that build and test every pull request to your repository, or deploy merged pull requests to production.

  • Workflows: A workflow is a configurable automated process that will run one or more jobs. Workflows are defined by a YAML file checked in to your repository and will run when triggered by an event in your repository, or they can be triggered manually, or at a defined schedule.

  • Events: An event is a specific activity in a repository that triggers a workflow run. For example, activity can originate from GitHub when someone creates a pull request, opens an issue, or pushes a commit to a repository

  • Jobs: A job is a set of steps in a workflow that execute on the same runner. Each step is either a shell script that will be executed, or an action that will be run.

  • Runners: A runner is a server that runs your workflows when they're triggered. Each runner can run a single job at a time

From now on, we can continue reading the rest of the "Lambda functions, Nodejs and Github Actions series".

See you then.

Did you find this article valuable?

Support Max Martínez Cartagena by becoming a sponsor. Any amount is appreciated!