How is penpot.app deployed at prod?

  • Is it on docker-compose?
  • How to handle zero down time update when release a new version?

More details would be appreciated.

@niwinz I posted it here.

Hello @pinkfrog9

We deploy the SAAS instance using ansible, installing directly over the operating system in the virtual machine (concretely AWS EC2).

The Zero downtime upgrades are possible thanks to a few things: mainly developing having a strong attention in backward compatibility and having control of the deployment (I mean having the ability to deploy to a different instance and then go to the the gateway and switch the traffic to the new instance).
There are moments where old and new backends are running together, over the same database for some time, this is why the backward compatibility is very important.

Hope this answers your question.

2 Likes

I see, thanks.

Sounds like there is no containerization involved (either docker swarm or k8s). Just running the executables or jars on the VMs.