The Case for Durable Workflow
How LittleHorse helps you ship faster and avoid 2am pages.
Distributed state is hard.
Modern applications are built as distributed systems made of many separate parts. They include internal services, external services, and sometimes require human input. These services need to change quickly to keep up with new demands. Handling requests can take anywhere from a few milliseconds to several months.
But problems can happen! Networks might stop working, servers can crash, or one part might need to wait for another. Therefore, it's important to be able watch how everything works, fix problems, and make changes when needed.
And it costs you time, money, and sleep.
There are tools you can use to wrangle this mess, like distributed tracing, queueing, saga transactions, the transactional outbox pattern, and others. However, they involve a lot of manual toil and are prone to bugs.
Most of all, they are hard to explain to Product Managers who want the feature delivered yesterday and they don't always keep you safe from the 2am page.
LittleHorse puts you in the saddle.
LittleHorse is a durable runtime environment that allows you to reliably program processes that run in a distributed environment as if they were a single process.
We provide an easy-to-learn, expressive, and developer-friendly SDK which makes reliable applications easy to build and maintain.
Understanding Workflow
How LittleHorse tames the chaos of modern distributed systems.
Define your tasks.
A Task is a unit of work that can be executed as a step in a workflow. Tasks are Java, Go, Python, or DotNet functions and methods that YOU write.
A Task Worker opens a connection to the LittleHorse Server and waits to be told to execute a Task. When the time is right, it runs your Task Method and returns the result to LittleHorse.
Define your workflows.
A Workflow is a blueprint defining a series of steps to be executed by LittleHorse. A Step can be a Task, or it can be something more complex like waiting for a callback, a timer, or a task for a human to execute.
Workflows are defined in code using our SDK's, and they are extremely flexible, allowing you to automate any process.
Let LittleHorse handle the rest.
Once you've defined your workflows, all you need to do is tell LittleHorse to run it using our API or our dashboard!
The LittleHorse Server will ensure that your workflow runs to completion as expected, giving you full visibility into everything that's happening along the way.
Orchestration For Any Process
Flexible, accessible, and powerful orchestration, suitable for startups and enterprises alike.
Adopt incrementally
Start making your applications invincible and observable one piece at a time, without throwing away any code.
LittleHorse's observability features transform your existing code from tech debt into a set of reusable tasks, ready to be composed into workflows.
By engineers, for engineers
Open-source and built with love, LittleHorse is easy to learn and allows you to define workflows using a natural SDK in Java, Go, Python, or DotNet. No need to learn complex frameworks like BPMN or DMN.
LittleHorse puts you in the saddle so that you can ship faster and sleep through the night.
On Prem or in the Cloud
The LittleHorse Server is open-source and can be run anywhere. We also have a managed cloud service and on-prem support through a Kubernetes operator.
Integrating software and people
The Workflow SDK offers maximum flexibility to control even the most complex techincal processes. But we also have User Tasks which allow you to seamlessly incorporate input from your users into a workflow.
Enjoy the best of both worlds: the power of workflow systems and the flexibility of modern software development.
Learn More
Learn how to simplify your application architecture with LittleHorse.
Get Started with LittleHorse
Seen enough? Saddle up and bring balance to your microservices today.