Blossom Logo Deploy your apps with Heroku-like simplicity using Blossom See Your Savings
BoltOps Logo

Lambda

Category: Lambda

All posts about Lambda.

Serverless Slack Commands with Ruby: Fun with AWS Image Recognition header image

Serverless Slack Commands with Ruby: Fun with AWS Image Recognition

Axel Molina Axel Molina · February 02, 2021 · 11 min read
This post will detail the steps to get a serverless slack command running on AWS Lambda using the Jets Serverless Ruby framework. We’ll make something fun: a command that takes in a URL, scrapes all the images on the page, filters the images using AWS image recognition, and posts the filtered images to the current slack channel. For example:
Read more →
Introducing Serverless Gems header image

Introducing Serverless Gems

Tung Nguyen Tung Nguyen · January 07, 2021 · 2 min read
Originally called Lambda Gems, Serverless Gems has been rebuilt from the ground up. It provides better support for multiple versions of Ruby, notable Ruby 2.7. Jets v3 uses Serverless Gems for a developer-friendly experience.
Read more →
CloudWatch Log Tips: Jets AWS Introduction Series Part 5 header image

CloudWatch Log Tips: Jets AWS Introduction Series Part 5

Tung Nguyen Tung Nguyen · July 03, 2020 · 1 min read
In this video, we’ll go over some CloudWatch Log tips. These tips will be useful for someone new to CloudWatch logs and show you how to use CloudWatch logs effectively. The biggest tip here is to click on the “Search” button immediately after clicking on a Log Group. Don’t bother clicking on individual streams and trying to find the exact AWS Lambda function.
Read more →
CloudWatch Event Rules and AWS Lambda with Ruby on Jets header image

CloudWatch Event Rules and AWS Lambda with Ruby on Jets

Tung Nguyen Tung Nguyen · June 17, 2019 · 2 min read
In this video tutorial, we’ll cover CloudWatch Event Rules and how to connect them up to AWS Lambda Functions with Ruby on Jets. We’ll explain what CloudWatch Event Rules are. Then we’ll build a Jets project from scratch with the rule_event declaration. We’ll deploy the application and test the rule event. We’ll show you how simple it is to get started with Ruby on Jets and CloudWatch Event Rules.
Read more →
SNS Events and AWS Lambda with Ruby on Jets header image

SNS Events and AWS Lambda with Ruby on Jets

Tung Nguyen Tung Nguyen · February 27, 2019 · 1 min read
In this video tutorial, we’ll cover SNS Events and how to connect them up to AWS Lambda Functions with Ruby on Jets. We’ll explain what SNS Event are. Then we’ll build a Jets project from scratch with the sns_event declaration. We’ll deploy the application and test the SNS event. We’ll show you how simple it is to get started with Ruby on Jets and SNS Events.
Read more →
S3 Events and AWS Lambda with Ruby on Jets header image

S3 Events and AWS Lambda with Ruby on Jets

Tung Nguyen Tung Nguyen · February 22, 2019 · 2 min read
In this video tutorial, we’ll cover S3 Events and how to connect them up to AWS Lambda Functions with Ruby on Jets. We’ll explain what S3 Events are. We’ll discuss the design approach that Jets took by adding an SNS topic to the flow. Then we’ll build a Jets project from scratch with the s3_event declaration. We’ll deploy the application and test the s3 event. We’ll show you how simple it is to get started with Ruby on Jets and S3 Events.
Read more →
IoT Button Events and AWS Lambda with Ruby on Jets header image

IoT Button Events and AWS Lambda with Ruby on Jets

Tung Nguyen Tung Nguyen · February 20, 2019 · 2 min read
In this video tutorial, we’ll cover IoT Events and how to connect them up to AWS Lambda Functions with Ruby on Jets. We’ll explain what IoT Events are and then build a Jets project from scratch and add a Jets iot_event declaration. We’ll use a real physical AWS IoT Button and have the button send a text message to a phone. We’ll show you how simple it is to get started with Jets and IoT Event rules.
Read more →
Hello World Examples: Jets AWS Introduction Series Part 4 header image

Hello World Examples: Jets AWS Introduction Series Part 4

