AutoSpotting
aws-lambda-extensions
Our great sponsors
AutoSpotting | aws-lambda-extensions | |
---|---|---|
10 | 5 | |
2,281 | 422 | |
0.8% | 2.1% | |
3.9 | 5.6 | |
10 months ago | 25 days ago | |
Go | Go | |
OpenSSL License | MIT No Attribution |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
AutoSpotting
-
Farewell to the Era of Cheap EC2 Spot Instances
There's a service that handles obtaining the cheapest spot instances to your specs by a former aws engineer https://github.com/LeanerCloud/AutoSpotting
Effectively, it starts up cheap spot instances (based on specified criteria) across a variety of instance types to replace whatever regular instance in an autoscaling group comes online and then spins down the regular instance.
EG: That m4a you wanted may be expensive... but nobody is using m4ad so it's 85% off and it meets the specified CPU/RAM requirements... auto spotting will spin it up instead.
Having used it on and off over the years it is sometimes eyebrow raising to see 4xl boxes running cheaper than the xl box they replaced :)
-
Using ChatGPT to write a chrome extension as my first non trivial web development project
I've been heavily using ChatGPT on my autospotting.io software, where it 3-5x my productivity, releasing in 6 weeks more improvements than in the previous 6 months combined: https://github.com/LeanerCloud/AutoSpotting/discussions/489
-
Show HN: I built a service to help companies reduce AWS spend by 50%
Relevant: https://github.com/cloudutil/AutoSpotting
I've seen some third party services that automate migration to / replacement with spot instances, but haven't used them yet personally.
Going serverless, in many places, has been the most effective cost optimization for me.
- Configuring ASG to spin up spot instances first but fall back to on-demand?
- Autospotting on AWS
-
Ec2instances.info now has Spot pricing information, is there anything else you'd like to see?
I've also been maintaining a Golang library that essentially exposes the same data structure used under the hood by ec2instances.info as a Golang data structure, which is very convenient for embedding into other tools that can do lots of things with this raw data, like I do it in my AutoSpotting project.
-
Is there any way for an ASG to automatically failover from Spot Instances to on-demand instances?
I think autospotting can do this.
-
AWS Compute Savings Plan for Dev Environment
https://github.com/AutoSpotting/AutoSpotting is an interesting project that might help you with implementing this. It will automatically swap-out on-demand instances for spot and auto-restart as on-demand if spot capacity disappears.
-
Bare-Metal Kubernetes with K3s
we scale up to about 100 machines. We use spot instances EXTENSIVELY. And that configuration was tricky actually. Its been a couple of months now. Works pretty ok.
k3s is actually pretty simple to use now. the tricky part was to integrate with https://github.com/kubernetes/cloud-provider-aws and https://github.com/DirectXMan12/k8s-prometheus-adapter
The hardest part is to get it to work with spot instances. we use https://github.com/AutoSpotting/AutoSpotting to integrate with it.
aws-lambda-extensions
-
Lambda Extension with Golang
This should look familiar to this AWS Repository. I'm still personally exploring more of how I can customize and instrument some of this code, but the extension is registered and ready for use by this function.
- Can I run gRPC between two binaries in a lambda function?
-
Building an AWS Lambda Telemetry API extension for direct logging to Grafana Loki
There are some extension examples github. I am using go-example-telemetry-api-extension as a starting point. You can see the code in my Lambda-Telemetry-API-Loki repository.
-
How do I write to a different log stream from lambda?
You can't send some of your lambda logs to one log group and some to another without directly invoking the sdk, which you probably don't want to do. Maybe someone has created some lambda layer to handle this, but not one that I know of. I see people have tried to get fluent bit to work in lambda with mixed results https://github.com/aws-samples/aws-lambda-extensions/pull/42.
-
Understanding the Lambda Logs API
For even more inspiration related to the Logs API, checkout the AWS-provided samples. Some examples include batching the logs and delivering them to S3 or a template to get you started.
What are some alternatives?
ec2instances.info - Amazon EC2 instance comparison site
cloudfront-autoindex - AWS Lambda to work around index.html S3/CloudFront mess
amazon-ec2-instance-selector - A CLI tool and go library which recommends instance types based on resource criteria like vcpus and memory
aws-embedded-metrics-golang - Go implementation of AWS CloudWatch Embedded Metric Format
osv - OSv, a new operating system for the cloud.
fx - A Function as a Service tool makes a function as a container-based service in seconds.
metalk8s - An opinionated Kubernetes distribution with a focus on long-term on-prem deployments
lambda-extension-cache
kubernetes - ArgoCD-based configuration for the OCF Kubernetes cluster
rattlesnakeos-stack - Build your own privacy and security focused Android OS in the cloud.
ec2-macos-init - EC2 macOS Init is the launch daemon used to initialize Mac instances within EC2.
Lambda-Telemetry-API-Loki - Extension to write AWS Lambda logs directly to Grafana Loki