How does the Deploy process in Golang work?

1

Situation

In my company we are initiating a process of technology exchange. And one of the suggested ones was Golang.

And one of the biggest drawbacks is the deploy process.

Experiences

In PHP, even because it is an interpreted language, this process is very simple, an update of class when saving is already perceived in the next request .

In JAVA it is very complex and even needs to restart the service. (I know there is a way to make it simpler, I will not go into that.)

Doubt

Go, because it is a compiled language too, suffers from the same JAVA problem, or is there any way to deploy quickly, without restarting the service, and practically imperceptible to the end user?

    
asked by anonymous 13.09.2018 / 23:23

1 answer

1

Unfortunately it is not possible and you have to restart the service, which is relatively fast.

Golang has numerous other advantages and this is just a detail.

If this is a critical factor, one option would be to port your application to Google Cloud Platform AppEngine, which allows you to route requests between versions of the deployed code. This minimizes downtime from seconds to milliseconds, but has the cost of re-architecting and reliance on Google's platform.

    
13.09.2018 / 23:42