/rudder-server

Privacy and Security focused Segment-alternative, in Golang and React

Primary LanguageGoGNU Affero General Public License v3.0AGPL-3.0

Build Status Release

RudderStack

What is RudderStack?

RudderStack is an open-source Segment alternative for collecting, storing and routing customer event data securely to your data warehouse and dozens of other tools. It is enterprise-ready, and provides a powerful transformation framework to process your event data on the fly.

RudderStack's backend is written in Go, with a rich UI written in React.js.

You can also signup for a 14 day free trial of RudderStack Cloud to experience the product. Click here to get started.

Questions? Please join our Discord channel or read about us on ProductHunt.

Why Use RudderStack?

  • Production-ready: Companies like Mattermost, IFTTT, Torpedo, Grofers, 1mg, Nana, OnceHub, and dozens of large companies use RudderStack for collecting their events. Note: If you are using RudderStack and your name is not on the list, please submit a PR.

  • Extreme Scale: One of our largest installations currently sends 300 Million events/day with peak of 40K req/sec, via a two-node RudderStack setup.

  • Privacy and Security: You can collect and store your customer data without sending everything to a third-party vendor. With RudderStack, you get fine-grained control over what data to forward to which analytical tool.

  • Seamless Integration: RudderStack currently supports integration with over 45 popular destination platforms such as Google Analytics, Amplitude, Mixpanel, Amazon S3, and more. Moreover, it also supports data warehouse integrations for Snowflake, Redshift, PostgreSQL and Google BigQuery.

  • Client-side SDK Support: RudderStack offers client-side SDKs for JavaScript, Android, iOS, and Unity.

  • User-specified Transformation: RudderStack gives you the power to filter or transform your events before sending them to the desired destinations.

Key Features

  • Segment API Compatible: RudderStack is Segment API compatible. So you don't need to change your app if you are using Segment, just integrate the RudderStack SDKs into your app and your events will keep flowing as before (including data-warehouse).

  • Processing Flexibility: With RudderStack's powerful JavaScript-based event transformation framework, you can enhance or transform your event data by combining it with your other internal data. Furthermore, since RudderStack runs inside your cloud or on-premise environment, you can easily access your production data to join with the event data.

  • Unlimited Events: Event volume-based pricing of most of the commercial systems is broken. With RudderStack, you are be able to collect as much data as possible without worrying about overrunning event budgets.

  • Stand-alone System: RudderStack runs as a single Go binary with the dependencies being on a PostgreSQL server and a Node.js service. There is no other dependency required to run RudderStack.

  • Platform-independent: RudderStack is Kubernetes-native and can run on any Kubernetes cluster with our Helm charts. RudderStack is cloud-agnostic and can run on stand-alone machines in all popular cloud platforms, namely AWS, Microsoft Azure, GCP, and others.

  • High Performance: On a single m4.2xlarge AWS EC2 instance, RudderStack can process 3000 events/second.

  • Enhanced Telemetry: To help us improve RudderStack, we collect performance and diagnostic metrics about how you use RudderStack, and how it is working. No customer data is present in the metrics. For technical details, please check out our wiki page on Telemetry.

Our Customers

1mg Grofers IFTTT Mattermost Wynn Casino Acorns Hinge Proposify Barstool Sports

RudderStack Setup

The easiest way to experience RudderStack is to signup for 14-day Free Trial of our hosted service, RudderStack cloud. Click here to get started.

You can also set up and use RudderStack on your platform of choice.

Note: If you are planning to use RudderStack in production, we strongly recommend the Kubernetes helm charts. We update our docker images with bug fixes etc much more frequently than our GitHub repo (where we release once a month).

Once you have installed RudderStack, send test events to verify the setup.

UI Pages

Connections Page

Connections Page

Events Page

Events Page

RudderStack Architecture

RudderStack has two major components, namely:

  • Control Plane: The control plane allows you to manage the configuration of your sources and destinations. There are two options for setting up the connections:

    • Managed control plane: This is the easiest way to manage your source and destination configurations.
    • RudderStack Config Generator: RudderStack also allows you to manage your source and destination configurations without having to sign up and use our hosted services. Please note that you cannot create transformations or Live Debugger with the RudderStack Config Generator.
  • Data Plane: This is the core engine that is responsible for:

    • Receiving and buffering the event data
    • Transforming the event data into the required destination format, and
    • Relaying it to the destination

For a detailed understanding of the RudderStack architecture, please check our documentation.

A high-level view of RudderStack's architecture is as shown: Architecture

License

RudderStack server is released under the AGPLv3 License.

Contribute

We would love to see you contribute to RudderStack. Get more information on how to contribute here.

Wiki

For more information on RudderStack's features and functionalities, make sure you check out our Wiki page.

Follow Us