14 comments

[ 2.4 ms ] story [ 40.6 ms ] thread
So is this a PaaS or an orchestrator? Those terms have some very specific meanings to people, and being a PaaS to me means supporting a huge pile of things like taking deep control of the user's application language stack and architecture, while hiding all the orchestation details as much as possible.

There is mention of CD, which is often taken to mean some sort of plugin architecture with other services that automates the whole deployment pipeline, but I don't see that in the documentation.

There is also mention of "No special code required in your services" as well as "service discovery", but Docker doesn't really have a way to specify service discovery (the closest thing might be Compose). Wouldn't that mean there's "special code required" for our services, or is there some magic under the hood?

Finally, "Zero-downtime deployments" sounds like a killer feature that I don't feel anyone else has gotten right. I'd love to learn more about the tech strategy, especially with regard to bringing hosts up and down and migrating services.

Neat stuff.

paz documentation, presentations and (now out of date) website mention CD and environments a lot because it has always been a design goal of Paz to enable a CD workflow and give you quick and easy developer environments.

as it currently stands it's far from having achieved that. i ripped out the environments stuff before open-sourcing it because it was half-baked and hacky. expect these things to start coming back into paz in the coming months. what remains that's related to CD is really just that it can receive webhooks from the docker hub / quay.io so you can have a pipeline like git push -> webhook to CI server -> run tests -> docker build -> docker push -> webhook to paz for deployment.

as for orchestration and traditional PaaS functionality, i tend to agree with you and it's arguable whether or not Paz is actually a PaaS in the sense most people use that term. Paz is a platform that can run your services with a PaaS-like workflow. that's probably a more accurate way of putting it.

re "no special code", there is a little magic. paz creates a sidekick unit for your services that will announce them in Etcd. it uses Confd to watch for changes to announcements and reconfigures HAProxy under the hood. i need to document this :)

How does this compare to solutions like Dokku and Dokku-alt?

https://github.com/progrium/dokku

https://github.com/dokku-alt/dokku-alt

Here's a little more detail about why PAZ: https://github.com/lukebond/lnug-talk-2015-02-25/blob/master... We recorded an in-depth video with Luke explaining the reasons and whys behind the project, but it's not live on YouTube yet...(soon)
the main difference from dokku is that paz is multi-host and has has a web user interface. i think the most succinct way to describe paz is kinda like a UI on top of CoreOS's Fleet.

i hadn't come across dokku-alt before, looks great!

Core developer of Dokku here:

Dokku is very much a single-server solution. Though I have played with actual implementations (that work!), there are no plans to make the core support multi-hosts. Dokku also currently has no admin dashboard (there hasn't been a need, though this is something I'd like to address) and doesn't need as many requirements (you can install it via a deb package). It's written in bash, which can be a turnoff for whatever reason.

paz looks like it depends upon multiple services, which may be difficult to setup or maintain, but is solution to a completely different problem. I will say, Paz looks quite nice.

thanks Jose :) it's in super early stages compared something as solid as Dokku but glad people find it interesting!
Looks like an interesting project. Will you guys be releasing it on a different or more public repo than Quay though? I feel it'll be difficult to get much traction (if that is your intent) behind trying it out if there's no easy way to give it a shot.
quay.io offered a free 6 month trial for private repos once upon a time. that's why it's there :) now that it's public it could go anywhere really, and it would simplify installation for people to not have to set up quay.io credentials when they're not actually using it for anything private. i plan to fix this soon.
i should note that the repositories aren't actually private but the README wasn't updated to say so at release time. check the README again now and you'll see that you can skip this bit about needing a quay.io account.

apologies for not making that clear.

OK, so what does it do exactly? I'm sure it's an interesting project and the beautiful UI was mentioned several times, but seriously what does it do? This reminds me of reading corporate software marketing material -- they never want to say exactly what a system does because that would pigeonhole their sales approach. Just add a couple paragraphs -- what does it do, how does it do it, and what are the use-cases...
hi dlandis. yes i must admit that the documentation is currently very poor. doing what you suggest is going to be my weekend :)

it has been released despite not having these things in place because it's forcing me to sort it out. the project sat untouched for a few months late last year and i didn't want that to continue.