
Ask HN: Good Microservice framework/toolkit for golang - xk0nsid
I&#x27;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&#x27;ve come across 3 of the same during my searches but I&#x27;m not sure which one should I choose:<p>1. Go-Kit (https:&#x2F;&#x2F;github.com&#x2F;go-kit&#x2F;kit)
2. Kite (https:&#x2F;&#x2F;github.com&#x2F;koding&#x2F;kite)
3. Go Micro (https:&#x2F;&#x2F;github.com&#x2F;micro&#x2F;go-micro)<p>I&#x27;m really interested in experiences of others with the above frameworks&#x2F;toolkits.
I know about gRPC and ProtoBuf but I believe it&#x27;s a bit cumbersome to integrate with other systems especially for beginners.<p>Here are a couple of things that I need:
1. Simple integration with other systems
2. Simple Development process
3. Kubernetes Deployment<p>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.<p>I don&#x27;t have any experience in the area of microservices (at least professionally). Any pointers and personal experiences will really help in making correct decisions.<p>PS: Currently we use PHP in an almost monolith type of system.
======
itamarst
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.

------
romanovcode
> I'm trying to convince my management to switch to microservices.

I hope for your own sake that management will refuse your request.

------
xk0nsid
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.

------
kristoff_it
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.

------
dchuk
Without building anything yet, can you articulate why you're requesting the
switch to microservices?