Tung Nguyen Tung Nguyen · February 11, 2019 · 1 min read
In this video, we’ll create several hello world examples with Jets code. We’ll create a simple function, controller function, and a job function. We’ll also walk through the Lambda console and test each one by invoking it. This post is a part of an introductory series for people who are new to AWS Lambda and Serverless.
Read more →
CloudWatch Event Rule: Jets AWS Introduction Series Part 3 header image

CloudWatch Event Rule: Jets AWS Introduction Series Part 3

Tung Nguyen Tung Nguyen · February 06, 2019 · 1 min read
In this video, we’ll walk through creating a CloudWatch Event Rule with the CloudWatch console. Simply getting familiar with the CloudWatch console is a really good way to learn how simple it is for those who are new to CloudWatch and are trying it out for the first time. We talk about how a Jets Job essentially creates the CloudWatch even rule for you. This post is a part of an introductory series for people who are new to CloudWatch, AWS Lambda, and Serverless.
Read more →
API Gateway: Jets AWS Introduction Series Part 2 header image

API Gateway: Jets AWS Introduction Series Part 2

Tung Nguyen Tung Nguyen · February 05, 2019 · 1 min read
In this video, we’ll walk through creating an API Gateway REST API from scratch manually. Just getting familiar with the API Gateway console is an excellent way to learn how simple it is for those who are new to API Gateway and trying it out for the first time. We talk a little bit about Jets and how config/routes.rb essentially maps to API Gateway resources, but the focus is really on API Gateway console. This simple exercise will help understand what Jets does for you. This post is a part of an introductory series for people who are new to API Gateway and Serverless.
Read more →
AWS Lambda Function: Jets AWS Introduction Series Part 1 header image

AWS Lambda Function: Jets AWS Introduction Series Part 1

Tung Nguyen Tung Nguyen · February 04, 2019 · 2 min read
In this video, we’ll walk through creating a Lambda Function with the Lambda console. Simply getting familiar with the AWS Lambda console is an excellent way to learn how simple AWS Lambda is for those who are new to AWS Lambda and trying it out for the first time. We do not talk much about Jets in this video, but this simple Lambda Console exercise will help understand what Jets does for you. This post is a part of an introductory series for people who are new to AWS Lambda and Serverless.
Read more →
Serverless Ruby Cron Jobs Tutorial: Route53 Backup header image

Serverless Ruby Cron Jobs Tutorial: Route53 Backup

Tung Nguyen Tung Nguyen · January 03, 2019 · 6 min read
A great use case for AWS Lambda is running Cron Jobs. Instead of setting up a special one-off Cron server to run a simple task, we can just run the task on serverless nowadays. In this blog post, we’ll go over how to build a simple Cron Job with Jets, the Ruby Serverless Framework. As a useful practical example, we’ll create a job that backs up route53 records. This is quite handy when if you ever need it!
Read more →
Introducing Lambda Gems: Hassle-Free Serverless Ruby header image

Introducing Lambda Gems: Hassle-Free Serverless Ruby

Tung Nguyen Tung Nguyen · January 01, 2019 · 5 min read
I created Jets, the Ruby Serverless Framework, over a year ago – way before AWS officially released Ruby Support for AWS Lambda. Although it would have been nice to have official Ruby support back then, it was all for the best because I was forced to learn a lot about AWS Lambda and Serverless in general – its strengths, weaknesses, and the challenges that one typically encounters.
Read more →
Jets Image Upload Carrierwave Tutorial: Binary Support header image

Jets Image Upload Carrierwave Tutorial: Binary Support

Tung Nguyen Tung Nguyen · December 13, 2018 · 8 min read
Jets, a Ruby Serverless Framework, makes use of API Gateway Binary Support to make uploading images and files from AWS Lambda a straightforward task. We’ll cover how to upload images or any file with Jets and Carrierwave in this tutorial guide. Note, please use Jets v1.3.1 and above for this tutorial guide as the jets new generator was updated for it. Here’s the Live Demo of this tutorial. The full source code is on Github: tongueroo/jets-example-upload.
Read more →
Official AWS Ruby Support for Jets Serverless Framework header image

