Explore how to build scalable, serverless event-driven applications using AWS Lambda powered by BoxLang. This session dives into leveraging Lambda's capabilities to handle event-driven computing efficiently. Whether new to serverless architecture or looking to enhance your skills, join us to learn practical insights and techniques for optimizing application performance and scalability.
Report
Share
Report
Share
1 of 32
Download to read offline
More Related Content
Similar to Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered by BoxLang
Serveless design patterns (VoxxedDays Luxembourg)Yan Cui
Serverless technologies like AWS Lambda has drastically simplified the task of building reactive systems - drop a file into S3 and a Lambda function would be triggered to process it, push an event into a Kinesis stream and magically it'll be processed by a Lambda function in real-time, you can even use Lambda to automate the process of auditing and securing your AWS account by automatically reacting to rule violations to your security policy.
Join us in this talk to see some architectural design patterns that have emerged with AWS Lambda, and learn how to pick the right event source based on the tradeoffs you want. Amongst the many patterns we'll explore, here are a few to whet your appetite : pub-sub, cron, push-pull, saga and decoupled invocation.
With AWS Lambda, you can easily build scalable microservices for mobile, web, and IoT applications or respond to events from other AWS services without managing infrastructure. In this session, you’ll see demonstrations and hear more about newly launched features. We’ll show you how to use Lambda to build web, mobile, or IoT backends and voice-enabled apps, and we'll show you how to extend both AWS and third party services by triggering Lambda functions. We’ll also provide productivity and performance tips for getting the most out of your Lambda functions and show how cloud native architectures use Lambda to eliminate “cold servers” and excess capacity without sacrificing scalability or responsiveness.
AWS October Webinar Series - AWS Lambda Best Practices: Python, Scheduled Job...Amazon Web Services
AWS Lambda lets you run code without provisioning or managing servers. We have introduced a few new features this year at re:Invent and would like to share with you some of the best practices.
This webinar will introduce you to scheduled AWS Lambda functions and how to use long running functions to handle large volume data ingestion and processing jobs. We will demonstrate how to use versioning to control which Lambda function version is being executed in your development, testing, and production environments. We will also show you how to run your Python code in AWS Lambda.
AWS Lambda allows developers to run code without managing servers. It is a serverless computing platform that automatically scales compute capacity based on incoming requests or events. The guide discusses key Lambda concepts like triggers, execution environments, and function versions. It also provides steps to create a sample "Hello World" function using Java, including setting up development environments, deploying the function, and testing. In summary, AWS Lambda is a flexible and cost-effective option for building applications with varying workloads.
This document provides a tutorial on AWS Lambda. It begins by defining AWS Lambda as a computing service that runs code without servers. It then lists key features like custom logic integration, fault tolerance, RDS proxy support, provisioned concurrency, and Step Functions workflow support. The document outlines the steps to create, upload, and invoke an AWS Lambda function using the Eclipse toolkit, including creating a project, uploading the code to AWS, and invoking the function to display output. It concludes by recommending AWS Lambda for executing application/function codes and providing an informative guide.
An introduction to serverless architectures (February 2017)Julien SIMON
An introduction to serverless
AWS Lambda
Amazon API Gateway
Demo: writing your first Lambda function
Demo: building a serverless pipeline
Additional resources
Adopting Java for the Serverless world at JUG HamburgVadym Kazulkin
Java is for many years one of the most popular programming languages, but it used to have hard times in the Serverless Community. Java is known for its high cold start times and high memory footprint. For both you have to pay to the cloud providers of your choice. That's why most developers tried to avoid using Java for such use cases. But the times change: Community and cloud providers improve things steadily for Java developers. In this talk we look at the features and possibilities AWS cloud provider offers for the Java developers and look the most popular Java frameworks, like Micronaut, Quarkus and Spring (Boot) and look how (AOT compiler and GraalVM native images play a huge role) they address Serverless challenges and enable Java for broad usage in the Serverless world.
Introduction to AWS lambda & Serverless Application1.pptxMohammed Shefeeq
AWS lambda is a serverless computing platform that allows developers to create and deploy applications without provisioning or managing servers.
It was released in November 2014. The service runs code in response to events, such as API calls or page views, and automatically manages the compute resources required by that code, scaling up or down in response to demand.
In this PPT we will cover the basics of AWS lambda and how it can be used for building serverless applications.
We will also take a look at the tools needed for creating and testing AWS lambda-based applications.
AWS SAM is a tool for developing serverless applications on AWS. It helps you create and deploy functions that are triggered by events such as HTTP requests, Amazon S3 bucket events, DynamoDB table events, or other AWS services.
We will also cover Building and deploying a hello world using SAM in this section
This document summarizes a presentation given at the AWS London Summit in July 2016 about getting started with AWS Lambda and serverless computing. It discusses what serverless computing is and how it differs from virtual machines and containers. It also outlines some common use cases for AWS Lambda like data processing, backend services, and gluing systems together. The presentation covers topics like how to choose between Lambda, EC2, and ECS, recent updates to Lambda, best practices for using Lambda with VPC, and a customer case study from Parallax about building serverless applications.
This document summarizes serverless computing using AWS Lambda. It discusses how AWS Lambda allows developers to deploy code without managing infrastructure. Various frameworks are presented that simplify development and deployment of serverless applications using AWS Lambda, including the Serverless framework, Gordon, and the new AWS Serverless Application Model (SAM). Serverless architectures with AWS Lambda provide scalability and pay-per-use pricing for event-driven applications.
This presentation is from the AWS Lambda session of Container Days Conference in NYC. AWS Lambda is a new compute service that runs your code in response to events and automatically and dynamically manages infra resources for you. Tara will talk about AWS's event-driven compute strategy and explain how Lambda works to respond to events from various Amazon services.
Tara will describe what you need to easily build scalable microservices for mobile, web, and IoT applications that use AWS Lambda as a serverless back-end, how you can expose these services using Amazon API Gateway, and how to extend both AWS and third party services by triggering Lambda functions. She'll also cover the updated Lambda features announced at reInvent 2015, its programming model, and tips on getting the most out of Lambda.
Getting Started with AWS Lambda & Serverless CloudIan Massingham
This document provides an overview of serverless computing using AWS Lambda. It defines serverless computing as running code without servers by paying only for the compute time consumed. AWS Lambda allows triggering functions from events or APIs which makes it easy to build scalable back-ends, perform data processing, and integrate systems. Recent updates include support for Python, scheduled functions, VPC access, and versioning. The document demonstrates using Lambda for building serverless web apps and microservices.
Developing and deploying serverless applications (February 2017)Julien SIMON
- The document discusses developments and tools for serverless applications on AWS Lambda. It begins with an overview of new Lambda features like environment variables and Step Functions for orchestrating Lambda functions.
- Several serverless frameworks are demonstrated, including the Serverless Framework, Gordon, and Chalice, which simplify developing and deploying Lambda functions and event sources.
- The AWS Serverless Application Model (SAM) is presented as a way to bundle Lambda functions, APIs, and events using CloudFormation for simplified deployment. Additional resources on Lambda are also listed.
Eliminate repetitive work by using AWS Serverless Application RepositoryIgor Soroka
These days it is crucial to be conscious of the time spent on setting up the AWS accounts. AWS Serverless Application Repository is a way to deploy parametrized applications written with AWS SAM. However, AWS CDK proved that everything is a code now. So I will show how to unite the tools to deploy and publish the application, potentially saving thousands of hours for the development teams. With Serverless Application Repository, SAM, and CDK, one could set up monitoring and alert for different applications situated in a multi-account environment. I will show how it helped one of my clients save monotonous work hours.
This document provides an overview of serverless applications and how to build one. It discusses what serverless means, common use cases, how to bundle and deploy code, continuous integration and delivery, versioning, monitoring, and more. Specific AWS services for building serverless applications are also covered, including AWS Lambda, API Gateway, DynamoDB, S3, CloudFormation, CodeBuild, CodePipeline, X-Ray and CloudWatch.
Adapting Java for the Serverless World at JUG BarcelonaVadym Kazulkin
Java is since many years one of the most popular programming languages, but it used to have hard times in the Serverless Community. Java is known for it high cold start times and high memory footprint. For both you have to pay to the cloud providers of your choice. That's why most developers tried to avoid using Java for such use cases. But the times change: Community and cloud providers improve things steadily to for Java developers. In this talk we look at the features and possibilities AWS cloud provider offers for the Java developers and look the most popular Java frameworks, like Micronaut, Quarkus and Spring Boot and look how (AOT compiler and GraalVM native images play a huge role) they address Serverless challenges and enable Java for broad usage in the Serverless world. I will also take the perspective of the Java developer of the AWS Cloud to show how to make use of this concepts to write perfomant Java functions with AWS Lambda
The document provides an overview and best practices for building serverless applications with AWS Lambda. It defines serverless as applications that don't require managing servers. AWS Lambda is introduced as a serverless compute service that runs code in response to events. The document covers Lambda function code, event sources, and configuration. It then discusses best practices for serverless architectures, development, and sample architectures. Serverless allows focusing on business logic rather than server management and enables automatic scaling.
AWS Lambda allows you to run code in response to events, extend AWS services with custom logic, and build serverless backends that operate at scale. With AWS Lambda, you write code, upload it to AWS Lambda, bind it to events from services like S3, DynamoDB, or SNS, and it will run automatically in response. At Contentful, AWS Lambda is used to automatically invalidate CloudFront caches when files in S3 buckets are updated, and to render templates when configuration files are updated in S3. These use cases require only 70 lines of code. AWS Lambda represents a shift from running programs in the cloud to programming the cloud.
This document discusses serverless frameworks on AWS like AWS Lambda, the Serverless framework, Gordon, and AWS Chalice. It provides an overview of each tool and code samples to define and deploy Lambda functions from the command line or within the frameworks. Various options are presented for developing, testing, and deploying serverless applications locally and to AWS.
Adopting Java for the Serverless world at Serverless Meetup ItalyVadym Kazulkin
Java is for many years one of the most popular programming languages, but it used to have hard times in the Serverless Community. Java is known for its high cold start times and high memory footprint. For both you have to pay to the cloud providers of your choice. That's why most developers tried to avoid using Java for such use cases. But the times change: Community and cloud providers improve things steadily for Java developers. In this talk we look at the features and possibilities AWS cloud provider offers for the Java developers and look the most popular Java frameworks, like Micronaut, Quarkus and Spring (Boot) and look how (AOT compiler and GraalVM native images play a huge role) they address Serverless challenges and enable Java for broad usage in the Serverless world.
Similar to Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered by BoxLang (20)
Sami provided a beginner-friendly introduction to Amazon Web Services (AWS), covering essential terms, products, and services for cloud deployment. Participants explored AWS' latest Gen AI offerings, making it accessible for those starting their cloud journey or integrating AI into coding practices.
Explore the rapid development journey of TryBoxLang, completed in just 48 hours. This session delves into the innovative process behind creating TryBoxLang, a platform designed to showcase the capabilities of BoxLang by Ortus Solutions. Discover the challenges, strategies, and outcomes of this accelerated development effort, highlighting how TryBoxLang provides a practical introduction to BoxLang's features and benefits.
Are you wondering how to migrate to the Cloud? At the ITB session, we addressed the challenge of managing multiple ColdFusion licenses and AWS EC2 instances. Discover how you can consolidate with just one EC2 instance capable of running over 50 apps using CommandBox ColdFusion. This solution supports both ColdFusion flavors and includes cb-websites, a GoLang binary for managing CommandBox websites.
Discover BoxLang, the innovative JVM programming language developed by Ortus Solutions. Designed to harness the power of the Java Virtual Machine, BoxLang offers a modern approach to application development with robust performance and scalability. Join us as we explore the capabilities of BoxLang, its syntax, and how it enhances productivity in software development.
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...Ortus Solutions, Corp
Unlock the secrets of seamless ColdFusion error troubleshooting! Join us to explore the potent capabilities of Visual Studio Code (VS Code) and ColdFusion Builder (CF Builder) in debugging. This hands-on session guides you through practical techniques tailored for local setups, ensuring a smooth and efficient development experience.
CommandBox was highlighted as a powerful web hosting solution, perfect for developers and businesses alike. Featuring a built-in server and command-line interface, CommandBox simplified web application management. Developers could deploy multiple application instances simultaneously, optimizing development workflows. CommandBox's efficient deployment processes ensured reliable web hosting, seamlessly integrating into existing workflows for scalability and feature enhancements.
Join me for an insightful journey into task scheduling within the ColdBox framework. In this session, we explored how to effortlessly create and manage scheduled tasks directly in your code, enhancing control and efficiency in applications and modules. Attendees experienced a user-friendly dashboard for seamless task management and monitoring. Whether you're experienced with ColdBox or new to it, this session provided practical knowledge and tips to streamline your development workflow.
In this session, we explored how the cbfs module empowers developers to abstract and manage file systems seamlessly across their lifecycle. From local development to S3 deployment and customized media providers requiring authentication, cbfs offers flexible solutions. We discussed how cbfs simplifies file handling with enhanced workflow efficiency compared to native methods, along with practical tips to accelerate complex file operations in your projects.
In this session, we explored setting up Playwright, an end-to-end testing tool for simulating browser interactions and running TestBox tests. Participants learned to configure Playwright for applications, simulate user interactions to stress-test forms, and handle scenarios like taking screenshots, recording sessions, capturing Chrome dev tools traces, testing login failures, and managing broken JavaScript. The session also covered using Playwright with non-ColdBox sites, providing practical insights into enhancing testing capabilities.
Discover Passkeys, the next evolution in secure login methods that eliminate traditional password vulnerabilities. Learn about the CBSecurity Passkeys module's installation, configuration, and integration into your application to enhance security.
In this session, we discussed the critical need for comprehensive backups across all aspects of our industry—from code and databases to webservers, file servers, and network configurations. Emphasizing the importance of proactive measures, attendees were urged to ensure their backup systems were tested through restoration processes. The session underscored the risk of discovering backup issues only during crises, highlighting the necessity of verifying backup integrity through restoration tests.
Participants explored how visual and functional coherence strengthened brand identity and streamlined development in this session. They learned to maintain consistency across platforms and enhance user experiences using Design Systems. Ideal for brand designers, UI/UX designers, developers, and product managers who sought to optimize efficiency and ensure consistency across projects.
Explore the latest in ColdBox Debugger v4.2.0, featuring the Hyper Collector for HTTP/S request tracking, Lucee SQL Collector for query profiling, and Heap Dump Support for memory leak debugging. Enhancements like the revamped Request Dock and improved SQL/JSON formatting streamline debugging for optimal ColdBox application performance and stability. Ideal for developers familiar with ColdBox, this session focuses on leveraging advanced debugging tools to enhance development efficiency.
Thinking about freelancing? It's not just about coding solo and avoiding coworkers. Join me as I share insights from my 15-year freelance journey, covering everything from managing invoices to client communication styles. This session blends ColdFusion-specific tips with general freelance and consulting advice, with time for audience Q&A.
Content templates, CBFS, Redirects, and Coldbox 7, oh my! ContentBox 6 is the game-changing new release for the ContentBox CMS platform. In this session, we'll discuss all of the new goodness added in the release, as well as show the many ways in which your single or multi-site ContentBox instance just became more powerful and flexible.
Almost every application has tasks or jobs that are better suited to the background, and cbqmakes it easier and traceable to manage those jobs. cbq can scale from simple background tasks to a database to any message queue provider. Come learn how to get started with background tasks in your application.
Building on his 2021 ITB presentation, "Monitoring Solutions for CF and Lucee," Charlie now focuses on practical demonstrations of these tools. Discover key observations and metrics for troubleshooting, tuning, and receiving alerts. Gain insights into the evolution of these tools since the last talk, drawn from Charlie's extensive experience assisting users with server, container, and CommandBox environments.
we delve into the power of headless CMS—a versatile solution separating content creation from presentation. Explore its benefits: multi-channel delivery, accelerated time-to-market, content reusability, scalability, technology flexibility, and enhanced security. Discover how headless CMS transforms digital content management, empowering efficient and flexible content delivery across diverse platforms.
Learn to manage your web form's question flow with RuleBox in this session. Simplify complex conditional statements by structuring logic in a readable and testable Given-When-Then format. Discussion covers prototyping tips, writing test cases, integrating external data, and managing multiple form versions with a single set of rules. Ideal for ColdFusion web developers exploring TestBox and/or RuleBox, with a demo featuring ColdBox and cborm, though not required.
In this session, developers explored CBWIRE, a ColdBox module that simplifies modern, reactive CFML app development without JavaScript frameworks like Vue or React. Attendees learned its usage, benefits, and the new features introduced in CBWIRE version 4, designed based on community feedback. The session catered to developers familiar with ColdBox and CFML, offering practical insights and guidance for leveraging CBWIRE effectively in their projects.
React and Next.js are complementary tools in web development. React, a JavaScript library, specializes in building user interfaces with its component-based architecture and efficient state management. Next.js extends React by providing server-side rendering, routing, and other utilities, making it ideal for building SEO-friendly, high-performance web applications.
React Native vs Flutter - SSTech SystemSSTech System
Your project needs and long-term objectives will ultimately choose which of React Native and Flutter to use. For applications using JavaScript and current web technologies in particular, React Native is a mature and trustworthy choice. For projects that value performance and customizability across many platforms, Flutter, on the other hand, provides outstanding performance and a unified UI development experience.
Cultural Shifts: Embracing DevOps for Organizational TransformationMindfire Solution
Mindfire Solutions specializes in DevOps services, facilitating digital transformation through streamlined software development and operational efficiency. Their expertise enhances collaboration, accelerates delivery cycles, and ensures scalability using cloud-native technologies. Mindfire Solutions empowers businesses to innovate rapidly and maintain competitive advantage in dynamic market landscapes.
An MVP (Minimum Viable Product) mobile application is a streamlined version of a mobile app that includes only the core features necessary to address the primary needs of its users. The purpose of an MVP is to validate the app concept with minimal resources, gather user feedback, and identify any areas for improvement before investing in a full-scale development. This approach allows businesses to quickly launch their app, test its market viability, and make data-driven decisions for future enhancements, ensuring a higher likelihood of success and user satisfaction.
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.bhatinidhi2001
CViewSurvey is a SaaS-based Web & Mobile application that provides digital transformation to traditional paper surveys and feedback for customer & employee experience, field & market research that helps you evaluate your customer's as well as employee's loyalty.
With our unique C.A.A.G. Collect, Analysis, Act & Grow approach; business & industry’s can create customized surveys on web, publish on app to collect unlimited response & review AI backed real-time data analytics on mobile & tablets anytime, anywhere. Data collected when offline is securely stored in the device, which syncs to the cloud server when connected to any network.
Software development... for all? (keynote at ICSOFT'2024)miso_uam
Our world runs on software. It governs all major aspects of our life. It is an enabler for research and innovation, and is critical for business competitivity. Traditional software engineering techniques have achieved high effectiveness, but still may fall short on delivering software at the accelerated pace and with the increasing quality that future scenarios will require.
To attack this issue, some software paradigms raise the automation of software development via higher levels of abstraction through domain-specific languages (e.g., in model-driven engineering) and empowering non-professional developers with the possibility to build their own software (e.g., in low-code development approaches). In a software-demanding world, this is an attractive possibility, and perhaps -- paraphrasing Andy Warhol -- "in the future, everyone will be a developer for 15 minutes". However, to make this possible, methods are required to tweak languages to their context of use (crucial given the diversity of backgrounds and purposes), and the assistance to developers throughout the development process (especially critical for non-professionals).
In this keynote talk at ICSOFT'2024 I presented enabling techniques for this vision, supporting the creation of families of domain-specific languages, their adaptation to the usage context; and the augmentation of low-code environments with assistants and recommender systems to guide developers (professional or not) in the development process.
Overview of ERP - Mechlin Technologies.pptxMitchell Marsh
This PowerPoint presentation provides a comprehensive overview of Enterprise Resource Planning (ERP) systems. It covers the fundamental concepts, benefits, and key functionalities of ERP software, illustrating how it integrates various business processes into a unified system. From finance and HR to supply chain and customer relationship management, ERP facilitates efficient data management and decision-making across organizations. Whether you're new to ERP or looking to deepen your understanding, this presentation offers valuable insights into leveraging ERP for business success.
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdfTrackobit
What do fleet managers do? What are their duties, responsibilities, and challenges? And what makes a fleet manager effective and successful? This blog answers all these questions.
Efficient hot work permit software for safe, streamlined work permit management and compliance. Enhance safety today. Contact us on +353 214536034.
https://sheqnetwork.com/work-permit/
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