Readit News logoReadit News
avan1 commented on Uncloud - Tool for deploying containerised apps across servers without k8s   uncloud.run/... · Posted by u/rgun
psviderski · 11 days ago
Hey, creator here. Thanks for sharing this!

Uncloud[0] is a container orchestrator without a control plane. Think multi-machine Docker Compose with automatic WireGuard mesh, service discovery, and HTTPS via Caddy. Each machine just keeps a p2p-synced copy of cluster state (using Fly.io's Corrosion), so there's no quorum to maintain.

I’m building Uncloud after years of managing Kubernetes in small envs and at a unicorn. I keep seeing teams reach for K8s when they really just need to run a bunch of containers across a few machines with decent networking, rollouts, and HTTPS. The operational overhead of k8s is brutal for what they actually need.

A few things that make it unique:

- uses the familiar Docker Compose spec, no new DSL to learn

- builds and pushes your Docker images directly to your machines without an external registry (via my other project unregistry [1])

- imperative CLI (like Docker) rather than declarative reconciliation. Easier mental model and debugging

- works across cloud VMs, bare metal, even a Raspberry Pi at home behind NAT (all connected together)

- minimal resource footprint (<150MB ram)

[0]: https://github.com/psviderski/uncloud

[1]: https://github.com/psviderski/unregistry

avan1 · 11 days ago
Thanks for the both great tools. just i didn't understand one thing ? the request flow, imaging we have 10 servers where we choose this request goes to server 1 and the other goes to 7 for example. and since its zero down time, how it says server 5 is updating so till it gets up no request should go there.
avan1 commented on Cycle: An Open Software Development Methodology   github.com/oneapplab/cycl... · Posted by u/avan1
avan1 · 3 months ago
With over eight years of leadership experience in technology teams, I have witnessed the challenges and opportunities in our fast-paced industry. To enhance team performance and project outcomes, I developed a methodology called Cycle.

The Cycle approach emphasizes a flexible, lightweight methodology designed to keep teams focused, collaborative, and adaptable, with no backlog overload, minimal ceremonies, and shared responsibility.

Explore Cycle on GitHub: https://github.com/oneapplab/cycle

avan1 commented on The Rise of Hybrid PHP: Blending PHP with Go and Rust   yekdeveloper.com/p/4-the-... · Posted by u/avan1
pancsta · 3 months ago
Working with 3 intersecting stacks is more complex than a single stack. Go toolchain is batteries included and coherent. Author admits to not using it bc of legacy (and preference).
avan1 · 3 months ago
author here. as i mentioned in post i said we choose frankenphp since it's already supported by php foundation and in some cases we might use Go php extensions. i know writing extensions in any language add a bit complexitiy but i believe if the extensions selected wisely they will be somehow fire and forget. for instance creating pdf files would be faster in Go than php. you can create an pdf creator extension and that extension would probebly work for a long time without any adding much effort to maintenance.
avan1 commented on The Rise of Hybrid PHP: Blending PHP with Go and Rust   yekdeveloper.com/p/4-the-... · Posted by u/avan1
sneak · 3 months ago
Go, naturally.
avan1 · 3 months ago
Perfect. we wrote our gateway in Go which handle authentication as well and then pass users data to other services (Go and php) and return their responses.
avan1 commented on The Rise of Hybrid PHP: Blending PHP with Go and Rust   yekdeveloper.com/p/4-the-... · Posted by u/avan1
77pt77 · 3 months ago
The fact that we're still pretending PHP is a valid solution for almost anything after all these years is a joke.

Not only that, but now we have these "frankenstein" solutions with all the interop problems on top of PHP.

Just shows that as a species humans really can't learn.

avan1 · 3 months ago
author here. thanks for reading my post. i didn't suggest php for all type of projects. i don't choose that myself. what i just mentioned if the only reason to choose something else for responding some apis faster you still may continue in php for that.
avan1 commented on The Rise of Hybrid PHP: Blending PHP with Go and Rust   yekdeveloper.com/p/4-the-... · Posted by u/avan1
sublinear · 3 months ago
This sounds absolutely disgusting to maintain. Where are you going to hire devs that want to work on crap like this?
avan1 · 3 months ago
as i mentioned we just choosed frankenphp which is officially supported by php foundation. also only less than 5 percent of our code base is in Go. i don't see any problem to hire developers.
avan1 commented on The Rise of Hybrid PHP: Blending PHP with Go and Rust   yekdeveloper.com/p/4-the-... · Posted by u/avan1
colesantiago · 3 months ago
I bit the bullet rewriting my app from PHP to Go and it paid off for my company, we're talking 20K lines of PHP code, reduced to 4K lines of Go and with the added efficiency gains with it.

I think some orgs just need to take the jump and plan a rewrite, add tests (easier with Go) and just do this if they are a PHP shop, I would say it's worth it.

Instead of blending Rust/PHP or Go together and having an unmaintainable mess of a codebase.

avan1 · 3 months ago
i don't recommend rewrite in anycase (had done 2 successful rewrite before but still i don't choose that my self) and new php run times can may be really fast. you can checkout benchmarks. swoole for instance if used with all the functionalities like its specific caches may be so fast (in some cases as fast as Go)
avan1 commented on The Rise of Hybrid PHP: Blending PHP with Go and Rust   yekdeveloper.com/p/4-the-... · Posted by u/avan1
sneak · 3 months ago
When I do stuff like this, I just write the front app in the new/fast language, then reproxy the stuff not written in the fast language to the legacy app. You can even add middlewares or caching or metrics in the new app for requests going to the old one, as you can run (fast) code around both the request and the response.

It’s the best of both worlds - the new app gets to see all of the traffic, but doesn’t need to implement 100% of the routes. Any added to the new app can just take precedence over the old one, carving out the path-space that gets reverse proxied.

It seems like doing FFI for this is overly complex; I’d rather take the small perf hit of doing another request to a different process.

avan1 · 3 months ago
good idea, which language you choose for that ? also with frankenphp you can just write those required apis to be really fast as go extensions.
avan1 commented on The Rise of Hybrid PHP: Blending PHP with Go and Rust   yekdeveloper.com/p/4-the-... · Posted by u/avan1
preinheimer · 3 months ago
Reminds me of how Yahoo! worked back in the day. All their display logic in PHP, with the hard business logic in c extensions.
avan1 · 3 months ago
if you know more about it, i would glad to hear which extension they did developed for business logic. i used a lot of Yahoo! in back days.

u/avan1

KarmaCake day72February 13, 2020View Original