An open API service indexing awesome lists of open source software.

awesome-microservices

A curated list of Microservices Architecture related principles and technologies.
https://github.com/eric-erki/awesome-microservices

Last synced: 19 days ago
JSON representation

Capabilities

API Gateways / Edge Services

  • Amalgam8 - Content-based routing fabric for polyglot microservices.
  • Caddy - Extensible HTTP/2 web server with automatic HTTPS.
  • Express Gateway - A microservices API gateway built on Express.js.
  • HAProxy - Reliable, high Performance TCP/HTTP load balancer.
  • Istio - An open platform to connect, manage, and secure microservices.
  • Linkerd - Resilient service mesh for cloud native apps.
  • Otoroshi - Modern HTTP reverse proxy with lightweight API management.
  • Spring Cloud Gateway - API Gateway on top of Spring MVC. Aims to provide a simple, yet effective way to route to APIs.
  • Tyk - Open source, fast and scalable API gateway, portal and API management platform.
  • Annon - Open source API gateway with built-in API management, authentication and status pages written in Elixir.
  • Envoy - Open source edge and service proxy, from the developers at Lyft.
  • Neutrino - Extensible software load balancer.
  • Skipper - HTTP router useful for decoupling routing from service logic.
  • Traffic Server - High-performance building block for cloud services.
  • Vulcand - Programmatic load balancer backed by Etcd.
  • Zuul - An edge service that provides dynamic routing, monitoring, resiliency, security, and more.
  • data and control plane
  • Kong - Open source management layer for APIs.

Configuration & Discovery

  • Eureka - REST based service that is primarily used in the AWS cloud for locating services for the purpose of load balancing and failover of middle-tier servers.
  • ZooKeeper - Open source server which enables highly reliable distributed coordination.
  • Central Dogma - Open-source highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2.
  • Consul - Service discovery and configuration made easy. Distributed, highly available, and datacenter-aware.
  • Denominator - Portably control DNS clouds using java or bash.
  • Doozer - Highly-available, completely consistent store for small amounts of data. When the data changes, it can notify connected clients immediately.
  • Etcd - Highly-available key-value store for shared configuration and service discovery.
  • Microphone - Lightweight .NET framework to run self hosting REST services using Web Api or NancyFx on top of a Consul or Etcd cluster.
  • Registrator - Service registry bridge for Docker. Supports pluggable service registries, which currently includes Consul, Etcd and SkyDNS 2.
  • Shaman - Small, lightweight, api-driven DNS server.
  • SkyDNS - Distributed service for announcement and discovery of services built on top of etcd. It utilizes DNS queries to discover available services.
  • SmartStack - Airbnb's automated service discovery and registration framework.

