SlideShare a Scribd company logo
ROOM A
PRESENTED BY
GAVIN PICKIN
Building Scalable Serverless
Event-Driven Computing
with AWS Lambda
powered by
INTO THE BOX 2024
GAVIN PICKIN
SPEAKER AT ITB 2024
• Software Consultant for Ortus
• Work with ColdBox, CommandBox,
ContentBox APIs and VueJS every day!
• Working with Coldfusion since 1999 - V4
• Love learning and sharing the lessons learned
• From New Zealand, live in Bakersfield, Ca
• Loving wife, lots of kids, and countless critters
AWS Lambda?
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
Why AWS Lambda?
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
AWS Lambda is a compute service that runs
your code in response to events and
automatically manages the compute
resources, making it the fastest way to turn an
idea into a modern, production, serverless
applications.
https://aws.amazon.com/lambda/
What is Serverless?
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
● Most people refer to Lambda a “serverless” programming
model.
● Serverless doesn’t mean that there are no servers
involved.
● There are always servers involved.
https://aws.amazon.com/lambda/
What is Serverless?
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
● You just don’t see them
● You don’t manage them
● You can login and touch them.
● You write code for a specific runtime
● Deploy it to the serverless environment.
● Lambda takes care of everything else, including
scalability and core security.
https://aws.amazon.com/lambda/
Benefits of Lambda
● No need for managing servers
● Automatic scaling
● Pay-as-you-go pricing
● Performance optimization
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
https://aws.amazon.com/lambda/
Features of AWS Lambda?
● Extend other AWS services with custom logic
● Build custom backend services
● Bring your own code
● Completely automated administration
● Built-in fault tolerance
● Package and deploy functions as container images
● Automatic scaling
● Connect to relational databases
● Fine-grained control over performance
● Connect to shared file systems
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
https://aws.amazon.com/lambda/features/
Features of AWS Lambda?
● Run code in response to Amazon CloudFront requests
● Orchestrate multiple functions
● Integrated security model
● Trust and integrity controls
● Only pay for what you use
● Flexible resource model
● Integrate Lambda with your favorite operational tools
● Achieve up to 34% better price performance with functions
powered by Graviton2
● Monitoring and observability
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
https://aws.amazon.com/lambda/features/
Use Cases for Lambda
● Quickly process data at scale
● Run interactive web and mobile backends
● Enable powerful ML insights
● Create event-driven applications
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
https://aws.amazon.com/lambda/features/
Lambda - Pricing
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
https://aws.amazon.com/lambda/pricing/
Getting started with BoxLang AWS Lambdas
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
https://boxlang.ortusbooks.com/getting-started/installation/binaries
Getting started with BoxLang AWS Lambdas
This repository contains the AWS Lambda Runtime for
the BoxLang language. This runtime allows you to run
BoxLang code in AWS Lambda functions. The runtime is
built using the AWS Lambda Custom Runtime API and
the BoxLang interpreter.
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
https://github.com/ortus-boxlang/boxlang-aws-lambda
BoxLang AWS Lambda - Usage
To use it, you need to create a Lambda function and
specify Java 21 as the runtime. The class that executes
your BoxLang code is
ortus.boxlang.runtime.aws.LambdaRunner. By
convention it will execute a Lambda.bx file in the root
(/var/task/Lambda.bx) of the Lambda function, via the
run() method.
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
https://github.com/ortus-boxlang/boxlang-aws-lambda
BoxLang AWS Lambda - Usage
Method Signature:
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
https://github.com/ortus-boxlang/boxlang-aws-lambda
// Lambda.bx
class{
function run( event, context, response ){
// Your code here
}
}
BoxLang AWS Lambda - Run Arguments
Run Arguments
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
https://github.com/ortus-boxlang/boxlang-aws-lambda
● The event parameter is the event data that is passed to the Lambda function as
a Struct.
● The context parameter is the context object that is passed to the Lambda
function. This matches the AWS Lambda context object:
com.amazonaws.services.lambda.runtime.Context.
● The response parameter is the response object that is passed to the Lambda
function.
BoxLang AWS Lambda - Response Struct
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
https://github.com/ortus-boxlang/boxlang-aws-lambda
The response object is a Struct that you can use to set the response data. The
response object has the following keys:
● statusCode : The HTTP status code for the response.
● headers : A Struct of headers to send in the response.
● body : The body of the response, which can be anything.
The BoxLang lambda runner will return the response object as the response to
the Lambda function as a JSON object.
BoxLang AWS Lambda - Testing Locally
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
https://github.com/ortus-boxlang/boxlang-aws-lambda
Build
gradle shadowJar
gradle buildMainZip
BoxLang AWS Lambda - Testing Locally
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html
The AWS Serverless Application Model (AWS SAM) is a
toolkit that improves the developer experience of building
and running serverless applications on AWS.
Requires: Docker running
BoxLang AWS Lambda - AWS SAM benefits:
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html
● Define your application infrastructure code quickly, using less code
● Manage your serverless applications through their entire
development lifecycle
● Quickly provision permissions between resources with AWS SAM
connectors
● Continuously sync local changes to the cloud as you develop
● Manage your Terraform serverless applications
Invoking Lambda Locally with Sample Data
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
sam local invoke bxFunction
--event=workbench/sampleEvents/api.json
sam local invoke bxFunction
--event=workbench/sampleEvents/event.json
Invoking Lambda Locally with Debug Mode
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
sam local invoke bxFunction
--event=workbench/sampleEvents/api.json --debug
sam local invoke bxFunction
--event=workbench/sampleEvents/event.json --debug
Custom Lambda Function
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
If you don't want to use the convention of Lambda.bx
then you can setup an environment variable called:
BOXLANG_LAMBDA_CLASS
with the full path to the BoxLang class that will execute
your code.
The class must have a run() method that matches the
signature above.
Custom Lambda Function
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
If you don't want to use the convention of Lambda.bx
then you can setup an environment variable called:
BOXLANG_LAMBDA_CLASS
with the full path to the BoxLang class that will execute
your code.
The class must have a run() method that matches the
signature above.
Debugging your Lambda Function
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
You can enable debug mode by setting the environment
variable BOXLANG_LAMBDA_DEBUG to true.
This will output debug information to the Lambda logs.
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
// Lambda.bx
class{
function run( event, context, response ){
// response.statusCode = 200; set by default
response.headers = {
"Content-Type" : "text/plain"
};
response.body = "Hello World";
}
}
Hello World
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
However, if you don't even want to deal with the response struct, you can just use
a return and whatever you return will be placed for you in the response.body.
// Lambda.bx
class{
function run( event, context ){
return "Hello World";
}
}
Skip the response object
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
However, if you don't even want to deal with the response struct, you can just use
a return and whatever you return will be placed for you in the response.body.
// Lambda.bx
class{
function run( event, context ){
return "Hello World";
}
}
Skip the response object
INTO THE BOX 2024
SUBTITLE - IF NEEDED
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
In order to deploy your function to AWS Lambda, you need to package the
runtime and your BoxLang code into a zip file. The zip file should contain the
following structure:
+ Lambda.bx
/lib
+ boxlang-aws-lambda-1.0.0-all.jar
Packaging your BoxLang Lambda
INTO THE BOX 2024
Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
● Brian Klaas - the CFML AWS Guy
Great AWS Content including NodeJS Lambdas, StepFunctions and much more
https://brianklaas.net/
●
Interesting Links
INTO THE BOX 2024
THANK YOU TO OUR
SPONSORS
INTO THE BOX 2024

