What does HackerNews think of micro?

API first development platform

Language: Go

#12 in API
Sorry what I meant is I've been working on the open source Micro project for 8 years which underpins this. The chat app itself was not really something I meant as being open source but yes it's in a separate repo with the API hosting product I built called M3O.com.

https://github.com/m3o/m3o https://github.com/micro/micro

Happy to help anyone starting up. I raised a couple mil in seed funding for an open source project after bootstrapping for a few years. I'm sure the YC crew would be more helpful but I got rejected by YC like 8 times and took the direct route to funding.

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.

Alright, let me throw my hat into this ring with a totally unfinished idea. I started working on a design for something called the Micro Communication Protocol (MUCP) [1]. It's a header based protocol that's transport agnostic and focuses on service-to-service communication. An early prototype existed in Micro [2] but I'm primarily focused on redesigning the protocol before re-implementing it. Micro was geared towards API first services but I'm looking to expand the scope and try to build a UI layer on top. Most of the protocols focused very much on communication between people but I think if you focus on service-to-service communication more broadly it opens up the avenue to all sorts of multiplayer collaboration.

- [1] https://github.com/micro/network/blob/main/PROTOCOL.md - [2] https://github.com/micro/micro

Wait, I've seen this repository on HN a few days ago: https://github.com/micro/micro

Are you affiliated with this repository? How is it related to yours?

It's real code https://github.com/micro/services

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 think the more interesting aspect of this is the framework being used: https://github.com/micro/micro

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.

Tried a couple shots at it

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

Dapr's solving distributed systems development at scale. Basically as you grow your team from a handful of people to many separate teams all working on different products, the technical architecture also evolves from monolith to SOA and then microservices. It's the natural logical evolution of anything at scale. Dapr is attempting to provide the primitives you'd need to build any sort of software at scale. Usually this buckets into; authentication/authorization, configuration, data storage, pubsub messaging and a handful of other things.

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.

Good question. Cloudflare and many other platforms like it are closed source and you're mostly locked in to a very custom development model, there's also no escape hatch. For what you get, it's great, I love cloudflare but I also think we're in a world where being open source first matters. Micro is open source (https://github.com/micro/micro) and that's how it started life. It's now "source available" in the sense that we use a license that stops AWS from picking up and hosting it for profit without contributing back, but it's otherwise completely usable for any purpose.

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.

Thanks for the feedback. You're right, Micro was trying to do too much, based on prior experiences at other companies that provided the all encompassing platform experience. Once I realised that I started to scale back. With Micro 3.0 we also knew docs was one lagging thing from before and the fragmented projects were causing huge issues. So now we have betters docs https://micro.mu/ and we have a single project https://github.com/micro/micro. The product M3O (https://m3o.com) has its own set of docs, sort of like how Git and GitHub would have different docs.

Hopefully we're headed in the right direction.

I think what you're looking for is micro => https://github.com/micro/micro or the hosted version https://m3o.com. Our goal is basically to abstract the entirety of this away to a common experience from the developers viewpoint.
I am using this quite successfully in Micro (https://github.com/micro/micro). Having spoken to one of the authors Heather Meeker, who wrote the majority of the custom licenses, I'm fairly confident it's going to become an industry standard. There is no point wasting time drafting custom licenses. Drop in Polyform Shield to defend against AWS and others in one simple move as you would have used MIT or Apache 2.0 licenses in the past.
Hey all! Here to answer any questions. 5 years ago I put out a framework for microservices development https://github.com/micro/micro. I always based this on the premise that developers needed a platform that's always on, fully managed, and a place where they could collaborate in a trusted environment. It took a while to get here but what we now have is a platform that provides a compelling experience with no need to touch AWS, Kubernetes, etc. Where the entire focus is on writing code. In the past it was Heroku/Rails that drove this experience, today we think its M3O/Micro.

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.

Dapr is attempting to play in the same space as us. Using a standalone server and grpc generated libraries. We're a Go framework first as we believe development is about the tools you put in the hands of the developer meaning how they write code. We deliver the framework as a set of grpc services also which you can start with the command "micro server" and communicate through https://github.com/micro/micro
Interesting to see this. We've taken a similar view for the initial phase of the micro network. Locality is going to matter more and more as we move into the future. Although Cloud still has its place and we don't ignore that either.

https://github.com/micro/micro https://micro.mu/docs/network.html

We've been working on something similar for a few years now. Micro is a runtime for microservices https://github.com/micro/micro. We primarily focused on Go and are moving towards multilanguage via a http api, proxy and SDKs much like dapr.
Looks similar to what we're doing with micro. We started as a Go framework and are moving to a runtime model.

https://github.com/micro/micro https://github.com/micro/go-micro

Throwing my hat in the ring. Micro provides an API gateway that routes dynamically via service discovery. It's written in Go and includes a surrounding toolkit of useful features. It's also entirely pluggable. https://github.com/micro/micro
Micro | Software Engineer | REMOTE or On-Site | Full time

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

I've written many distributed systems in Go for scalability reasons and more recently have been working on micro, an open source toolkit to help others do this https://github.com/micro/micro. The core of which starts with go-micro, an RPC framework for building cloud-native applications https://github.com/micro/go-micro.

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.

I've been using Consul as part of micro (https://github.com/micro/micro) for 3 years now. It's a great mechanism for service discovery. This additional feature is going to be seamlessly integrated. They've done a fantastic job of pushing forward Consul as a whole.
Go is a phenomenal systems programming language and becoming quite useful as a general programming language too. It's clear from the projects that are now coming into existence that Go lends itself well to the world of distributed systems and from the language design you can see that it was created with network programming in mind. The fact that concurrency is built into the language and errors are treated as values that should be dealt with just highlights those facts.

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.

I was quite happy to walk away from the Ruby on Rails world 4 or 5 years ago. I basically escaped before the onslaught of Rails 3.0 and what came next. I think somewhere around the adoption of coffee script I got pretty concerned.

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.

Micro - a microservice ecosystem

I'm building tools to simplify building and managing distributed systems based on my experiences at Google and Hailo.

https://micro-services.co https://github.com/micro/micro

I feel this is a good place to mention Micro [1] which is going a long way to becoming a very sound micro service platform.

Deals with Service Discovery, metrics, tracing, gRPC, and all sorts.

[1]: https://github.com/micro/micro

I'm building micro - a microservices toolkit https://github.com/micro/micro. I was part of the platform team at Hailo which built a global microservices platform and before then spent some time at Google. I think with the shift to cloud and docker, being able to build distributed systems is becoming ever more important but the tooling hasn't caught up yet. The goal of micro is to simplify building and managing distributed systems.