[Seaside] Ci automated deploy of seaside to Digital Ocean
Norbert Hartl
norbert at hartl.name
Fri May 11 15:17:50 UTC 2018
> Am 11.05.2018 um 15:54 schrieb Esteban A. Maringolo <emaringolo at gmail.com>:
>
> On 11/05/2018 10:39, Norbert Hartl wrote:
>
>> All of this can be done. It just depends on the learning curve you want
>> to take. I successfully escaped the unix/linux hell (used daemontools,
>> monti, systemd before) for my services and entered docker hell :P
>> I use docker swarm and that has everything you describe above. I can
>> deploy any number of images across all my machines with ease. There is a
>> zero-downtime option so there is no service interruption. But the amount
>> of time I had to put into there was massive. So while I would encourage
>> the usage of docker I’m not sure it is for everyone.
>> The medium heavy approach for you should be:
>>
>> 1. nginx as frontend server. This proxies all requests to a docker
>> service traefik (https://traefik.io/)
>> 2. traefik listens on docker whenever a container is started and adds it
>> to the load balancing routine.
>> 3. You deploy any number of your application and they will automatically
>> load balanced.
>
> Why nginx+traefik? Isn't the latter supposed to provide reverse proxying
> as well?
>
Yes, maybe you don’t need nginx then. I use it because nginx is fine for caching content and rewriting requests and such. That isn’t so good with traefik. I also usually do SSL offloading in nginx so traefik does not need to handle SSL.
> A blog post/tutorial about how this was made would save many from
> investing massive time into it. :)
>
Yes I know. But I hardly find time to release all the stuff we do to the public. So writing a blog post is out of reach for me at the moment, sorry. Maybe Marcus and me give a session on that at ESUG. And one thing is sure… a single blog post won’t keep you from spending a lot of time on it.
> I’m interested in how you implement the zero-downtime.
>
docker swarm provides it. It starts a new container and let this do health check for about a minute. Then it takes that container online and slighty later it takes one of the old containers offline. I’m not sure it works 100% but I did not see any HTTP errors from the frontend server while upgrading.
Norbert
> Regards!
>
>
> --
> Esteban A. Maringolo
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
More information about the seaside
mailing list