GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - ryfeus/stepfunctions2processing: Configuration with AWS step functions and lambdas which initiates processing from activity state

BranchesTags
Open more actions menu

Latest commit

 

History

33 Commits
33 Commits

Folders and files

NameName
Last commit message
Last commit date
aws-batch-with-profiler
aws-batch-with-profiler
 
 
aws-batch
aws-batch
 
 
aws-deep-learning-training
aws-deep-learning-training
 
 
aws-fargate
aws-fargate
 
 
aws-lambda
aws-lambda
 
 
aws-sagemaker-example
aws-sagemaker-example
 
 
aws-sagemaker
aws-sagemaker
 
 
aws-serverless-for-deep-learning-first-steps-workshop
aws-serverless-for-deep-learning-first-steps-workshop
 
 
deep-learning-inference
deep-learning-inference
 
 
deep-learning-training-cpu
deep-learning-training-cpu
 
 
deep-learning-training-gpu
deep-learning-training-gpu
 
 
docker-training-cpu
docker-training-cpu
 
 
docker-training-gpu
docker-training-gpu
 
 
docker
docker
 
 
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 

Repository files navigation

stepfunctions2processing

Configuration with AWS step functions and lambdas which initiates processing from activity state

Motivation

Currently AWS Step Function service provides the best way to unite together serverless processing and cluster processing. Serverless processing can be extremely useful for the cases when you need to have a very good scalability or cheap processing. But for the long or CPU heavy processing you may still need to use cluster. The current version of step function expects cluster (except for ECS and Batch) to make requests to the Step Function activity. For clusters with extremely expensive machines it may not be the best way for handling so this project allows to transform activity state into active processing trigger. Examples here also include AWS Batch and AWS Fargate

TL;DR: Project allows to initiate processing from AWS Step function instead of making state requests towards it.

Examples

AWS Lambda example

Scheme

Image

  1. Step function process starts and input data is provided to lambda
  2. Lambda processes data and produces json output which is then given to the activity.
  3. Checker lambda makes regular requests to the activity in case activity is in "ActivityScheduled" state.
  4. Activty returns token and input json.
  5. Checker lambda initiates processing lambda which takes token and input json as input.
  6. Processing lambda conducts processing part and return token and output json to activity.
  7. Step functions provides output json from the activity as output

AWS Fargate example

How to deploy

  1. Push docker image into ECR (https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html)
  2. Update serverless.yml with image name and instance parameters
  3. Install and configure serverless (https://serverless.com/framework/docs/providers/aws/guide/installation/)
  4. Install plugins serverless-step-functions and serverless-pseudo-parameters
  5. Run serverless deploy

Scheme

Image

AWS Batch example

How to deploy

  1. Push docker image into ECR (https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html)
  2. Update serverless.yml with image name and instance parameters
  3. Install and configure serverless (https://serverless.com/framework/docs/providers/aws/guide/installation/)
  4. Install plugins serverless-step-functions and serverless-pseudo-parameters
  5. Run serverless deploy

Scheme

Image

Tools

Project utilises serverless framework with plugin for step functions for orchestration and deployment of the application.

References

  • https://github.com/nathanpeck/aws-cloudformation-fargate
  • https://gist.github.com/lizrice/5889f33511aab739d873cb622688317e

Next steps

  • Add AWS Batch processing example
  • Add AWS Fargate processing example
  • Create example for deep learning/machine learning training processes

About

Configuration with AWS step functions and lambdas which initiates processing from activity state

Topics

awsaws-batchaws-fargatebatchfargatelambdaprocessingserverlessserverless-processingstepfunctionsworkflow

Resources

Readme
MIT license
Activity

Stars

118 stars

Watchers

5 watching

Forks

29 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.