Live data from Hacker News

Ask HN: How do you keep track of releases/deployments of dozens micro-services?

news.ycombinator.com

51–60 of 140 posts

Re: Ask HN: How do you keep track of releases/deployments of dozens micro-services?

#51
post #42

If you need to keep track its probably too late. What makes them services is that they should be able to be deployed without a bunch of orchestration of other services. You can solve this by having backwards compatible apis. That said, to know what changes would actually break things you'd ideally have a suite of tests.

"If you need to keep track its probably too late. What makes them services is that they should be able to be deployed without a bunch of orchestration of other services."

If only you could tell my bosses/architects that. They won't listen to me.

Edit: why downvote?

Re: Ask HN: How do you keep track of releases/deployments of dozens micro-services?

#52
post #50

You've broken the microservice abstraction if this a problem. A team should own a microservice, you release as soon as the team able to. You version your apis, so you don't break any services which rely on yours.

"You've broken the microservice abstraction if this a problem."

I agree, but in practice it seems more companies break it rather than follow it.

Re: Ask HN: How do you keep track of releases/deployments of dozens micro-services?

#53
post #52
post #50

You've broken the microservice abstraction if this a problem. A team should own a microservice, you release as soon as the team able to. You version your apis, so you don't break any services which rely on yours.

"You've broken the microservice abstraction if this a problem." I agree, but in practice it seems more companies break it rather than follow it.

I agree people hop on the microservice bandwagon without really understanding the "philosophy" behind it. Then blame microservices when they struggle.

Re: Ask HN: How do you keep track of releases/deployments of dozens micro-services?

#54
In a previous job had tons of microservices and tons of environments, so it was getting difficult to track what was deployed where. We opted for a simple solution to this: we wrote a very simple CLI that makes the deployments and at the same time registers the deployment in a DynamoDB table. Then to get a picture of a certain environment we just had to list all services for that environment. You could also list the history of releases for a certain service in a certain environment.

Re: Ask HN: How do you keep track of releases/deployments of dozens micro-services?

#55
From the previous discussion https://news.ycombinator.com/item?id=16166645

1. https://github.com/gocd/gocd - 6.1k stars

2. https://github.com/Shopify/shipit-engine - 1.2k stars

3. https://github.com/guardian/riff-raff - 252 stars

4. https://github.com/ankyra/escape - 201 stars

5. https://github.com/kiwicom/crane - 92 stars

6. https://github.com/tim-group/orc - 34 stars

7. https://github.com/wballard/starphleet - 19 stars (dead?)

8. https://spinnaker.io/

Re: Ask HN: How do you keep track of releases/deployments of dozens micro-services?

#56
post #51
post #42

If you need to keep track its probably too late. What makes them services is that they should be able to be deployed without a bunch of orchestration of other services. You can solve this by having backwards compatible apis. That said, to know what changes would actually break things you'd ideally have a suite of tests.

"If you need to keep track its probably too late. What makes them services is that they should be able to be deployed without a bunch of orchestration of other services." If only you could tell my bosses/architects that. They won't listen to me. Edit: why downvote?

Quick counterpoint:

Just because you should be able to release without orchestration doesn't mean you shouldn't be able to watch and track things.

You shouldn't have frequent breaking changes but you should still have the tools to manage when you do.

Re: Ask HN: How do you keep track of releases/deployments of dozens micro-services?

#57

In a previous job had tons of microservices and tons of environments, so it was getting difficult to track what was deployed where. We opted for a simple solution to this: we wrote a very simple CLI that makes the deployments and at the same time registers the deployment in a DynamoDB table. Then to get a picture of a certain environment we just had to list all services for that environment. You could also list the h…

To clarify: we tracked not only microservices but also UI deployments. We had what they now call "microfrontends"

Re: Ask HN: How do you keep track of releases/deployments of dozens micro-services?

#59
post #53
post #52

Earlier quoted context omitted.

"You've broken the microservice abstraction if this a problem." I agree, but in practice it seems more companies break it rather than follow it.

I agree people hop on the microservice bandwagon without really understanding the "philosophy" behind it. Then blame microservices when they struggle.

I actually prefer a monolith compared to the way we do microservices. One or two big apps to own vs ten microservices or apps that require coordinating with others. It's really just a duplication of paperwork and other overhead processes.

Re: Ask HN: How do you keep track of releases/deployments of dozens micro-services?

#60
post #16

Earlier quoted context omitted.

How do updates to a database work through that pipeline? Do migrations run through and rolled back automatically as needed?

Not in the context of micro-services, but we ran our production DB for years in a “both N and N+1 work” by following a few simple rules which turn out to be not that restrictive in practice. Short version: have DB1 hold the transactional data (data generated while running the system). Have DB2a have the release-bound data (data about and connected to the code itself-settings, prices, whatever). Have DB2a have views o…

Database versioning and backwards compatibility has been something of an upcoming problem where I'm at as we've been getting better at CI/CD. Do you have any recommended resources for different approaches to it, or even some keywords that'll help when searching for such resources?
Post reply on HN