sequencer
webapp-tutorial
sequencer | webapp-tutorial | |
---|---|---|
2 | 3 | |
19 | 10 | |
- | - | |
3.6 | 1.8 | |
6 days ago | almost 3 years ago | |
Go | Makefile | |
GNU General Public License v3.0 or later | - |
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.
sequencer
-
A Better Way to Code: Documentation Driven Development
I really love this idea in theory, and I believe that for some system, specially mature ones, it may work well. I see good documentation as a super power; it empowers readers and motivate people to understand more about the system without being caught in the weeds of reading the source.
The source has baggages, and the intent of every single function calls is not always evident. Writing documentation up-front can help direct the source, but this is a tug-of-war environment. Each affect the other in its own ways.
And for that reason, documentation driven development can be a real drag. You start writing documentation with the best intentions, everything works great for this first release. But 2 months down the road you need to modify something and it has a ripple effect on many of the things you documented. It's a non-negligible cost.
I've been working on this open-source tool(https://github.com/pier-oliviert/sequencer) and I've spent a lot of time on the documentation. And what I described above happened. I wanted to make a not-too-big change, and it required me to rewrite 30% of the documentation. I still love the documentation aspect of it, but it definitively has a cost.
-
piku: The tiniest PaaS you've ever seen
First time I read about piku. I have no idea why, but the feeling of `git push` to initiate a deployment like piku does always felt magical to me. There's nothing simpler than that.
This is timely for me as well as I just open sourced (yesterday!) a project that is in the same space, but for Kubernetes (https://github.com/pier-oliviert/sequencer).
All of this to say, congrats! It looks great.
webapp-tutorial
-
piku: The tiniest PaaS you've ever seen
It's actually worth taking your joke seriously to compare and contrast:
- piku deploys via git rather than scp/sftp, but authenticates via ssh like those tools
- piku supports a number of runtimes, including Python, Ruby, Node, Go, Clojure. The runtimes are implemented rather simply, you can add your own rather easily, see examples here in the code: https://github.com/piku/piku/blob/8777cc093a062c67d3bead9a5d...
- For each runtime, a mechanism is utilized to install and isolate package dependencies (requirements.txt in Python, Gemfile in Ruby, packages.json in Node, etc.)
- a Procfile and ENV file are used to declare your application entrypoints, akin to Heroku / 12 Factor App ideas
- a CLI is provided for checking status and logs from the client
- since all applications are managed via uwsgi, there is also some support for cronjob-style tasks
- HTTPS via Let's Encrypt (acme.sh) is handled automagically for web apps
I describe more about how piku works in this tutorial:
https://github.com/piku/webapp-tutorial?tab=readme-ov-file#b...
You're right that PHP apps have a simple deployment story, and in a way piku brings something akin to this level of simplicity to other web programming runtimes.
-
Dokku – Free Heroku Alternative
Also check out piku, especially if you are hosting Python or Node apps:
https://github.com/piku/webapp-tutorial/blob/master/README.m...
It is a way to get the same sort of developer experience benefit as dokku, but without dockers and containers, using plain UNIXy tools on a single Linux node. The above link explains how it works.
What are some alternatives?
dokku-acl - Access Control List management for Dokku.
dokku-builder-nix - Dokku plugin to build images using Nix
go-stdlib - OpenTracing instrumentation for packages in the Go stdlib
flux2 - Open and extensible continuous delivery solution for Kubernetes. Powered by GitOps Toolkit.
github-action
piku - The tiniest PaaS you've ever seen. Piku allows you to do git push deployments to your own servers.
metadataproxy - A proxy for AWS's metadata service that gives out scoped IAM credentials from STS
rupy - HTTP App. Server and JSON DB - Shared Parallel (Atomic) & Distributed
dokku-scheduler-kubernetes - Scheduler plugin for deploying applications to kubernetes
Stack Up - Super simple deployment tool - think of it like 'make' for a network of servers
Dokku - A docker-powered PaaS that helps you build and manage the lifecycle of applications