More Related Content

Similar to Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered by BoxLang

Serveless design patterns (VoxxedDays Luxembourg)
Serveless design patterns (VoxxedDays Luxembourg)Serveless design patterns (VoxxedDays Luxembourg)
Serveless design patterns (VoxxedDays Luxembourg)
Yan Cui
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless Cloud
Amazon Web Services
 
AWS October Webinar Series - AWS Lambda Best Practices: Python, Scheduled Job...
AWS October Webinar Series - AWS Lambda Best Practices: Python, Scheduled Job...AWS October Webinar Series - AWS Lambda Best Practices: Python, Scheduled Job...
AWS October Webinar Series - AWS Lambda Best Practices: Python, Scheduled Job...
Amazon Web Services
 
AWS Lambda Functions A Comprehensive Guide
AWS Lambda Functions A Comprehensive GuideAWS Lambda Functions A Comprehensive Guide
AWS Lambda Functions A Comprehensive Guide
Inexture Solutions
 
AWS Lambda Tutorial
AWS Lambda TutorialAWS Lambda Tutorial
AWS Lambda Tutorial
Whizlabs
 
An introduction to serverless architectures (February 2017)
An introduction to serverless architectures (February 2017)An introduction to serverless architectures (February 2017)
An introduction to serverless architectures (February 2017)
Julien SIMON
 
