goa logo


A design driven approach for building microservices in Go
+ 1

What is goa?

goa is a framework for building microservices in Go using a unique design-first approach. goa provides a novel approach for developing microservices that saves time when working on independent services and helps with keeping the overall system consistent.
goa is a tool in the Microservices Tools category of a tech stack.
goa is an open source tool with 3.6K GitHub stars and 419 GitHub forks. Here’s a link to goa's open source repository on GitHub

Who uses goa?


11 developers on StackShare have stated that they use goa.

goa Integrations

Why developers like goa?

Here’s a list of reasons why companies and developers use goa
Top Reasons
Be the first to leave a pro

goa's Features

  • Creating a service with goa starts with the design. The goa DSL lets you describe the global properties, types and endpoints that make up the service API. The apidsl package docs provides a quick reference to all the DSL functions.
  • Once the design of the API is in place goagen generates the corresponding data structures, validation code and handlers. Handlers are defined as interface methods. Implementing the service is thus as simple as implementing the generated interfaces.
  • The best part about the goa DSL is that the engine is completely decoupled. Plugins can implement custom DSLs to extend the concepts described in the design. Plugins can also generate arbitrary outputs.

goa Alternatives & Comparisons

What are some alternatives to goa?
Istio is an open platform for providing a uniform way to integrate microservices, manage traffic flow across microservices, enforce policies and aggregate telemetry data. Istio's control plane provides an abstraction layer over the underlying cluster management platform, such as Kubernetes, Mesos, etc.
Kong is a scalable, open source API Layer (also known as an API Gateway, or API Middleware). Kong controls layer 4 and 7 traffic and is extended through Plugins, which provide extra functionality and services beyond the core platform.
It is open source, production quality, framework for developing RESTful Web Services in Java that provides support for JAX-RS APIs and serves as a JAX-RS (JSR 311 & JSR 339) Reference Implementation. It provides it’s own API that extend the JAX-RS toolkit with additional features and utilities to further simplify RESTful service and client development.
linkerd is an out-of-process network stack for microservices. It functions as a transparent RPC proxy, handling everything needed to make inter-service RPC safe and sane--including load-balancing, service discovery, instrumentation, and routing.
Express Gateway
A cloud-native microservices gateway completely configurable and extensible through JavaScript/Node.js built for ALL platforms and languages. Enterprise features are FREE thanks to the power of 3K+ ExpressJS battle hardened modules.
See all alternatives

goa's Followers
31 developers follow goa to keep up with related blogs and decisions.
Mohsen Mahdieh
Raphaël Simon
Jeff Poulton
Chaochao CHao
Kyle Fretwell
Hiroki Yasui
Cristian Trucco