Official AWS Ruby Support for Jets Serverless Framework

Tung Nguyen Tung Nguyen · December 12, 2018 · 6 min read
Ever since AWS released official Ruby support for AWS Lambda on Nov 29 at re:Invent, I’ve been super excited about switching Jets over to the official AWS version of Ruby. Happy to say that Jets is now on the official AWS Ruby runtime. Knew it was going to be interesting to learn about AWS Lambda Custom Runtimes and Lambda Layers as part of this Jets update.
Read more →
Jets Tutorial: jets delete header image

Jets Tutorial: jets delete

Tung Nguyen Tung Nguyen · November 12, 2018 · 2 min read
This video tutorial demos the jets delete command. Since all the infrastructure is codified, deleting a Jets application is a straightforward process. What’s more interesting is that it is also easy to recreate the entire environment. jets delete For more info on the jets delete command, refer to its CLI reference.
Read more →
Rails on AWS Lambda: jets import:rails --submodule header image

Rails on AWS Lambda: jets import:rails --submodule

Tung Nguyen Tung Nguyen · November 09, 2018 · 2 min read
Update 12/21/2018: An improved way to run Rails on AWS Lambda is now supported that is effortless. This blog post covers it: Jets Afterburner: Serverless Rails on AWS Lambda in 5 Minutes. It is also documented here: Jets Rails Support. It is recommended you use Jets Afterburner for simple cases. In the previous post: Jets Mega Mode: Run Rails on AWS Lambda, I covered how to get Rails running on AWS Lambda with Jets. In this video tutorial, I show you how to use the --submodule option for the same command we used to set things up previously: jets import:rails. Example: jets import:rails http://github.com/tongueroo/demo-rails.git --submodule Importing the Rails application as a submodule allows you to keep the Rails project in a separate repo. This allows you to manage the Rails project with a separate history and sync it with a Jets project when you want to. This is a useful setup if you are testing Jets Mega Mode Rails Support for an extended period of time.
Read more →
Jets Mega Mode: Run Rails on AWS Lambda header image

Jets Mega Mode: Run Rails on AWS Lambda

Tung Nguyen Tung Nguyen · November 03, 2018 · 10 min read
Update 12/21/2018: An improved way to run Rails on AWS Lambda is now supported that is effortless. This blog post covers it: Jets Afterburner: Serverless Rails on AWS Lambda in 5 Minutes. It is also documented here: Jets Rails Support. It is recommended you use Jets Afterburner for simple cases. Jets allows you to run Rails applications on AWS Lambda via Mega Mode. The name reminds me of a few things: Mega Monolith: Rails applications can sometimes become a Majestic Monolith. Or sometimes it just becomes a Monolith 😁 Power Rangers Mega Mode: The Power Rangers can combine their Zords. Mega Man: This superhero can change his arm to use different special weapons. One of the things that makes him Mega Man. Mega Mode combines a Jets app and a Rack app together to allow you to run Rails on AWS Lambda with little effort. The docs for Rails Support are on the Ruby On Jets site. Here’s a Live Mega Mode Demo. We’ll go through an example of Mega Mode and get a Rails application running on AWS Lambda in this post.
Read more →
Jets Simple AWS Lambda Ruby Function header image

Jets Simple AWS Lambda Ruby Function

Tung Nguyen Tung Nguyen · October 26, 2018 · 2 min read
Jets supports writing simple AWS Lambda functions with Ruby. You define them in the app/functions folder. A function looks like this: app/functions/simple.rb: def lambda_handler(event:, context:) puts "hello world" end
Read more →
Continuous Compliance: AWS Config Rules Introduction header image

Continuous Compliance: AWS Config Rules Introduction

Tung Nguyen Tung Nguyen · September 28, 2018 · 3 min read
AWS is one of the greatest things since sliced bread. It empowers engineers to get things done quickly by enabling them to take control of the steering wheel and drive. With a simple AWS account, engineers can create resources, update security groups, and deploy their applications in rapid-fire fashion. The ease and power of AWS might make it seem like a security nightmare, but it’s actually the opposite. AWS provides the tools and controls to ensure everyone is following best practices, allows to you achieve a hardened security posture, and take compliance to a level that was never even thought possible before AWS: continuously.
Read more →
Jets Tutorial Polymorphic Support Part 9:  AWS Lambda Ruby header image

