Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AWS Lambda vs AWS step function

I am designing an application for which input is a large text file (size ranges from 1-30 GB) uploaded to S3 bucket every 15 min. It splits the file into n no of small ones and copy these files to 3 different S3 buckets in 3 different aws regions. Then 3 loader applications read these n files from respective s3 buckets and load the data into respective aerospike cluster.

I am thinking to use AWS lambda function to split the file as well as to load the data. I recently came across AWS step function which can also serve the purpose based on what I read. I am not sure which one to go with and which will be cheaper in terms of pricing. Any help is appreciated.

Thanks in advance!

like image 647
dhamu Avatar asked Jan 09 '19 22:01

dhamu


People also ask

What is difference between AWS Lambda and Step Functions?

Step Functions is a serverless orchestration service that lets you easily coordinate multiple Lambda functions into flexible workflows that are easy to debug and easy to change. Step Functions will keep your Lambda functions free of additional logic by triggering and tracking each step of your application for you.

What is a benefit of leveraging AWS Step Functions with AWS Lambda?

With AWS Step Functions' visual workflow interface, developers can easily add, move, swap, and reorder Lambda functions without having to make changes to existing business logic. This abstraction makes it incredibly easy to improve application performance without adding new code.

Can Lambda invoke step function?

Services that you can configure to invoke Step Functions include: AWS Lambda, using the StartExecution call. Amazon API Gateway. Amazon EventBridge.

What is AWS Step Functions?

AWS Step Functions is a low-code, visual workflow service that developers use to build distributed applications, automate IT and business processes, and build data and machine learning pipelines using AWS services.


1 Answers

Lambda and Step functions are like floors and steps to each floor. You cannot replace one with another.

Lambda is computing, steps functions take them to the desired step.

Youtube video explains very well: https://www.youtube.com/watch?v=Dh7h3lkpeP4

To the analogy again, you can have multiple computes (lambda) in a single floor before you pass it on the next floor.

One of the example is as shown below.

Usecase: https://john.soban.ski/transcribe-customer-service-voicemails-and-alert-on-keywords.html

enter image description here

Hope it helps.

like image 136
Kannaiyan Avatar answered Sep 26 '22 20:09

Kannaiyan