Adopting Java for the Serverless world at JUG Hamburg
Adopting Java for the Serverless world at  JUG HamburgAdopting Java for the Serverless world at  JUG Hamburg
Adopting Java for the Serverless world at JUG Hamburg
Vadym Kazulkin
 
Introduction to AWS lambda & Serverless Application1.pptx
Introduction to AWS lambda & Serverless Application1.pptxIntroduction to AWS lambda & Serverless Application1.pptx
Introduction to AWS lambda & Serverless Application1.pptx
Mohammed Shefeeq
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless Cloud
Amazon Web Services
 
Building serverless apps with Node.js
Building serverless apps with Node.jsBuilding serverless apps with Node.js
Building serverless apps with Node.js
Julien SIMON
 
A Walk in the Cloud with AWS Lambda
A Walk in the Cloud with AWS LambdaA Walk in the Cloud with AWS Lambda
A Walk in the Cloud with AWS Lambda
Amazon Web Services
 
Getting Started with AWS Lambda & Serverless Cloud
Getting Started with AWS Lambda & Serverless CloudGetting Started with AWS Lambda & Serverless Cloud
Getting Started with AWS Lambda & Serverless Cloud
Ian Massingham
 
Developing and deploying serverless applications (February 2017)
Developing and deploying serverless applications (February 2017)Developing and deploying serverless applications (February 2017)
Developing and deploying serverless applications (February 2017)
Julien SIMON
 
Eliminate repetitive work by using AWS Serverless Application Repository
Eliminate repetitive work by using AWS Serverless Application RepositoryEliminate repetitive work by using AWS Serverless Application Repository
Eliminate repetitive work by using AWS Serverless Application Repository
Igor Soroka
 
Deep Dive on Serverless Stack
Deep Dive on Serverless StackDeep Dive on Serverless Stack
Deep Dive on Serverless Stack
Amazon Web Services
 
Adapting Java for the Serverless World at JUG Barcelona
Adapting Java for the Serverless World at JUG BarcelonaAdapting Java for the Serverless World at JUG Barcelona
Adapting Java for the Serverless World at JUG Barcelona
Vadym Kazulkin
 
Serverless architectures-with-aws-lambda
Serverless architectures-with-aws-lambdaServerless architectures-with-aws-lambda
Serverless architectures-with-aws-lambda
saifam
 
AWS Lambda in infrastructure
AWS Lambda in infrastructureAWS Lambda in infrastructure
AWS Lambda in infrastructure
Paolo Negri
 
Serverless Frameworks on AWS
Serverless Frameworks on AWSServerless Frameworks on AWS
Serverless Frameworks on AWS
Julien SIMON
 
Adopting Java for the Serverless world at Serverless Meetup Italy
Adopting Java for the Serverless world at Serverless Meetup ItalyAdopting Java for the Serverless world at Serverless Meetup Italy
Adopting Java for the Serverless world at Serverless Meetup Italy
Vadym Kazulkin
 

Similar to Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered by BoxLang (20)

Serveless design patterns (VoxxedDays Luxembourg)
Serveless design patterns (VoxxedDays Luxembourg)Serveless design patterns (VoxxedDays Luxembourg)
Serveless design patterns (VoxxedDays Luxembourg)
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless Cloud
 
AWS October Webinar Series - AWS Lambda Best Practices: Python, Scheduled Job...
AWS October Webinar Series - AWS Lambda Best Practices: Python, Scheduled Job...AWS October Webinar Series - AWS Lambda Best Practices: Python, Scheduled Job...
AWS October Webinar Series - AWS Lambda Best Practices: Python, Scheduled Job...
 