Jets Tutorial Polymorphic Support Part 9: AWS Lambda Ruby

Tung Nguyen Tung Nguyen · September 27, 2018 · 2 min read
In this video tutorial, we cover Jets Polymorphic Support Ability. Jets allows you to write Lambda functions not just in Ruby but also in other languages like Node and Python. This can be useful if you have pre-existing Lambda code. You can re-use the code and and move on with life.
Read more →
Jets Tutorial Different Environments Part 8: AWS Lambda Ruby header image

Jets Tutorial Different Environments Part 8: AWS Lambda Ruby

Tung Nguyen Tung Nguyen · September 26, 2018 · 2 min read
In this video, we continue the tutorials on the Jets Ruby Serverless Framework that adds Ruby support to AWS Lambda. We talk about the difference between Jets extra vs different environments. Different environments refer to development, staging, uat, production environments. Extra environments refer to instances of each of those environments. For example, development-1, development-2, development-3, etc.
Read more →
Toronto Serverless Presentation: Jets Framework on AWS Lambda header image

Toronto Serverless Presentation: Jets Framework on AWS Lambda

Tung Nguyen Tung Nguyen · September 25, 2018 · 2 min read
Here’s the presentation I gave at the Serverless Meetup in Toronto on Jets: A Ruby Serverless Framework. We discuss how Ruby support at native speed was achieved. We learned a bit about how AWS Lambda works under the hood to understand how it works. 2 demos with a Jets application are also provide. We deploy it to Lambda with a single command.
Read more →
Jets Tutorial Extra Environments Part 7:  AWS Lambda Ruby header image

Jets Tutorial Extra Environments Part 7: AWS Lambda Ruby

Tung Nguyen Tung Nguyen · September 13, 2018 · 2 min read
In this video, we continue the tutorials on the Jets Ruby Serverless Framework that adds Ruby support to AWS Lambda. We talk about a Jets concept called extra environments. With one environment variable JETS_ENV_EXTRA, we can create as many additional instances of environments as we wish. This helps when multiple people are asking to use the development, staging, or uat environment but cannot because it is currently used by someone else or another feature. Usually, you end up having to wait until the environment free. With this Jets concept you can create as many environments as required.
Read more →
Jets Tutorial Function Properties Part 6: AWS Lambda Ruby header image

Jets Tutorial Function Properties Part 6: AWS Lambda Ruby

Tung Nguyen Tung Nguyen · September 12, 2018 · 2 min read
In this video, we continue the tutorials on the Jets Ruby Serverless Framework that adds Ruby support to AWS Lambda. We’ll demonstrate how to customize the properties associated with the Lambda functions that Jets creates. There are 3 ways to set function properties with Jets: at the function level, class level or application level. We’ll also explore the AWS Lambda console and shows how the Lambda function properties connect with Jets.
Read more →
Jets Tutorial IAM Policies Part 5: AWS Lambda Ruby header image

Jets Tutorial IAM Policies Part 5: AWS Lambda Ruby

Tung Nguyen Tung Nguyen · September 11, 2018 · 2 min read
In this video, we continue the tutorials on the Jets Ruby Serverless Framework that adds Ruby support to AWS Lambda. We’ll demonstrate how to customize the IAM policies and roles associated with Jets Lambda functions. IAM policies are important because they handle securing access to your AWS resources so it’s worth learning them. Jets provides you with fine-grain control over the IAM permissions at the function, class, and application level.
Read more →
Jets Tutorial Background Jobs Part 4: AWS Lambda Ruby header image

Jets Tutorial Background Jobs Part 4: AWS Lambda Ruby

Tung Nguyen Tung Nguyen · September 10, 2018 · 2 min read
In this video, we continue the tutorials on the Jets Ruby Serverless Framework that adds Ruby support to AWS Lambda. We’ll cover background jobs in this video. Using background jobs is a typical pattern that offloads processing outside of the web request-response cycle. Users will not wait for web pages to load if it takes too long, so background jobs are an excellent technique to keep slower work outside of the request cycle.
Read more →
Jets Tutorial Debugging Logs Part 3: AWS Lambda Ruby header image

