News for hackers. Stuff that matters.
Re:Imperative configs are out; Declarative configs are in by scubbo on Wednesday November 09, 2022 @05:28PM (#33538966)
Sort-of a nitpick, but for stateless services that's _precisely_ what you want to happen!
Re:Imperative configs are out; Declarative configs are in by taeric on Wednesday November 09, 2022 @05:43PM (#33539160)
Not when your infrastructure includes your data store, though. Or if it includes such things as your application endpoint. You may want to stand up the new endpoints and then drain over traffic, as an example. Not take an outage for a deployment.
Re:Imperative configs are out; Declarative configs are in by tremon on Wednesday November 09, 2022 @07:18PM (#33540299)
Not when your infrastructure includes your data store, though

Then the service is no longer stateless.

Re:Imperative configs are out; Declarative configs are in by taeric on Wednesday November 09, 2022 @07:55PM (#33540668)
I mean, you aren't wrong. But I am challenged to think of a service that doesn't store state somewhere.

And you ignore the other situation. Even a fully "stateless" service that literally just responds to things probably doesn't want an outage just to deploy a new version.

Re:Imperative configs are out; Declarative configs are in by tremon on Thursday November 10, 2022 @04:38AM (#33544214)
That's true. The way we solve it is by splitting our infrastructure deployments in two parts: a volatile part and a persistent part; it gives us more confidence when deploying the stateless part, but sadly it also means that the persistent deployments don't get as much exercise as the stateless part and are somewhat more prone to bitrot.
Re:Imperative configs are out; Declarative configs are in by scubbo on Thursday November 10, 2022 @07:09PM (#33555581)
Right, yes - sorry, I should have clarified that I didn't mean "tear down then set up", but rather "set up (new), cut over, then tear down (old)". But still - the service should be "created from scratch"!
Re:Imperative configs are out; Declarative configs are in by nitwit005 on Thursday November 10, 2022 @12:47AM (#33542761)
The clients and network have state. If you kill every service, and set everything up from scratch, your users are probably seeing an error message. Their connections all died and the retries failed while you were spinning up the new version of things.
Re:Imperative configs are out; Declarative configs are in by scubbo on Thursday November 10, 2022 @07:07PM (#33555566)
Right, which is why you set up the new versions of the service _first_ and cutover to them before tearing down.