cloudcycle
libaws
cloudcycle | libaws | |
---|---|---|
1 | 58 | |
0 | 445 | |
- | - | |
7.1 | 7.7 | |
7 months ago | about 2 months ago | |
Go | Go | |
Apache License 2.0 | MIT License |
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.
cloudcycle
libaws
-
Golang – when programmers had smaller egos
i used to write code like this[1]. now i write code like this[2].
mostly what changed is the way i read code. if err != nil is a friend now, not the abomination i first thought it was.
1. https://github.com/nathants/s4/blob/15eb67158cdc03ee1983d060...
2. https://github.com/nathants/libaws/blob/affb1d6002250e35c5ba...
-
Go's Error Handling Is Perfect
i print the error along with file and line number every time i return it. clunky, but it works.
in fact i print file and line with every log message.
https://github.com/nathants/libaws/blob/87fb45b4cae20abd1bb1...
-
The worst thing about Jenkins is that it works
cloud is so good now it’s hard to justify not doing something bespoke. ec2 spot is insanely cheaper than turnkey cicd, and better in almost every way.
i’m delighted to pay 30% over infra cost for convenience, but not 500%. and it better actually be convenient, not just have a good landing page and sales team.
this month i learned localzones have even better spot prices. losangeles-1 is half the spot price of us-west-2.
for a runner, do something like this, but react to an http call instead of a s3 put[1].
for a web ui do something like this[2].
s3, lambda, and ec2 spot are a perfect fit for cicd and a lot more.
1. https://github.com/nathants/libaws/tree/91b1c27fc947e067ed46...
2. https://github.com/nathants/aws-exec/tree/e68769126b5aae0e35...
-
Cloud, Why So Difficult?
like linux, cloud is a lot to learn, but worth it.
like linux, cloud is best kept simple, or it can become brittle and confusing.
like linux, cloud has a lot of cool things like zfs, that should be appreciated but rarely used.
like linux, using go makes your life a lot easier. the aws go sdk is the documentation.
like linux, you have to learn a lot and then find the core utility you actually care about. for me it is:
https://github.com/nathants/libaws
-
Kubernetes Is Hard
the good new is, for the 95% of projects that can tolerate it, aws the good parts are actually both simple and easy[1].
it’s hard to find things you can’t build on s3, dynamo, lambda, and ec2.
if either compliance or a 5% project demand it, complicated solutions should be explored.
1. https://github.com/nathants/libaws
-
Rapid growth, lessons learned and improvements at Fly.io
i also wanted a good cli for aws, and built one:
https://github.com/nathants/libaws
companies like fly are fantastic.
they provide a good service, and they put market pressure on aws.
-
From Go on EC2 to Fly.io: +fun, −$9/mo
cool transition and fun writeup!
for low, intermittent traffic sites, go on lambda might be a better comparison:
https://github.com/nathants/libaws/tree/master/examples/simp...
-
Ask HN: What is the most barebone back end solution?
lambda + s3. add ec2 spot if you need it.
just make sure you understand how billing works. mostly it’s just egress bandwidth is expensive.
do something like this:
https://github.com/nathants/aws-gocljs
or with less opinions:
https://github.com/nathants/libaws/tree/master/examples/simp...
welcome to cloud, glhf!
-
Ask HN: Cool side project you have written using Golang
aws ux for retaining both hair and sanity.
https://github.com/nathants/libaws
-
Ask HN: How to get more experience with system design questions (esp scaling)?
build and scale systems with artificial load on aws! scaling the load testing will be just as interesting as scaling the system under test.
start with low bottlenecks, ie a cluster of c6i.large ec2 spot. how fast can you do this? have fast can you scale that? ec2 and s3 is all you need to build anything.
use ec2 spot, avoid network egress, avoid cross region/zone traffic, create and destroy ec2 instances as needed instead of letting them sit idle. you could grow system scaling intution for the price of your streaming subscriptions.
start with something like this:
https://github.com/nathants/libaws/tree/master/examples/comp...
maybe mess around with public datasets on aws, just make sure to be in the correct region to avoid data egress.
welcome systems friend. one accurate measurement is worth a thousand expert opinions. scaling is fun!
What are some alternatives?
Pulumi - Pulumi - Infrastructure as Code in any programming language 🚀
awesome-paas - A curated list of PaaS, developer platforms, Self hosted PaaS, Cloud IDEs and ADNs.
tf - A CLI Tool to easily generate your Terraform configuration
kawipiko - kawipiko -- blazingly fast static HTTP server -- focused on low latency and high concurrency, by leveraging Go, `fasthttp` and the CDB embedded database
up - Deploy infinitely scalable serverless apps, apis, and sites in seconds to AWS.
rrip - Bulk image downloader for reddit.
kubesurvival - 💰 Significantly reduce Kubernetes costs by finding the cheapest machine types that can run your workloads
pytago - A source-to-source transpiler for Python to Go translation
k8s-voting-app-aws - :wheel_of_dharma: Example of a distributed voting app running on Kubernetes. Written in Golang with Terraform definitions to deploy to AWS EKS
sealos - Sealos is a production-ready Kubernetes distribution. You can create any programming language and any framework development Env, create high availability databases like mysql/pgsql/redis/mongo, and run any docker image.
terradrift - A tool to detect drifts in terraform IaC
dockerfile-rails - Provides a Rails generator to produce Dockerfiles and related files.