AWS Lambda Functions A Comprehensive Guide
AWS Lambda Functions A Comprehensive GuideAWS Lambda Functions A Comprehensive Guide
AWS Lambda Functions A Comprehensive Guide
 
AWS Lambda Tutorial
AWS Lambda TutorialAWS Lambda Tutorial
AWS Lambda Tutorial
 
An introduction to serverless architectures (February 2017)
An introduction to serverless architectures (February 2017)An introduction to serverless architectures (February 2017)
An introduction to serverless architectures (February 2017)
 
Adopting Java for the Serverless world at JUG Hamburg
Adopting Java for the Serverless world at  JUG HamburgAdopting Java for the Serverless world at  JUG Hamburg
Adopting Java for the Serverless world at JUG Hamburg
 
Introduction to AWS lambda & Serverless Application1.pptx
Introduction to AWS lambda & Serverless Application1.pptxIntroduction to AWS lambda & Serverless Application1.pptx
Introduction to AWS lambda & Serverless Application1.pptx
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless Cloud
 
Building serverless apps with Node.js
Building serverless apps with Node.jsBuilding serverless apps with Node.js
Building serverless apps with Node.js
 
A Walk in the Cloud with AWS Lambda
A Walk in the Cloud with AWS LambdaA Walk in the Cloud with AWS Lambda
A Walk in the Cloud with AWS Lambda
 
Getting Started with AWS Lambda & Serverless Cloud
Getting Started with AWS Lambda & Serverless CloudGetting Started with AWS Lambda & Serverless Cloud
Getting Started with AWS Lambda & Serverless Cloud
 
Developing and deploying serverless applications (February 2017)
Developing and deploying serverless applications (February 2017)Developing and deploying serverless applications (February 2017)
Developing and deploying serverless applications (February 2017)
 
Eliminate repetitive work by using AWS Serverless Application Repository
Eliminate repetitive work by using AWS Serverless Application RepositoryEliminate repetitive work by using AWS Serverless Application Repository
Eliminate repetitive work by using AWS Serverless Application Repository
 
Deep Dive on Serverless Stack
Deep Dive on Serverless StackDeep Dive on Serverless Stack
Deep Dive on Serverless Stack
 
Adapting Java for the Serverless World at JUG Barcelona
Adapting Java for the Serverless World at JUG BarcelonaAdapting Java for the Serverless World at JUG Barcelona
Adapting Java for the Serverless World at JUG Barcelona
 
Serverless architectures-with-aws-lambda
Serverless architectures-with-aws-lambdaServerless architectures-with-aws-lambda
Serverless architectures-with-aws-lambda
 
AWS Lambda in infrastructure
AWS Lambda in infrastructureAWS Lambda in infrastructure
AWS Lambda in infrastructure
 
Serverless Frameworks on AWS
Serverless Frameworks on AWSServerless Frameworks on AWS
Serverless Frameworks on AWS
 
Adopting Java for the Serverless world at Serverless Meetup Italy
Adopting Java for the Serverless world at Serverless Meetup ItalyAdopting Java for the Serverless world at Serverless Meetup Italy
Adopting Java for the Serverless world at Serverless Meetup Italy
 

More from Ortus Solutions, Corp

Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI
Ortus Solutions, Corp
 
How we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hoursHow we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hours
Ortus Solutions, Corp
 
Migrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS CloudMigrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS Cloud
Ortus Solutions, Corp
 
BoxLang Developer Tooling: VSCode Extension and Debugger
BoxLang Developer Tooling: VSCode Extension and DebuggerBoxLang Developer Tooling: VSCode Extension and Debugger
BoxLang Developer Tooling: VSCode Extension and Debugger
Ortus Solutions, Corp
 
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
Ortus Solutions, Corp
 
Web Hosting with CommandBox and CommandBox Pro
Web Hosting with CommandBox and CommandBox ProWeb Hosting with CommandBox and CommandBox Pro
Web Hosting with CommandBox and CommandBox Pro
Ortus Solutions, Corp
 
Revolutionizing Task Scheduling in ColdBox
Revolutionizing Task Scheduling in ColdBoxRevolutionizing Task Scheduling in ColdBox
Revolutionizing Task Scheduling in ColdBox
Ortus Solutions, Corp
 
