Live data from Hacker News

Ask HN: Good Microservice framework/toolkit for golang

news.ycombinator.com

1–6 of 6 posts

Ask HN: Good Microservice framework/toolkit for golang

#1
I'm trying to convince my management to switch to microservices for which I need a POC (Proof of Concept) of the same. I need a good starting point to build microservices using Golang. I've come across 3 of the same during my searches but I'm not sure which one should I choose:

1. Go-Kit (https://github.com/go-kit/kit) 2. Kite (https://github.com/koding/kite) 3. Go Micro (https://github.com/micro/go-micro)

I'm really interested in experiences of others with the above frameworks/toolkits. I know about gRPC and ProtoBuf but I believe it's a bit cumbersome to integrate with other systems especially for beginners.

Here are a couple of things that I need: 1. Simple integration with other systems 2. Simple Development process 3. Kubernetes Deployment

Also, I would like to know what type of development and deployment process do you use. For e.g should I be using a build system like bazel, pants etc or are there other ways to achieve the same.

I don't have any experience in the area of microservices (at least professionally). Any pointers and personal experiences will really help in making correct decisions.

PS: Currently we use PHP in an almost monolith type of system.

Re: Ask HN: Good Microservice framework/toolkit for golang

#2
You're trying to add a massive amount of complexity and new technologies. That makes it much more likely this process fails, and is the opposite of what a proof-of-concept will give you.

A build system like bazel or pants is not really related to deployment. You're overthinking this.

As alternative, try to do a small proof-of-concept: take one feature from your monolith and move it out. Can use PHP, doesn't have to be new language. Don't pick tools in advance, instead just go and do it and pick tools based on the problems you encounter. This will give you a much better and realistic sense of what problems are relevant in your particular setup. And will also make it much more likely your project will succeed and get management buy-in.

Re: Ask HN: Good Microservice framework/toolkit for golang

#3
You probably don't want microservices, just small, normal, sane, "context bound" services.

Microservices come at a huge cost if done well. Just watch a talk from netflix/uber/... method calls become remote requests, so you need fallback strategies, log tracing, service discovery, circuit breaking, ...

As long as you can do merges on your codebase without horrible problems, you almost certainly don't need microservices.

Splitting a huge laravel/symfony/cakephp app into a few smaller ones, that is probably a good idea, and you don't need any particular tooling to do it.

Re: Ask HN: Good Microservice framework/toolkit for golang

#6
After going through all the comments I believe it's better to try and break the monolith application into smaller services rather than going for microservices. I'll approach the management with same, rather than with microservices. Appreciate the advice from everyone.