All Projects → mattymoomoo → Aws Power Tuner Ui

mattymoomoo / Aws Power Tuner Ui

Licence: apache-2.0
AWS Lambda Power Tuner UI is an open source project creating a deployable easy to use website built on a layered technology stack allowing you to optimize your Lambda functions for cost and/or performance in a data-driven way via an easy to use UI.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Aws Power Tuner Ui

Aws Lambda Power Tuning
AWS Lambda Power Tuning is an open-source tool that can help you visualize and fine-tune the memory/power configuration of Lambda functions. It runs in your own AWS account - powered by AWS Step Functions - and it supports three optimization strategies: cost, speed, and balanced.
Stars: ✭ 3,040 (+5746.15%)
Mutual labels:  aws, serverless, aws-lambda, state-machine, cost, performance
Up
Up focuses on deploying "vanilla" HTTP servers so there's nothing new to learn, just develop with your favorite existing frameworks such as Express, Koa, Django, Golang net/http or others.
Stars: ✭ 8,439 (+16128.85%)
Mutual labels:  api-gateway, aws, serverless, aws-lambda
Claudia
Deploy Node.js projects to AWS Lambda and API Gateway easily
Stars: ✭ 3,690 (+6996.15%)
Mutual labels:  api-gateway, aws, serverless, aws-lambda
Aws Serverless Java Container
A Java wrapper to run Spring, Jersey, Spark, and other apps inside AWS Lambda.
Stars: ✭ 1,054 (+1926.92%)
Mutual labels:  api-gateway, aws, serverless, aws-lambda
Serverless Architectures Aws
The code repository for the Serverless Architectures on AWS book
Stars: ✭ 120 (+130.77%)
Mutual labels:  api-gateway, aws, serverless, aws-lambda
Serverless Next.js
⚡ Deploy your Next.js apps on AWS Lambda@Edge via Serverless Components
Stars: ✭ 2,977 (+5625%)
Mutual labels:  api-gateway, aws, serverless, aws-lambda
Serverless Es Logs
A Serverless plugin to transport logs to ElasticSearch
Stars: ✭ 51 (-1.92%)
Mutual labels:  api-gateway, aws, serverless, aws-lambda
Serverless Aws Alias
Alias support for Serverless 1.x
Stars: ✭ 171 (+228.85%)
Mutual labels:  api-gateway, aws, serverless, aws-lambda
Mangum
AWS Lambda & API Gateway support for ASGI
Stars: ✭ 475 (+813.46%)
Mutual labels:  api-gateway, aws, serverless, aws-lambda
Cloudmagick
CloudMagick is a serverless application which provides a dynamic image transformation like the small light module of apache2
Stars: ✭ 11 (-78.85%)
Mutual labels:  aws, serverless, aws-lambda
Step Functions Demo
This is a demo project, created as a part of the blog post. The project uses serverless for deployments.
Stars: ✭ 15 (-71.15%)
Mutual labels:  aws, serverless, aws-lambda
Serverless Export Env
Serverless plugin to export environment variables into a .env file
Stars: ✭ 51 (-1.92%)
Mutual labels:  aws, serverless, aws-lambda
Lamb
monitoring tool for better visibility when developing AWS Lambda functions
Stars: ✭ 11 (-78.85%)
Mutual labels:  aws, serverless, aws-lambda
Serverless Python Requirements
⚡️🐍📦 Serverless plugin to bundle Python packages
Stars: ✭ 838 (+1511.54%)
Mutual labels:  aws, serverless, aws-lambda
Lambda Api
Lightweight web framework for your serverless applications
Stars: ✭ 929 (+1686.54%)
Mutual labels:  api-gateway, serverless, aws-lambda
Workshop Donkeytracker
Workshop to build a serverless tracking application for your mobile device with an AWS backend
Stars: ✭ 27 (-48.08%)
Mutual labels:  api-gateway, aws, serverless
Lambda Packs
Precompiled packages for AWS Lambda
Stars: ✭ 997 (+1817.31%)
Mutual labels:  aws, serverless, aws-lambda
Aws Lambda Workshop
Some incremental examples suitable to host an AWS Lambda Functions workshop
Stars: ✭ 18 (-65.38%)
Mutual labels:  aws, serverless, aws-lambda
Aws Auto Terminate Idle Emr
AWS Auto Terminate Idle AWS EMR Clusters Framework is an AWS based solution using AWS CloudWatch and AWS Lambda using a Python script that is using Boto3 to terminate AWS EMR clusters that have been idle for a specified period of time.
Stars: ✭ 21 (-59.62%)
Mutual labels:  aws, serverless, aws-lambda
Terraform Nextjs Plugin
A plugin to generate terraform configuration for Nextjs 8 and 9
Stars: ✭ 41 (-21.15%)
Mutual labels:  api-gateway, aws, serverless