Disk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFSDisk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFS
Ortus Solutions, Corp
 
How to Break Your App with Playwright Tests
How to Break Your App with Playwright TestsHow to Break Your App with Playwright Tests
How to Break Your App with Playwright Tests
Ortus Solutions, Corp
 
Securing Your Application with Passkeys and cbSecurity
Securing Your Application with Passkeys and cbSecuritySecuring Your Application with Passkeys and cbSecurity
Securing Your Application with Passkeys and cbSecurity
Ortus Solutions, Corp
 
Schrodinger’s Backup: Is Your Backup Really a Backup?
Schrodinger’s Backup: Is Your Backup Really a Backup?Schrodinger’s Backup: Is Your Backup Really a Backup?
Schrodinger’s Backup: Is Your Backup Really a Backup?
Ortus Solutions, Corp
 
Design system: The basis for a consistent design
Design system: The basis for a consistent designDesign system: The basis for a consistent design
Design system: The basis for a consistent design
Ortus Solutions, Corp
 
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
Ortus Solutions, Corp
 
How to Make a Living as a (ColdFusion) Freelancer?
How to Make a Living as a (ColdFusion) Freelancer?How to Make a Living as a (ColdFusion) Freelancer?
How to Make a Living as a (ColdFusion) Freelancer?
Ortus Solutions, Corp
 
What’s New in ContentBox 6 by Ortus Solutions.pdf
What’s New in ContentBox 6 by Ortus Solutions.pdfWhat’s New in ContentBox 6 by Ortus Solutions.pdf
What’s New in ContentBox 6 by Ortus Solutions.pdf
Ortus Solutions, Corp
 
cbq - Jobs and Tasks in the Background by Ortus
cbq - Jobs and Tasks in the Background by Ortuscbq - Jobs and Tasks in the Background by Ortus
cbq - Jobs and Tasks in the Background by Ortus
Ortus Solutions, Corp
 
Demonstrating Monitoring Solutions for CF and Lucee
Demonstrating Monitoring Solutions for CF and LuceeDemonstrating Monitoring Solutions for CF and Lucee
Demonstrating Monitoring Solutions for CF and Lucee
Ortus Solutions, Corp
 
Ortus Solutions - Headless Content for the Win!
Ortus Solutions - Headless Content for the Win!Ortus Solutions - Headless Content for the Win!
Ortus Solutions - Headless Content for the Win!
Ortus Solutions, Corp
 
Build a Complex Web Form with RuleBox and TestBox
Build a Complex Web Form with RuleBox and TestBoxBuild a Complex Web Form with RuleBox and TestBox
Build a Complex Web Form with RuleBox and TestBox
Ortus Solutions, Corp
 
Reactive CFML with CBWIRE v4 by Ortus Solutions
Reactive CFML with CBWIRE v4 by Ortus SolutionsReactive CFML with CBWIRE v4 by Ortus Solutions
Reactive CFML with CBWIRE v4 by Ortus Solutions
Ortus Solutions, Corp
 

More from Ortus Solutions, Corp (20)

Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI
 
How we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hoursHow we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hours
 
Migrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS CloudMigrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS Cloud
 
BoxLang Developer Tooling: VSCode Extension and Debugger
BoxLang Developer Tooling: VSCode Extension and DebuggerBoxLang Developer Tooling: VSCode Extension and Debugger
BoxLang Developer Tooling: VSCode Extension and Debugger
 
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
 
Web Hosting with CommandBox and CommandBox Pro
Web Hosting with CommandBox and CommandBox ProWeb Hosting with CommandBox and CommandBox Pro
Web Hosting with CommandBox and CommandBox Pro
 
Revolutionizing Task Scheduling in ColdBox
Revolutionizing Task Scheduling in ColdBoxRevolutionizing Task Scheduling in ColdBox
Revolutionizing Task Scheduling in ColdBox
 
Disk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFSDisk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFS
 
How to Break Your App with Playwright Tests
How to Break Your App with Playwright TestsHow to Break Your App with Playwright Tests
How to Break Your App with Playwright Tests
 
