Live data from Hacker News

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

news.ycombinator.com

121–130 of 140 posts

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

#121

Earlier quoted context omitted.

So you have few options. Work on more? Pick up another stack. Do some weekend consulting in a new framework. Better yourself. By being stuck in the only 1 job you could possibly work for, you are just delaying the mess that happens when they close down / get bought / you get fired. The best part of programming is you can teach yourself almost anything, especially if you have previous experience to build on.

I can't really pick up any off-hours stuff since my wife works and I have to watch the kid. Maybe once they're older I'll have time.

Lunch hour. After bedtime. Morning. You are responsible for making yourself better. Do it.

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

#122

Earlier quoted context omitted.

> Production issues are a part of life. Only if you accept them. The alternative is to do very few, rigorously tested releases per year. This way you don't have production issues. That's how industries like banking make sure bank transfers and card payments work and people's money is not randomly lost... It's a shame many other industries just accept their product failing for users as something normal/inevitable.

That's adorable. You know that no matter how much testing you do, that something WILL slip through the cracks? Always.

Work in healthcare where we have heavily tested, quarterly releases. Well, we had a release today and some stuff was pretty horribly broken, despite being so heavily tested. We didn't adequately load test one piece of the new release under production-like conditions. Oops. Thankfully the fix was simple and a hotfix only took a couple of hours in total. Yet another lesson learned.

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

#123

Earlier quoted context omitted.

I can't really pick up any off-hours stuff since my wife works and I have to watch the kid. Maybe once they're older I'll have time.

Lunch hour. After bedtime. Morning. You are responsible for making yourself better. Do it.

Nah, I've done everything right for years. No point in wasting my time if there's no reward.

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

#124
post #96

Earlier quoted context omitted.

The "Building Microservices" book, which used to be the goto book for microservices suggests on page 31 to page 38 that bounded domains are a good model for microservices. The main difference between SOA and microservices is dump pipes vs smart pipes. Not service size. As explained in that book. Most people trying to implement microservices seem to have not read much about them outside of blogs.

Quoting some book does not change the fact that most people understand SOA as being team or domain-bound and microservices as being much smaller.

Interesting because I always thought SOA was just a slightly older term for microservices.

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

#125

Earlier quoted context omitted.

Lunch hour. After bedtime. Morning. You are responsible for making yourself better. Do it.

Nah, I've done everything right for years. No point in wasting my time if there's no reward.

The reword is literally having a better job that allows you to work remotely, so you can feel better about your work without thinking about moving constraints of your household.

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

#126

Earlier quoted context omitted.

> Production issues are a part of life. Only if you accept them. The alternative is to do very few, rigorously tested releases per year. This way you don't have production issues. That's how industries like banking make sure bank transfers and card payments work and people's money is not randomly lost... It's a shame many other industries just accept their product failing for users as something normal/inevitable.

That's adorable. You know that no matter how much testing you do, that something WILL slip through the cracks? Always.

Of course. Even the Space Shuttles blew up, twice. I'm guessing even pace makers and software in nuclear power plants have bugs. The point is, these things are exceedingly rare or have very limited scope (occur only in most obscure corner cases and also do limited damage), while in web companies which adopted Continuous Deployment, serious bugs are just common and I think seen as part of life.

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

#127

Earlier quoted context omitted.

That's adorable. You know that no matter how much testing you do, that something WILL slip through the cracks? Always.

Work in healthcare where we have heavily tested, quarterly releases. Well, we had a release today and some stuff was pretty horribly broken, despite being so heavily tested. We didn't adequately load test one piece of the new release under production-like conditions. Oops. Thankfully the fix was simple and a hotfix only took a couple of hours in total. Yet another lesson learned.

That's pretty bad, but nonetheless you detected and fixed it very quickly. Compare that to lingering bugs in Twitter iOS client (it's just broken on iPhone 5s, I guess they simply don't test on that device anymore), or happy random bugs in Windows 10 that appear after they CD an update on their users.

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

#128

Earlier quoted context omitted.

The biggest difficulty I've experienced is "librification", where some common code ends up in a little library, and soon that library is not so little any more, and not long after starts to look like half of every service. I can maintain discipline when working on small systems alone, but on a team there will always be one lazy person or urgent need which means eventually some shared component gains enough gravity to…

These libraries already exist whether you write them or you use someone else's. In our case most of our micro services are node.js based so Koa is in every microservice and we use middleware for authentication -- and thus if the authentication system evolves (moving to JWT or a microservice gateway) we have to evolve that middleware everywhere. Same with our consistent logging system. Libraries are better than unique…

The problem isn't "some code which different services use is in a library".

The problem is an not-ideal "the code which is in libraries shared by different services is tightly-coupled to particular services". e.g. changing the shared library might break some service which depends on it.

Obviously, you don't want code like that. But it's easy to write code which is slightly coupled; and then when you're in a hurry, to increase the coupling.

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

#130
post #4

We just made all the microservices into one big monorepo and we deploy all at the same time. To be honest we tried to avoid the monorepo but it was hellish. Maybe if each microservices was larger and our team was larger but then are they microservices any more?

One "wisdom" I hear is that the benefit of microservices is organizational: One microservice per team, so you cut down on intra-team friction, and the team can manage their own releases.

Microservices are a solution for scaling teams, not software or infrastructure.

(In other words, you're 100% spot on!)

Post reply on HN