Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

awesome-microservices

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

Last synced: 3 days ago
JSON representation

  • Platforms

    • Mantl - Platform for rapidly deploying globally distributed services.
    • OpenWhisk - Serverless, open source cloud platform that executes functions in response to events at any scale.
    • 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.
    • Express Serverless - An open source, Kubernetes-native, microservices and serverless platform.
    • Lightbend ![c - Platform for building scalable reactive systems on the JVM.
    • Netflix OSS - Netflix open source software ecosystem.
  • Capabilities

    • API Gateways / Edge Services

    • Storage

      • Manta - Highly scalable, distributed object storage service with integrated compute.
      • 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.
      • Manta - Highly scalable, distributed object storage service with integrated compute.
      • 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.
    • Messaging

      • Mosca - MQTT broker as a module.
      • 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.
      • Nanomsg - Socket library that provides several common communication patterns for building distributed systems.
    • Monitoring & Debugging

      • Watcher - Alerting for Elasticsearch.
      • 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.
    • Configuration & Discovery

      • Consul - Service discovery and configuration made easy. Distributed, highly available, and datacenter-aware.
      • 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.
    • Coordination & Governance

      • AWS Step Functions ![c - Coordinate the components of distributed applications and microservices using visual workflows.
      • Azuqua ![c - Orchestration and governance platform for distributed applications.
      • Cadence - Fault-oblivious stateful code platform.
      • Zeebe - Define, orchestrate, and monitor business processes across microservices.
    • Elasticity

      • Galaxy - Open source high-performance in-memory data-grid.
      • 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.
    • Job Schedulers / Workload Automation

      • JobScheduler - Open Source solution for enterprise-level workload automation. It is used to launch executable files and shell scripts and to run database procedures automatically.
      • Schedulix - Open source enterprise job scheduling system lays down ground-breaking standards for the professional automation of IT processes in advanced system environments.
    • Logging

      • Suro - Distributed data pipeline which enables services for moving, aggregating, routing, storing data.
    • Resilience

      • Raft Consensus - Consensus algorithm that is designed to be easy to understand. It's equivalent to Paxos in fault-tolerance and performance.
      • Resilient HTTP - A smart HTTP client with super powers like fault tolerance, dynamic server discovery, auto balancing and reactive recovery, designed for distributed systems.
    • Security

      • OpenID Connect - Libraries, products, and tools implementing current OpenID specifications and related specs.
      • 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.
    • Testing

      • Mitmproxy - An interactive console program that allows traffic flows to be intercepted, inspected, modified and replayed.
      • Mountebank - Cross-platform, multi-protocol test doubles over the wire.
      • Spring Cloud Contract - TDD to the level of software architecture.
  • Frameworks / Runtimes

    • Baratine - Platform for building a network of loosely-coupled POJO microservices.
    • 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.
    • Baratine - Platform for building a network of loosely-coupled POJO microservices.
    • Baratine - Platform for building a network of loosely-coupled POJO microservices.
    • Baratine - Platform for building a network of loosely-coupled POJO microservices.
    • Micro - A microservice development runtime.
    • Baratine - Platform for building a network of loosely-coupled POJO microservices.
    • Baratine - Platform for building a network of loosely-coupled POJO microservices.
  • Service Toolkits

    • Polyglot

      • CoAP - Constrained application protocol implementations.
    • C

      • Kore - Easy to use web application framework for writing scalable web APIs in C.
    • C++

    • CSharp

      • Nancy - Lightweight web framework.
    • Go

      • Echo - Fast and unfancy HTTP server framework for Go. Up to 10x faster than the rest.
      • Goji - Minimalistic and flexible request multiplexer for Go.
    • Java VM

      • Modularity - JUXT's Clojure-based modular system.
      • Dropwizard - Java framework for developing ops-friendly, high-performance, RESTful web services.
      • Jersey - RESTful services in Java. JAX-RS reference implementation.
      • Ratpack - Set of Java libraries that facilitate fast, efficient, evolvable and well tested HTTP applications. specific support for the Groovy language is provided.
      • Spark - A micro-framework for creating web applications in Java 8 with minimal effort.
      • Http4k - Lightweight but fully-featured HTTP toolkit written in pure Kotlin that enables the serving and consuming of HTTP services in a functional and consistent way.
      • Ktor - Framework for building asynchronous servers and clients in connected systems using the Kotlin programming language.
      • Akka HTTP - Open source toolkit for building REST/HTTP-based integration layers on top of Scala and Akka.
      • Play - The high velocity web framework for Java and Scala.
      • Armeria - Open-source asynchronous HTTP/2 RPC/REST client/server library built on top of Java 8, Netty, Thrift and gRPC.
      • Restlet - Helps Java developers build web APIs that follow the REST architecture style.
    • Node.js

      • Baucis - To build and maintain scalable HATEOAS/Level 3 REST APIs.
      • ClaudiaJS - Easy to deploy Node.js projects to AWS Lambda and API Gateway.
      • Express - Fast, unopinionated, minimalist web framework for Node.js
      • Restify - Node.js module built specifically to enable you to build correct REST web services.
      • StdLib - Standard library for microservices.
    • PHP

      • API Platform - API-first web framework on top of Symfony with JSON-LD, Schema.org and Hydra support.
      • Fat-Free - A powerful yet easy-to-use PHP micro-framework.
      • Symfony - Micro-framework based on the Symfony components.
    • Python

      • Falcon - Bare-metal Python web API framework for building very fast app backends and microservices.
      • Twisted - Event-driven network programming engine.
    • Ruby

      • Hanami - A modern web framework for Ruby.
    • Perl

      • Mojolicious - Next generation web framework for Perl.
  • Web API Modeling & Documentation

    • JSON

      • JSON:API - A specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests.
    • REST

      • API Blueprint - Tools for your whole API lifecycle. Use it to discuss your API with others. Generate documentation automatically. Or a test suite. Or even some code.
  • Standards / Recommendations

    • CoAP

      • RFC7252 - The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained networks in the Internet of Things.
    • RPC

      • BERT-RPC 1.0 - An attempt to specify a flexible binary serialization and RPC protocol that are compatible with the philosophies of dynamic languages.
    • Messaging

      • STOMP - Simple Text Oriented Messaging Protocol.
    • Service Discovery

      • Hydra - Specifications for interoperable, hypermedia-driven Web APIs.
    • Data Formats

      • RFC7049 - Concise Binary Object Representation (CBOR).
      • MSGPACK - MessagePack Specification.
    • Unicode

      • UNIV8 - The Unicode Consortium. The Unicode Standard, Version 8.0.0, (Mountain View, CA: The Unicode Consortium, 2015. ISBN 978-1-936213-10-8).
    • Vocabularies

      • LOV - Linked open vocabularies.
  • Real Life Stories

  • Theory

  • 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.
      • Predix ![c - Industrial microservices platform.
      • 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.
  • Emerging Technologies

    • Sites & Organizations

      • BigchainDB - The scalable blockchain database.
      • CEPTR - A recomposable medium for distributed social computing, a semantic self-describing protocol stack, and a cretor of fractal coherence contexts for biomimetic computing.
      • Edgware Fabric - Lightweight, agile service bus for systems at the edge of the network, in the physical world.
      • Hyperledger - Open source collaborative effort created to advance cross-industry blockchain technologies. It is a global collaboration, hosted by The Linux Foundation, including leaders in finance, banking, IoT, supply chain, manufacturing and technology.
      • Luna - Visual and textual functional programming language with a focus on productivity, collaboration and development ergonomics.
      • Blocknet - The Blocknet makes possible to deliver microservices over a blockchain-based P2P network architecture.
  • Contributing