Securing Your Application with Passkeys and cbSecurity
Securing Your Application with Passkeys and cbSecuritySecuring Your Application with Passkeys and cbSecurity
Securing Your Application with Passkeys and cbSecurity
 
Schrodinger’s Backup: Is Your Backup Really a Backup?
Schrodinger’s Backup: Is Your Backup Really a Backup?Schrodinger’s Backup: Is Your Backup Really a Backup?
Schrodinger’s Backup: Is Your Backup Really a Backup?
 
Design system: The basis for a consistent design
Design system: The basis for a consistent designDesign system: The basis for a consistent design
Design system: The basis for a consistent design
 
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
 
How to Make a Living as a (ColdFusion) Freelancer?
How to Make a Living as a (ColdFusion) Freelancer?How to Make a Living as a (ColdFusion) Freelancer?
How to Make a Living as a (ColdFusion) Freelancer?
 
What’s New in ContentBox 6 by Ortus Solutions.pdf
What’s New in ContentBox 6 by Ortus Solutions.pdfWhat’s New in ContentBox 6 by Ortus Solutions.pdf
What’s New in ContentBox 6 by Ortus Solutions.pdf
 
cbq - Jobs and Tasks in the Background by Ortus
cbq - Jobs and Tasks in the Background by Ortuscbq - Jobs and Tasks in the Background by Ortus
cbq - Jobs and Tasks in the Background by Ortus
 
Demonstrating Monitoring Solutions for CF and Lucee
Demonstrating Monitoring Solutions for CF and LuceeDemonstrating Monitoring Solutions for CF and Lucee
Demonstrating Monitoring Solutions for CF and Lucee
 
Ortus Solutions - Headless Content for the Win!
Ortus Solutions - Headless Content for the Win!Ortus Solutions - Headless Content for the Win!
Ortus Solutions - Headless Content for the Win!
 
Build a Complex Web Form with RuleBox and TestBox
Build a Complex Web Form with RuleBox and TestBoxBuild a Complex Web Form with RuleBox and TestBox
Build a Complex Web Form with RuleBox and TestBox
 
Reactive CFML with CBWIRE v4 by Ortus Solutions
Reactive CFML with CBWIRE v4 by Ortus SolutionsReactive CFML with CBWIRE v4 by Ortus Solutions
Reactive CFML with CBWIRE v4 by Ortus Solutions
 

Recently uploaded

ThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and DjangoThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and Django
akshesh doshi
 
Google ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learningGoogle ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learning
VishrutGoyani1
 
Folding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a seriesFolding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a series
Philip Schwarz
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdfAWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
karim wahed
 
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
Semiosis Software Private Limited
 
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
ThousandEyes
 
React Native vs Flutter - SSTech System
React Native vs Flutter  - SSTech SystemReact Native vs Flutter  - SSTech System
React Native vs Flutter - SSTech System
SSTech System
 
ENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentationENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentation
sofiafernandezon
 
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Asher Sterkin
 
NYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdfNYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdf
AUGNYC
 
Cultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational TransformationCultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational Transformation
Mindfire Solution
 
MVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptxMVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptx
Mitchell Marsh
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
karim wahed
 
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTIONBITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
ssuser2b426d1
 
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
bhatinidhi2001
 
Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)
miso_uam
 
Overview of ERP - Mechlin Technologies.pptx
Overview of ERP - Mechlin Technologies.pptxOverview of ERP - Mechlin Technologies.pptx
Overview of ERP - Mechlin Technologies.pptx
Mitchell Marsh
 
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptxAddressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Sparity1
 
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdfResponsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Trackobit
 
Safe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work PermitsSafe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work Permits
sheqnetworkmarketing
 

Recently uploaded (20)

ThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and DjangoThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and Django
 
Google ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learningGoogle ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learning
 
Folding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a seriesFolding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a series
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdfAWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
 
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
 
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
 
React Native vs Flutter - SSTech System
React Native vs Flutter  - SSTech SystemReact Native vs Flutter  - SSTech System
React Native vs Flutter - SSTech System
 
ENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentationENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentation
 
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
 
NYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdfNYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdf
 
Cultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational TransformationCultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational Transformation
 
MVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptxMVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptx
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
 
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTIONBITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
 
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
 
Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)
 
Overview of ERP - Mechlin Technologies.pptx
Overview of ERP - Mechlin Technologies.pptxOverview of ERP - Mechlin Technologies.pptx
Overview of ERP - Mechlin Technologies.pptx
 
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptxAddressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
 
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdfResponsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
 
Safe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work PermitsSafe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work Permits
 

Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered by BoxLang

  • 1. ROOM A PRESENTED BY GAVIN PICKIN Building Scalable Serverless Event-Driven Computing with AWS Lambda powered by INTO THE BOX 2024
  • 2. GAVIN PICKIN SPEAKER AT ITB 2024 • Software Consultant for Ortus • Work with ColdBox, CommandBox, ContentBox APIs and VueJS every day! • Working with Coldfusion since 1999 - V4 • Love learning and sharing the lessons learned • From New Zealand, live in Bakersfield, Ca • Loving wife, lots of kids, and countless critters
  • 3. AWS Lambda? INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
  • 4. Why AWS Lambda? INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang AWS Lambda is a compute service that runs your code in response to events and automatically manages the compute resources, making it the fastest way to turn an idea into a modern, production, serverless applications. https://aws.amazon.com/lambda/
  • 5. What is Serverless? INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang ● Most people refer to Lambda a “serverless” programming model. ● Serverless doesn’t mean that there are no servers involved. ● There are always servers involved. https://aws.amazon.com/lambda/
  • 6. What is Serverless? INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang ● You just don’t see them ● You don’t manage them ● You can login and touch them. ● You write code for a specific runtime ● Deploy it to the serverless environment. ● Lambda takes care of everything else, including scalability and core security. https://aws.amazon.com/lambda/
  • 7. Benefits of Lambda ● No need for managing servers ● Automatic scaling ● Pay-as-you-go pricing ● Performance optimization INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang https://aws.amazon.com/lambda/
  • 8. Features of AWS Lambda? ● Extend other AWS services with custom logic ● Build custom backend services ● Bring your own code ● Completely automated administration ● Built-in fault tolerance ● Package and deploy functions as container images ● Automatic scaling ● Connect to relational databases ● Fine-grained control over performance ● Connect to shared file systems INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang https://aws.amazon.com/lambda/features/
  • 9. Features of AWS Lambda? ● Run code in response to Amazon CloudFront requests ● Orchestrate multiple functions ● Integrated security model ● Trust and integrity controls ● Only pay for what you use ● Flexible resource model ● Integrate Lambda with your favorite operational tools ● Achieve up to 34% better price performance with functions powered by Graviton2 ● Monitoring and observability INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang https://aws.amazon.com/lambda/features/
  • 10. Use Cases for Lambda ● Quickly process data at scale ● Run interactive web and mobile backends ● Enable powerful ML insights ● Create event-driven applications INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang https://aws.amazon.com/lambda/features/
  • 11. Lambda - Pricing INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang https://aws.amazon.com/lambda/pricing/
  • 12. Getting started with BoxLang AWS Lambdas INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang https://boxlang.ortusbooks.com/getting-started/installation/binaries
  • 13. Getting started with BoxLang AWS Lambdas This repository contains the AWS Lambda Runtime for the BoxLang language. This runtime allows you to run BoxLang code in AWS Lambda functions. The runtime is built using the AWS Lambda Custom Runtime API and the BoxLang interpreter. INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang https://github.com/ortus-boxlang/boxlang-aws-lambda
  • 14. BoxLang AWS Lambda - Usage To use it, you need to create a Lambda function and specify Java 21 as the runtime. The class that executes your BoxLang code is ortus.boxlang.runtime.aws.LambdaRunner. By convention it will execute a Lambda.bx file in the root (/var/task/Lambda.bx) of the Lambda function, via the run() method. INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang https://github.com/ortus-boxlang/boxlang-aws-lambda
  • 15. BoxLang AWS Lambda - Usage Method Signature: INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang https://github.com/ortus-boxlang/boxlang-aws-lambda // Lambda.bx class{ function run( event, context, response ){ // Your code here } }
  • 16. BoxLang AWS Lambda - Run Arguments Run Arguments INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang https://github.com/ortus-boxlang/boxlang-aws-lambda ● The event parameter is the event data that is passed to the Lambda function as a Struct. ● The context parameter is the context object that is passed to the Lambda function. This matches the AWS Lambda context object: com.amazonaws.services.lambda.runtime.Context. ● The response parameter is the response object that is passed to the Lambda function.
  • 17. BoxLang AWS Lambda - Response Struct INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang https://github.com/ortus-boxlang/boxlang-aws-lambda The response object is a Struct that you can use to set the response data. The response object has the following keys: ● statusCode : The HTTP status code for the response. ● headers : A Struct of headers to send in the response. ● body : The body of the response, which can be anything. The BoxLang lambda runner will return the response object as the response to the Lambda function as a JSON object.
  • 18. BoxLang AWS Lambda - Testing Locally INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang https://github.com/ortus-boxlang/boxlang-aws-lambda Build gradle shadowJar gradle buildMainZip
  • 19. BoxLang AWS Lambda - Testing Locally INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html The AWS Serverless Application Model (AWS SAM) is a toolkit that improves the developer experience of building and running serverless applications on AWS. Requires: Docker running
  • 20. BoxLang AWS Lambda - AWS SAM benefits: INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html ● Define your application infrastructure code quickly, using less code ● Manage your serverless applications through their entire development lifecycle ● Quickly provision permissions between resources with AWS SAM connectors ● Continuously sync local changes to the cloud as you develop ● Manage your Terraform serverless applications
  • 21. Invoking Lambda Locally with Sample Data INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang sam local invoke bxFunction --event=workbench/sampleEvents/api.json sam local invoke bxFunction --event=workbench/sampleEvents/event.json
  • 22. Invoking Lambda Locally with Debug Mode INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang sam local invoke bxFunction --event=workbench/sampleEvents/api.json --debug sam local invoke bxFunction --event=workbench/sampleEvents/event.json --debug
  • 23. Custom Lambda Function INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang If you don't want to use the convention of Lambda.bx then you can setup an environment variable called: BOXLANG_LAMBDA_CLASS with the full path to the BoxLang class that will execute your code. The class must have a run() method that matches the signature above.
  • 24. Custom Lambda Function INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang If you don't want to use the convention of Lambda.bx then you can setup an environment variable called: BOXLANG_LAMBDA_CLASS with the full path to the BoxLang class that will execute your code. The class must have a run() method that matches the signature above.
  • 25. Debugging your Lambda Function INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang You can enable debug mode by setting the environment variable BOXLANG_LAMBDA_DEBUG to true. This will output debug information to the Lambda logs.
  • 26. INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang // Lambda.bx class{ function run( event, context, response ){ // response.statusCode = 200; set by default response.headers = { "Content-Type" : "text/plain" }; response.body = "Hello World"; } } Hello World
  • 27. INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang However, if you don't even want to deal with the response struct, you can just use a return and whatever you return will be placed for you in the response.body. // Lambda.bx class{ function run( event, context ){ return "Hello World"; } } Skip the response object
  • 28. INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang However, if you don't even want to deal with the response struct, you can just use a return and whatever you return will be placed for you in the response.body. // Lambda.bx class{ function run( event, context ){ return "Hello World"; } } Skip the response object
  • 29. INTO THE BOX 2024 SUBTITLE - IF NEEDED Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang
  • 30. INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang In order to deploy your function to AWS Lambda, you need to package the runtime and your BoxLang code into a zip file. The zip file should contain the following structure: + Lambda.bx /lib + boxlang-aws-lambda-1.0.0-all.jar Packaging your BoxLang Lambda
  • 31. INTO THE BOX 2024 Building Scalable Serverless Event-Driven Computing with AWS Lambda - powered by BoxLang ● Brian Klaas - the CFML AWS Guy Great AWS Content including NodeJS Lambdas, StepFunctions and much more https://brianklaas.net/ ● Interesting Links
  • 32. INTO THE BOX 2024 THANK YOU TO OUR SPONSORS INTO THE BOX 2024