Focus on your algorithms,
not your infrastructure.

Wallaroo is an ultrafast framework for building & operating
stateful data applications without worrying about scale.

Wally plain

Deploy Rapidly. Scale Automatically. Run Anywhere.

Rapid growth could happen at any moment. Your time is scarce, and there is much to do. You need to be nimble and move fast, but infrastructure is in your way.

Wallaroo makes the infrastructure disappear so you can innovate quickly, scale automatically, and run on-premise or in any cloud at low cost. It lets you deploy distributed stateful applications that go from prototype to production with no code change and adjust capacity on demand. Streaming API for native Python is out now, with Go and “Batch” soon.

About Wallaroo

Wallaroo handles the mechanics of scaling, state management, resiliency, message delivery, and more, so you don't have to. Plus, it’s ultrafast, with response times in the microseconds if you need it.

Imagic export

Scale-independent

Write to Wallaroo's scale-independent API and then run your code across any number of servers whether on-premise or in the cloud.
more...

Api export

Simple Native APIs

Write your application in Python using the libraries you know and love. The Wallaroo Python runner embeds the Python 2.7 interpreter (3.x coming very soon) and works with standard tooling like virtualenv.
more...

State mgmt export

State Management

The same code you use to query and update your application state in a single thread works just as well when you use a massive parallel cluster.
more...

Exactly once export

Resilience

Wallaroo manages the resiliency of your state for you. No messing with external databases to maintain your application state. No worrying that it will recover correctly after a failure.
more...

Anyscale export

Autoscaling

Wallaroo will automatically repartition your application state to match available capacity, without having to restart.
more...


Extreme speed export

Extreme Speed

We've designed the engine from the ground up to utilize your resources efficiently. That means you can do the same amount of processing while using fewer resources!
more...

Answer our 30-second survey, and be entered to win a Wallaroo T-Shirt

Example Applications

Wallaroo is ideal for real-time data ingestion and analysis applications in Python, especially if resilient state is needed.

This includes use-cases such as Surveillance, Infrastructure Monitoring, Cybersecurity, Transaction Fraud, Fleet Monitoring, Online Dating. Programmatic Advertising, Trading and Market Risk, and much more. The examples below will help you better understand how you can build these kinds of applications with Wallaroo.

Twitter Trending Hashtags

One common use case is being able to count trending Twitter hashtags in real-time. After tapping into the source data, like from the Twitter firehose, the application developer needs a way to count every single mention of a particular hashtag. The count needs to be stateful so that in the event of a failure, the cumulative count is not lost.

Using Wallaroo, you can easily partition the data by the initial letter of the hashtag. For example, #dodgers would go to the “#d” partition, and #cubs would go to the “#c” partition.

Once you have the partitioning setup this way, you can build the application using one worker that holds all 26 of these partitions. When moving the application into production, scaling up additional workers (in this example, up to 26) requires no further code changes to your application.

Example twit
Example marketapp

Market Data Trade Limits

Another use case that follows this same model is in the financial space. Wallaroo Labs has built this kind of application for our clients in electronic trading.

The latest bid/ask price for a particular ticker symbol would be held in a state object that could be used for reference when looking to execute a trade or be used to power a dashboard. Again, the application would require this to be stateful, to protect against failure scenarios.

A feed of Market Data includes the latest bid and ask prices for a ticker symbol. An example of an individual message would look something like:

AAPL: { Bid: 159.53, Ask: 159.54 }

Using Wallaroo, you can easily partition the data by the initial letter of the ticker symbol. For example, AAPL would go to the “A” partition, and NFLX would go to the “N” partition.

Once you have the partitioning setup this way, you can build the application using one worker that holds all 26 of these partitions. When moving the application into production, scaling up additional workers (in this example, up to 26) requires no further code changes to your application.

Event-based Windowing

Certain applications require processing over a "window" of data. This window can be time, numbers of messages or an arbitrary metric.

Wallaroo supports event-driven windowing. In event-driven windowing, the boundaries of each window are determined outside of Wallaroo and can be triggered by any event.

One example that makes use of event-driven windowing is log file analysis that produces statistics for server log files, counting different return codes on a daily basis.

You can read more about event-based windowing and processing statistics for server log files in this post

In summary, Wallaroo gives you:

  • One programming model that carries your application from development to production.
  • Built-in state management, so you don’t need to write your own and have another technology that needs to scale with your primary application.
  • A flexible way to partition data, based on your own applications’ needs.
This should give you a good idea of the kinds of use cases that Wallaroo excels at, and allow you to picture how to adopt Wallaroo to your particular needs.

Selected Posts

Stream Processing in Python with Wallaroo

Wallaroo’s Python API lets you write true streaming data applications in Python.
Read More.

How Wallaroo Scales Distributed State

How to write distributed applications without worrying about scale.
Read More.

Our Secret Sauce

A high-level look at how Wallaroo acheives excellent performance.
Read More.

What People are Saying

About Us

Wallaroo makes the infrastructure virtually disappear so you get rapid deployment, very low operating cost, and elastic capacity with zero downtime for your applications in big data, stream processing, machine learning, and microservices.

Our Contacts

222 Broadway,
New York, NY 10038

(646) 801-3168