StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Utilities
  3. API Tools
  4. Microservices Tools
  5. Istio vs goa

Istio vs goa

OverviewDecisionsComparisonAlternatives

Overview

goa
goa
Stacks16
Followers42
Votes0
GitHub Stars6.0K
Forks575
Istio
Istio
Stacks2.3K
Followers1.5K
Votes54
GitHub Stars37.6K
Forks8.1K

goa vs Istio: What are the differences?

goa: A design driven approach for building microservices in Go. 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; Istio: Open platform to connect, manage, and secure microservices, by Google, IBM, and Lyft. 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.

goa and Istio can be primarily classified as "Microservices" tools.

goa and Istio are both open source tools. Istio with 18.5K GitHub stars and 3.1K forks on GitHub appears to be more popular than goa with 3.46K GitHub stars and 389 GitHub forks.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Advice on goa, Istio

Prateek
Prateek

Fullstack Engineer| Ruby | React JS | gRPC at Ex Bookmyshow | Furlenco | Shopmatic

Mar 14, 2020

Decided

Istio based on powerful Envoy whereas Kong based on Nginx. Istio is K8S native as well it's actively developed when k8s was successfully accepted with production-ready apps whereas Kong slowly migrated to start leveraging K8s. Istio has an inbuilt turn-keyIstio based on powerful Envoy whereas Kong based on Nginx. Istio is K8S native as well it's actively developed when k8s was successfully accepted with production-ready apps whereas Kong slowly migrated to start leveraging K8s. Istio has an inbuilt turn key solution with Rancher whereas Kong completely lacks here. Traffic distribution in Istio can be done via canary, a/b, shadowing, HTTP headers, ACL, whitelist whereas in Kong it's limited to canary, ACL, blue-green, proxy caching. Istio has amazing community support which is visible via Github stars or releases when comparing both.

322k views322k
Comments
lyc218
lyc218

Feb 21, 2020

Needs advice

Envoy proxy is widely adopted in many companies for service mesh proxy, but it utilizes BoringSSL by default. Red Hat OpenShift fork envoy branch with their own OpenSSL support, I wonder any other companies are also using envoy-openssl branch for compatibility? How about AWS App Mesh?

Any input would be much appreciated!

42.7k views42.7k
Comments

Detailed Comparison

goa
goa
Istio
Istio

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.

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.

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.
-
Statistics
GitHub Stars
6.0K
GitHub Stars
37.6K
GitHub Forks
575
GitHub Forks
8.1K
Stacks
16
Stacks
2.3K
Followers
42
Followers
1.5K
Votes
0
Votes
54
Pros & Cons
No community feedback yet
Pros
  • 14
    Zero code for logging and monitoring
  • 9
    Service Mesh
  • 8
    Great flexibility
  • 5
    Powerful authorization mechanisms
  • 5
    Ingress controller
Cons
  • 17
    Performance
Integrations
Golang
Golang
Kubernetes
Kubernetes
Docker
Docker

What are some alternatives to goa, Istio?

Azure Service Fabric

Azure Service Fabric

Azure Service Fabric is a distributed systems platform that makes it easy to package, deploy, and manage scalable and reliable microservices. Service Fabric addresses the significant challenges in developing and managing cloud apps.

Moleculer

Moleculer

It is a fault tolerant framework. It has built-in load balancer, circuit breaker, retries, timeout and bulkhead features. It is open source and free of charge project.

Express Gateway

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.

ArangoDB Foxx

ArangoDB Foxx

It is a JavaScript framework for writing data-centric HTTP microservices that run directly inside of ArangoDB.

Dapr

Dapr

It is a portable, event-driven runtime that makes it easy for developers to build resilient, stateless and stateful microservices that run on the cloud and edge and embraces the diversity of languages and developer frameworks.

Zuul

Zuul

It is the front door for all requests from devices and websites to the backend of the Netflix streaming application. As an edge service application, It is built to enable dynamic routing, monitoring, resiliency, and security. Routing is an integral part of a microservice architecture.

linkerd

linkerd

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.

Jersey

Jersey

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.

Ocelot

Ocelot

It is aimed at people using .NET running a micro services / service oriented architecture that need a unified point of entry into their system. However it will work with anything that speaks HTTP and run on any platform that ASP.NET Core supports. It manipulates the HttpRequest object into a state specified by its configuration until it reaches a request builder middleware where it creates a HttpRequestMessage object which is used to make a request to a downstream service.

Micro

Micro

Micro is a framework for cloud native development. Micro addresses the key requirements for building cloud native services. It leverages the microservices architecture pattern and provides a set of services which act as the building blocks

Related Comparisons

GitHub
Bitbucket

Bitbucket vs GitHub vs GitLab

GitHub
Bitbucket

AWS CodeCommit vs Bitbucket vs GitHub

Kubernetes
Rancher

Docker Swarm vs Kubernetes vs Rancher

gulp
Grunt

Grunt vs Webpack vs gulp

Graphite
Kibana

Grafana vs Graphite vs Kibana