Coordination & Governance

  • AWS Step Functions ![c - Coordinate the components of distributed applications and microservices using visual workflows.
  • Cadence - Fault-oblivious stateful code platform.
  • Conductor - A microservices orchestration engine.
  • Fission Workflows - Workflow-based, reliable function composition for serverless functions.
  • Zeebe - Define, orchestrate, and monitor business processes across microservices.
  • Azuqua ![c - Orchestration and governance platform for distributed applications.

Elasticity

  • Grape - Realtime processing pipeline.
  • Mesos - Abstracts CPU, memory, storage, and other compute resources away from machines (physical or virtual), enabling fault-tolerant and elastic distributed systems to easily be built and run effectively.
  • Nomad - Distributed, highly available, datacenter-aware scheduler.
  • Onyx - Distributed, masterless, high performance, fault tolerant data processing for Clojure.
  • Ordasity - Designed to spread persistent or long-lived workloads across several machines.
  • Galaxy - Open source high-performance in-memory data-grid.

Job Schedulers / Workload Automation

  • Schedulix - Open source enterprise job scheduling system lays down ground-breaking standards for the professional automation of IT processes in advanced system environments.
  • Chronos - Fault tolerant job scheduler for Mesos which handles dependencies and ISO8601 based schedules.
  • Fenzo - Extensible scheduler for Mesos frameworks.
  • Celery - Asynchronous task queue/job queue based on distributed message passing. Focused on real-time operation and supports scheduling.

Logging

  • Suro - Distributed data pipeline which enables services for moving, aggregating, routing, storing data.
  • Bunyan - Simple and fast JSON logging library for Node.js services.
  • Kibana - Flexible analytics and visualization platform.
  • Logstash - Tool for managing events and logs.
  • Graylog - Fully integrated open source log management platform.

Messaging

  • NATS - Open source, high-performance, lightweight cloud messaging system.
  • Pulsar - Distributed pub-sub messaging system.
  • Qpid - Cross-platform messaging components built on AMQP.
  • RabbitMQ - Open source Erlang-based message broker that just works.
  • Aeron - Efficient reliable UDP unicast, UDP multicast, and IPC message transport.
  • Crossbar - Open source networking platform for distributed and microservice applications. It implements the open Web Application Messaging Protocol (WAMP).
  • Disque - Distributed message broker.
  • Malamute - ZeroMQ enterprise messaging broker.
  • Mist - A distributed, tag-based pub/sub service.
  • Mosca - MQTT broker as a module.
  • VerneMQ - Open source, scalable, Erlang-based MQTT broker.
  • Beanstalk - Simple, fast work queue.
  • RocketMQ - A low latency, reliable, scalable, easy to use message oriented middleware born from alibaba massive messaging business.

Monitoring & Debugging

  • IOpipe ![c - Application performance monitoring for Amazon Lambda.
  • Jaeger - An open source, end-to-end distributed tracing
  • OpenTracing - Vendor-neutral APIs and instrumentation for distributed tracing.
  • Riemann - Monitors distributed systems.
  • Sensu - Monitoring for today's infrastructure.
  • SkyWalking - Application performance monitor tool for distributed systems, especially designed for microservices, cloud native and container-based (Docker, K8s, Mesos) architectures.
  • Beats - Lightweight shippers for Elasticsearch & Logstash.
  • Collectd - The system statistics collection daemon.
  • Elastalert - Easy & flexible alerting for Elasticsearch.
  • Microservice Graph Explorer - Navigate and explore all of the microservices in your application in real time using the real application connections.
  • Parallec - Fast parallel asynchronous HTTP/SSH/TCP/Ping client Java library.
  • REST Commander - Fast parallel asynchronous HTTP client as a service to monitor and manage HTTP endpoints.
  • Trace - A visualised stack trace platform designed for microservices.
  • Zabbix - Open source enterprise-class monitoring solution.

Reactivity

  • Simple React - Powerful future streams & asynchronous data structures for Java 8.

Resilience

  • Raft Consensus - Consensus algorithm that is designed to be easy to understand. It's equivalent to Paxos in fault-tolerance and performance.
  • Hystrix - Latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable.
  • Resilience4j - Fault tolerance library designed for Java8 and functional programming.
  • Resilient HTTP - A smart HTTP client with super powers like fault tolerance, dynamic server discovery, auto balancing and reactive recovery, designed for distributed systems.
  • Saboteur - Causing deliberate network mayhem for better resilience.
  • Semian - Resiliency toolkit for Ruby for failing fast.
  • Simian Army - Suite of tools for keeping your cloud operating in top form. Chaos Monkey, the first member, is a resiliency tool that helps ensure that your applications can tolerate random instance failures.
  • Toxiproxy - TCP proxy to simulate network and system conditions for chaos and resiliency testing.

Security

  • OpenID Connect - Libraries, products, and tools implementing current OpenID specifications and related specs.
  • Crtauth - A public key backed client/server authentication system.
  • Dex - Opinionated auth/directory service with pluggable connectors. OpenID Connect provider and third-party OAuth 2.0 delegation.
  • Identity Server - OpenID Connect and OAuth 2.0 Framework for ASP.NET Core.
  • Keycloak - Full-featured and extensible auth service. OpenID Connect provider and third-party OAuth 2.0 delegation.
  • Light OAuth2 - A fast, lightweight and cloud native OAuth 2.0 authorization microservices based on light-java.
  • Login With - Stateless login-with microservice for Google, FB, Github, and more.
  • OSIAM - Open source identity and access management implementing OAuth 2.0 and SCIMv2.
  • Vault - Secures, stores, and tightly controls access to tokens, passwords, certificates, API keys, and other secrets in modern computing.

Serialization

  • Avro - Apache data serialization system providing rich data structures in a compact, fast, binary data format.
  • Cap’n Proto - Insanely fast data interchange format and capability-based RPC system.
  • CBOR - Implementations of the CBOR standard (RFC 7049) in many languages.
  • Jackson - A multi-purpose Java library for processing JSON data format.
  • Cheshire - Clojure JSON and JSON SMILE encoding/decoding.
  • Fastjson - Fast JSON Processor.
  • Ffjson - Faster JSON serialization for Go.
  • FST - Fast java serialization drop in-replacement.
  • Jackson Afterburner - Jackson module that uses bytecode generation to further speed up data binding (+30-40% throughput for serialization, deserialization).
  • Kryo - Java serialization and cloning: fast, efficient, automatic.
  • Protostuff - A serialization library with built-in support for forward-backward compatibility (schema evolution) and validation.
  • SBinary - Library for describing binary formats for Scala types.
  • Cereal - C++11 library for serialization.

Storage

  • Apache Hive - Data warehouse infrastructure built on top of Hadoop.
  • CockroachDB ![c - A cloud-native SQL database modelled after Google Spanner.
  • Elliptics - Fault tolerant distributed key/value storage.
  • Parquet - Columnar storage format available to any project in the Hadoop ecosystem, regardless of the choice of data processing framework, data model or programming language.
  • Couchbase - A distributed database engineered for performance, scalability, and simplified administration.
  • AtlasDB - Transactional layer on top of a key value store.
  • Elasticsearch - Open source distributed, scalable, and highly available search server.
  • InfluxDB - Scalable datastore for metrics, events, and real-time analytics.
  • Reborn - Distributed database fully compatible with redis protocol.
  • Secure Scuttlebutt - P2P database of message-feeds.
  • Tachyon - Memory-centric distributed storage system, enabling reliable data sharing at memory-speed across cluster frameworks.
  • Voldemort - Open source clone of Amazon DynamoDB
  • Manta - Highly scalable, distributed object storage service with integrated compute.
  • ClickHouse - Column-oriented database management system that allows generating analytical data reports in real time.

Testing

  • Spring Cloud Contract - TDD to the level of software architecture.
  • Hikaku - A library that tests if the implementation of a REST-API meets its specification.
  • Mountebank - Cross-platform, multi-protocol test doubles over the wire.
  • VCR - Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests. See the list of ports for implementations in other languages.
  • Wilma - Combined HTTP/HTTPS service stub and transparent proxy solution.
  • Mitmproxy - An interactive console program that allows traffic flows to be intercepted, inspected, modified and replayed.
  • Pact - Contract testing framework for HTTP APIs and non-HTTP asynchronous messaging systems.

Continuous Integration & Delivery

Testing

  • Awesome CI/CD DevOps - A curated list of awesome tools for continuous integration, continuous delivery and DevOps.

Contributing

Sites & Organizations

Emerging Technologies

Sites & Organizations

  • BigchainDB - The scalable blockchain database.
  • Edgware Fabric - Lightweight, agile service bus for systems at the edge of the network, in the physical world.
  • Blockstack - A new decentralized internet where users control their data and apps run on their devices.
  • CEPTR - A recomposable medium for distributed social computing, a semantic self-describing protocol stack, and a cretor of fractal coherence contexts for biomimetic computing.
  • Luna - Visual and textual functional programming language with a focus on productivity, collaboration and development ergonomics.
  • MultiChain - Open platform for building blockchains.
  • Blocknet - The Blocknet makes possible to deliver microservices over a blockchain-based P2P network architecture.
  • ops - Free open source tool to build, run and deploy existing linux applications as unikernels.

Enterprise & Verticals

Unicode

  • Commercetools ![c - Headless commerce platform.
  • Flamingo - Framework to build flexible and modern e-commerce applications.
  • Interact ![c - CRM microservices for rapid delivery of tailored solutions.
  • Skava ![c - Provides microservices for all the functions of your store, and the glue to hold them together.
  • Moltin ![c - E-commerce API for developers.
  • Predix ![c - Industrial microservices platform.

Frameworks / Runtimes

  • Eclipse Microprofile - An open forum to optimize Enterprise Java for a microservices architecture by innovating across multiple implementations and collaborating on common areas of interest with a goal of standardization.
  • Ice - Comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python, and more.
  • Open Liberty - A lightweight open framework for building fast and efficient cloud-native Java microservices.
  • SmallRye - APIs and implementations tailored for cloud development, including Eclipse MicroProfile.
  • Thorntail - An innovative approach to packaging and running Java EE applications by packaging them with just enough of the server runtime to "java -jar" your application.
  • Baratine - Platform for building a network of loosely-coupled POJO microservices.
  • Erlang/OTP - Programming language used to build massively scalable soft real-time systems with requirements on high availability.
  • Finagle - Extensible RPC system for the JVM, used to construct high-concurrency servers.
  • Flogo - Flogo is an open source framework to simplify building efficient & modern serverless functions and edge microservices.
  • GPars - Concurrency and parallelism framework for the JVM.
  • Grenache - A Bittorent-DHT based microservices framework supporting REQ/REP and PUB/SUB patterns over multiple transports.
  • Lagom - Reactive microservices for the JVM.
  • Light-4j - A high throughput, low latency, small memory footprint and more productive microservices platform.
  • Micro - A microservice development runtime.
  • Microserver - Java 8 native, zero configuration, standards based, battle hardened library to run Java REST microservices.
  • Orbit - Modern framework for JVM languages that makes it easier to build and maintain distributed and scalable online services.
  • Quasar - Fibers, channels and actors for the JVM.
  • Wangle - A framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way.

Frontend / UI

Ruby

Platforms

  • Netflix OSS - Netflix open source software ecosystem.
  • STUPS - A set of tools and components by Zalando to provide a convenient and audit-compliant PaaS for multiple autonomous teams on top of AWS.
  • Mantl - Platform for rapidly deploying globally distributed services.
  • Hook.io - Open source provider of microservice and webhook hosting.
  • Express Serverless - An open source, Kubernetes-native, microservices and serverless platform.
  • KintoHub ![c - Microservice package manager empowering developers to easily build and share cloud ready features.
  • Ballerina - Cloud native programming language.

Real Life Stories

Unicode

Service Toolkits

C

  • Kore - Easy to use web application framework for writing scalable web APIs in C.
  • Onion - C library to create simple HTTP servers and web applications.
  • RIBS2 - Library which allows building high-performance internet serving systems.

C++

  • Cap’n Proto RPC - The Cap’n Proto C++ RPC implementation.
  • AnyRPC - Provides a common system to work with a number of different remote procedure call standards, including: JSON-RPC, XML-RPC, MessagePack-RPC.
  • C++ Micro Services - An OSGi-like C++ dynamic module system and service registry.
  • Pion - C++ framework for building lightweight HTTP interfaces.
  • Pistache - A high-performance REST toolkit written in C++.
  • Restbed - Brings asynchronous RESTful functionality to C++11 applications.
  • Served - C++ library for building high-performance RESTful web servers.
  • ULib - Highly optimized class framework for writing C++ applications.

CSharp

  • Microdot - Open source .NET microservices framework.
  • Nancy - Lightweight web framework.
  • Orleans - Provides a straightforward approach to building distributed high-scale computing applications, without the need to learn and apply complex concurrency or other scaling patterns.
  • Akka.NET - Toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications on .NET & Mono.

D

  • Vibe.d - Asynchronous I/O that doesn’t get in your way, written in D.

Erlang VM

  • Plug - A specification and conveniences for composable modules between web applications.
  • Cowboy - Small, fast, modular HTTP server written in Erlang.
  • Mochiweb - Erlang library for building lightweight HTTP servers.