Jets Tutorial Debugging Logs Part 3: AWS Lambda Ruby

Tung Nguyen Tung Nguyen · September 09, 2018 · 2 min read
In this video, we continue the tutorials on the Jets Ruby Serverless Framework that adds Ruby support to AWS Lambda. We’ll cover something that is pretty important to know as a software developer: debugging. With Jets it’s pretty straightforward to look at the debugging logs both locally and remotely. Locally, the logs show up with the local running server. Remotely, the logs show up in CloudWatch Logs: available both on the AWS CloudWatch Logs console and the AWS Lambda console.
Read more →
Jets Tutorial Deploy to AWS Lambda Part 2: AWS Lambda Ruby header image

Jets Tutorial Deploy to AWS Lambda Part 2: AWS Lambda Ruby

Tung Nguyen Tung Nguyen · September 08, 2018 · 2 min read
In this video tutorial, we continue how to get to started with the Jets Ruby Serverless Framework that adds Ruby support to AWS Lambda. We’ll explore the AWS Lambda Console and API Gateway to show how the AWS resources map back to Jets application code.
Read more →
Jets Tutorial An Introductory CRUD App Part 1: AWS Lambda Ruby header image

Jets Tutorial An Introductory CRUD App Part 1: AWS Lambda Ruby

Tung Nguyen Tung Nguyen · September 07, 2018 · 2 min read
In this video tutorial, we cover how get to started with the Jets Ruby Serverless Framework that adds Ruby support to AWS Lambda. We’ll build the quintessential CRUD application, and more we’ll importantly explore and edit it to understand how it works. Here’s the link to the Live CRUD Demo.
Read more →
AWS Lambda Ruby Support at Native Speed with Jets header image

AWS Lambda Ruby Support at Native Speed with Jets

Tung Nguyen Tung Nguyen · September 02, 2018 · 5 min read
Update 2018/12/12: Official Ruby Support was announced at AWS re:Invent 2018 on Nov 29! Jets has switched over to it: Official AWS Ruby Support for Jets 🎉. This article is now out-of-date and kept around only for posterity. AWS Lambda does not yet support Ruby. Though there are plenty of rumors that AWS is working on it. I’m pretty excited for the day when AWS releases official support for Ruby. Until that day arrives though, we must use a shim in order to add Ruby support to AWS Lambda. A shim is a function written in a natively AWS Lambda supported language that calls out to Ruby. Jets uses a node shim to add Ruby support to AWS Lambda. The neat thing is that Jets adds Ruby support to AWS Lambda at pretty much native speed.
Read more →
Introducing Jets: The Ruby Serverless Framework header image

Introducing Jets: The Ruby Serverless Framework

Tung Nguyen Tung Nguyen · August 18, 2018 · 9 min read
Update 2018/12/12: Official Ruby Support was announced at AWS re:Invent 2018 on Nov 29! Jets has switched over to it: Official AWS Ruby Support for Jets 🎉. This article has been updated to reflect official Ruby support, but video in the post is out-of-date and will be updated in time. Ruby on Jets is a framework that allows you to build serverless applications in a beautiful language: Ruby. It includes everything needed to build and deploy applications to AWS Lambda. I love working with Rails, Ruby and AWS; and wanted to work with something similar in the serverless world. So I built Jets. It is key to understand AWS Lambda and API Gateway to understand Jets conceptually. Jets maps your code to Lambda functions and API Gateway resources. AWS Lambda provides Functions as a Service. It allows you to upload and run functions without worrying about the underlying infrastructure. API Gateway is the routing layer for Lambda. It is used to route REST URL endpoints to Lambda functions.
Read more →
Blossom Logo
Deploy Your Apps with Ease

Blossom lets you deploy to your own servers with Heroku-like simplicity. Connect any cloud provider and we'll handle the rest. Save time and money with Blossom.

BoltOps Blog
Join a group of good-looking folks who get free email updates from BoltOps.