An enterprise-grade Cloud-Native application platform
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.
Erda is mainly composed of the following parts:
- 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
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.
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.
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.
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.
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.
To get started, see Local installation.
To start using Erda, please refer to the following documentation.
Contributions are always welcomed. Please refer to Contributing to Erda for details.
If you have any questions, please feel free to contact us.
Zhihu：Erda技术团队 (A Chinese knowledge community, similar to Quora.)
WeChat Official Account:
Erda is under the Apache 2.0 license. See the LICENSE file for details.