We built this https://M3O.com. It was based on this https://github.com/micro/micro
Just happy to help given my own tough experiences. Pitch deck reviews, intros, etc.
- [1] https://github.com/micro/network/blob/main/PROTOCOL.md - [2] https://github.com/micro/micro
Are you affiliated with this repository? How is it related to yours?
It runs on software that's also real https://github.com/micro/micro
It's hosted on a cloud platform with real customers https://m3o.com
I haven't dug into it at all yet, but at a glance it looks like it's aiming to do something similar to what Go kit (https://gokit.io/) or Finagle (https://twitter.github.io/finagle/) does, where it gives you a nice abstraction for defining your "service" and then handles all the supplementary aspects (service discovery, serialization, retry/circuit breaker logic, rate limiting, hooks for logging, tracing, and metrics, etc) so you don't have to build those from scratch every time.
I don't know if any of those other frameworks could really be considered very "successful" outside the original organizations they were built for (it seems like the industry has bet more on service meshes and API gateway products), but I'd probably be more inclined to start with one of them than making a new framework.
Go Micro (17k stars) https://github.com/asim/go-micro
Micro (10k stars) https://github.com/micro/micro
M3O (1.7k stars) https://m3o.com
Full disclosure: I'm the author of Micro (https://github.com/micro/micro) which bakes in the same primitives but also focuses solely on development in the Go language.
Micro as an open source platform enables the ability to self host, develop locally and move beyond our offering m3o.com. I think it also creates trust and thats something we're going to really be thinking about a lot in the next 5-10 years.
We're also looking beyond the core primitives themselves towards these value add services in the category of "backend", "logistics", etc. I think providing a generic platform as a service isn't good enough anymore, we really have to push a lot further.
Hopefully we're headed in the right direction.
Too much time is lost to figuring out cloud infra, to the complexity of cloud native tech aka docker, kubernetes, istio, etc and developers are just largely being left behind when it comes to backend development in the cloud. Frontend is now being served by the jam stack and the likes of netlify but we think its time for something on the backend.
Netlify is for your frontend. Micro is for the backend.
https://github.com/micro/micro https://micro.mu/docs/network.html
https://github.com/micro/micro https://github.com/micro/go-micro
Micro is simplifying cloud-native development. It's a London based technology company which builds open source tools, primarily the micro toolkit https://github.com/micro/micro and the go-micro framework https://github.com/micro/go-micro.
I'm looking at building out the founding team with those who want to solve distributed systems problems and create something of real value. Currently speaking to investors about raising a seed round of $1-2m with the right founding team onboard. You should have no disillusions, everyone will be paid a fair market salary to work on Open Source, do training, speak at meetups, conferences and help build something that already has strong traction. The goal is to build the Spring of 2020.
Our future work will involve machine learning as we move from not just making cloud-native apps distributed but also intelligent.
If this is of interest ping me at [email protected] or dm me in the slack at http://slack.micro.mu
Building systems that scale is not an easy task. Go lends itself very well to this task but at the same time there's more required than just the language. The communities belief in libraries rather than frameworks actually hinders this progress for others. Hopefully other tools like my own will emerge that sway people towards the framework approach.
We used Go at Hailo for our microservices platform and it served us incredibly well. I've gone on to create an open source project called Micro https://github.com/micro/micro that builds on those past experiences. It's just a joy to write micro services in Go.
While at Google I became aware of Go and what that looked like at scale. I would highly recommend trying out Go. I think the simplicity will be a refreshing change but there will also be some familiarity coming from the Ruby/C world, can't quite pinpoint why but just feels that way.
And if you're looking for frameworks, shameless plug, I'm working on this https://github.com/micro/micro.
I'm building tools to simplify building and managing distributed systems based on my experiences at Google and Hailo.
Deals with Service Discovery, metrics, tracing, gRPC, and all sorts.