erda is a free, open source orchestration & scheduling project written in Go and released under Apache-2.0. It has 2,755 GitHub stars, 382 forks and 2 open issues, and was last pushed 9 days ago. On this registry it ranks #41 of 64 tracked projects in Orchestration & Scheduling, with 5 head-to-head comparisons available.

What is erda?

What it is

Erda is an open-source, enterprise-grade cloud-native application platform written in Go and licensed under Apache-2.0. It lives in the Kubernetes ecosystem and is organized as a set of repositories that provide a backend, a React user portal, protocol definitions, infrastructure components, pipeline actions, and addons. The project was created by Terminus and aims to support the development of microservice applications through an application-centric model.

The concrete problem Erda addresses is the operational complexity of building, deploying, monitoring, and diagnosing microservice applications across cloud environments. It combines DevOps, microservice governance, and multi-cloud management around Kubernetes, so teams can use one platform for development, operation, monitoring, and problem diagnosis of complex business applications. The stated vision is to build any application, deploy anywhere, and monitor anything.

Key capabilities

  • Provides DevOps workflows for microservice applications, including pipeline actions that can check out source code from GitHub, build Docker images, and create deployments in Kubernetes clusters.
  • Includes microservice governance features such as Application Performance Management, monitoring, log analysis, and an API Gateway.
  • Supports multi-cloud management through a Kubernetes-based architecture for coordinating applications across environments.
  • Offers a core backend that implements RESTful and gRPC interfaces through multiple microservice components.
  • Provides a React-based graphical user portal that communicates with the backend through RESTful APIs.
  • Uses Protocol Buffers in erda-proto to define part of the communication protocols among backend services.
  • Supplies erda-infra as a lightweight Go microservices framework with middleware providers such as Redis, Kafka, and etcd.

Who uses it and how

  • Teams that develop microservice applications can use Erda as an application-centric DevOps platform for building, deploying, and operating services on Kubernetes.
  • Teams can use the multi-cloud management layer to coordinate applications across environments through a Kubernetes-based architecture.
  • Developers can define pipelines from official actions, including source checkout, Docker image build, and Kubernetes deployment steps.
  • Teams can share middleware and third-party service configurations through addons, such as MySQL and Redis configurations across environments.
  • Users can use monitoring, log analysis, and Application Performance Management functions for microservice applications.

Getting started

The README links to Quick Start and Installation, and the described workflow uses Kubernetes deployments and Docker image builds, but it does not list a package manager, Docker image name, or hosted option.

When to use it — and when not to

Use Erda when teams need a Go-based, Kubernetes-centered platform that combines DevOps, microservice governance, and multi-cloud management in one project. Avoid it when the team cannot operate Kubernetes plus middleware such as MySQL, Redis, Kafka, and etcd, because the platform spans multiple repositories and backend services. The repository metadata lists no contributor count, and the README does not list paid products that Erda replaces, so adoption decisions should rely on the current documentation and the project's Apache-2.0 license.

project readme (upstream, from github) — read inline

Erda logo

An enterprise-grade Cloud-Native application platform

license Go Report Card release

Introduction | Quick Start | Installation | Documentation | CHANGELOG | Contributing

Demo

Screenshot

Introduction

Erda is an open-source platform created by Terminus to ensure the development of microservice applications. It provides DevOps, microservice governance, and multi-cloud management capabilities. The multi-cloud architecture based on Kubernetes and application-centric DevOps and microservice governance can make the development, operation, monitoring, and problem diagnosis of complex business applications simpler and more efficient.

Functional Architecture

Erda is mainly composed of the following parts:

  • DevOps
  • Microservice Governance, including Application Performance Management, Monitoring, Log Analysis, API Gateway, etc.
  • Multi-Cloud Management
  • Edge Computing
  • FastData Management

Vision: Build any application, Deploy anywhere, Monitor anything

Architecture

The Erda project consists of multiple repsitories according to different functions. The key repositories are erda, erda-ui, erda-proto, erda-infra, erda-actions, erda-addons.

erda

It is the core repository that implements all the RESTful and gRPC interfaces of the backend services of Erda platform by multiple components in microservice architecture.

erda-ui

It is the graphical user portal of Erda platform built with React with the help of which users can work upon Erda platform very easily. It talks with erda backend services in RESTful APIs.

erda-proto

It defines a part of the communication protocols among erda backend services using Protocol Buffers. All the other protocols among erda backend services will be migrated here in the near future.

erda-infra

It is a lightweight microservices framework implements by golang. It provides many popular middleware providers such as Redis, KafKa, etcd, etc., so that developers can build a module-driven application quickly with help of it. It is also integrated into almost all the backend components in erda.

erda-actions

It holds the definition for the official Pipeline Actions of the Erda Action Marketplace as found at https://www.erda.cloud/market/action. A Pipeline Action plays as a mininal runnable unit in Erda Pipelines such as checking out source code in github, buiding a docker image, creating a deployment in a Kubernetes cluster etc.

erda-addons

It holds the definition for the official Addons of the Erda Addon Marketplace as found at https://www.erda.cloud/market/addon. An Addon holds the configration of a middleware like MySQL, Redis, etc. or a third-party service and it can be shared to different environments of applications, so that developers would not need to import the same configurations again and again in different environments.

There are some extra repositories that plays as customized third-partiy independent components and tools in Erda project such as

  • erda-proto-go generated code for Erda protobuf data modals and protocols.
  • erda-analyzer is the streaming aggregator for metrics and alert data.
  • erda-java-agent is the apm java agent in Erda platform.
  • telegraf is the plugin-driven server agent for collecting & reporting metrics.
  • kubeprober is a large-scale Kubernetes cluster diagnostic tool.
  • beats is the lightweight shippers for Elasticsearch & Logstash.
  • remotedialer is a reverse tunneling dialer.
  • erda-bot is the bot handing Github webhooks.

Quick Start

To get started, see Local installation.

Installation

Erda can be deployed in either a single node or multi-node setup. Please download binaries of Erda release and follow Installation & Configuration Guide to install Erda.

User Manual

To start using Erda, please refer to the following documentation.

Contributing

Contributions are always welcomed. Please refer to Contributing to Erda for details.

Contact Us

If you have any questions, please feel free to contact us.

License

Erda is under the Apache 2.0 license. See the LICENSE file for details.

Frequently asked questions

Is erda free to use?

erda is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does erda do?

An enterprise-grade Cloud-Native application platform for Kubernetes.

What is erda written in?

erda is primarily written in Go. Its source is publicly available at https://github.com/erda-project/erda, and it has 2,755 GitHub stars.