AWS Lambda Power Tuner UI

GitHub license Maintenance GitHub issues Open Source Love svg2

AWS Lambda Power Tuner UI is a deployable easy to use website built on a layered technology stack allowing you to optimize your Lambda functions for cost and/or performance in a data-driven way.

By using a user interface instead of worrying about IAM users, CLI commands, Amazon API Gateway etc, developers can run Lambda power tuning much easier and more consistently in a matter of seconds.

Read about how this project started on medium

Website

Once deployed into your AWS account, developers need to know only the ARN of the lambda and tweak the various settings to their own liking and simply click Start power tuner.

The foundation uses Alex Casalboni's Lambda Power Tuning state machine powered by AWS Step Functions.

This solution abstracts away the implementation of the tuner through the simplicity of AWS CDK and lowers the barrier of entry to this essential activity

How do you deploy and run the website in your AWS account?

You can deploy the solution to your AWS account using the following easy steps:

Git clone and install node modules

Clone down the repo and install the modules in both folders

git clone https://github.com/mattymoomoo/aws-power-tuner-ui.git

cd aws-power-tuner-ui/website
npm install

cd ../cdk
npm install

Deploy tuning infrastructure

Run the following command in the cdk directory to deploy the infrastructure:

npm run deploy-infra

Note: This will create a folder called website-output which is required for the website infrastructure and deploy the tuning infrastructure.

Once the infrastructure is deployed, the Amazon API Gateway endpoint will be made available as a CDK stack output:

Outputs:

NAME = https://UNIQUE_ID.execute-api.REGION.amazonaws.com/development

Copy this value and update the apiGatewayBaseUrl prod (without ending slash) environment variable within the website/src/environments/environment.prod.ts file. This will tell the angular app where to execute the power tuner:

export const environment = {
  apiGatewayBaseUrl: 'https://UNIQUE_ID.execute-api.REGION.amazonaws.com/development',
  production: true,
};

Once the endpoint is updated in the prod environment file, build the website to create the static files to be used for deployment:

Note: Make sure to run the below command in the website/ directory

npm run build

Deploy the website infrastructure

Once the website is built, run the following command in the cdk directory to deploy the website infrastructure:

If you have never deployed a CDK app to your AWS account, you need to first deploy static assets:

# Replace ACCOUNT_ID with your account ID, REGION with the region you're working in
npm run cdk bootstrap aws://ACCOUNT_ID/REGION

If you don't run this, the deploy-website operation below will report the error

PowerTunerWebsiteStack failed: Error: This stack uses assets, so the toolkit stack must be deployed to the environment

npm run deploy-website

And that is it ... you will now have a deployed website which the url will be visible in the stack output which can communicate with the deployed infrastructure.

Once deployed into your AWS account, developers need to know only the ARN of the lambda and tweak the various settings to their own liking and simply click Start power tuner:

Website

The tuner will generate a visualisation of average cost and speed for each power configuration using Matteo's tool and shows the recommended memory based on the selected strategy including average cost & duration.

Visualisation

Extra: Do you need an example Lambda function to run?

An example Hello Lambda function has been included for you to test out the tuner to verify all the parts are connected and working as expected.

To deploy the Lambda function, simple run inside the cdk directory:

npm run deploy-lambda

You can now grab the ARN of the deployed Lambda function and run the tuner.

What does the deployed architecture look like?

The architecture is as follows:

  • Angular 9 website fronted via Amazon CloudFront & Amazon S3
  • Amazon API Gateway using direct integrations to AWS Step functions
  • Alex Casalboni's Power Tuning State Machine

Architecture

Contribution

Feature requests and pull requests are more than welcome!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].