Build and scale real-time applications as easily as writing a script
A fast, stream-processing framework. Wallaroo makes it easy to react to data in real-time. By eliminating infrastructure complexity, going from prototype to production has never been simpler.
Answer our 30-second survey, and be entered to win a Wallaroo T-Shirt.
What is Wallaroo?
When we set out to build Wallaroo, we had several high-level goals in mind:
- Create a dependable and resilient distributed computing framework
- Take care of the complexities of distributed computing "plumbing," allowing developers to focus on their business logic
- Provide high-performance & low-latency data processing
- Be portable and deploy easily (i.e., run on-prem or any cloud)
- Manage in-memory state for the application
- Allow applications to scale as needed, even when they are live and up-and-running
What makes Wallaroo unique
Wallaroo is a little different than most stream processing tools. While most require the JVM, Wallaroo can be deployed as a separate binary. This means no more jar files. Wallaroo also isn't locked to just using Kafka as a source, use any source you like. Application logic can be written in either Python 2, Go, or Pony; with more coming soon.
As easy as:
docker pull wallaroo-labs-docker-wallaroolabs.bintray.io/release/wallaroo:0.5.2
""" This is an example application that receives strings as input and outputs the reversed strings. """ def application_setup(args): # see ./examples/python/reverse/ for the full example and how to run it @wallaroo.decoder(header_length=4, length_fmt=">I") def decoder(bs): return bs.decode("utf-8") @wallaroo.computation(name="reverse") def reverse(data): return data[::-1] @wallaroo.encoder def encoder(data): # data is a string return data + "\n"
Are you the sort who just wants to get going? Dive right into our documentation then! It will get you up and running with Wallaroo.
More information is also on our blog. There you can find more insight into what we are working on and industry use-cases.
Wallaroo currently exists as a mono-repo. All the source that is Wallaroo is located in this repo. See application structure for more information.
Trying to figure out how to get started?
We welcome contributions. Please see our Contribution Guide
For your pull request to be accepted you will need to accept our Contributor License Agreement
- You can run all Wallaroo code in a non-production environment without restriction.
- You can run all Wallaroo code in a production environment for free on up to 3 server or 24 cpus.
- If you want to run Wallaroo Enterprise version features in production above 3 servers or 24 cpus, you have to obtain a license.
- You can modify and redistribute any Wallaroo code
- Anyone who uses your modified or redistributed code is bound by the same license and needs to obtain a Wallaroo Enterprise license to run on more than 3 servers or 24 cpus in a production environment.