Data and logic together

Clustering from within

Our architectural first principles treat the app, not the database, as the system of record for data. Apps cluster from within to optimize access to logic and data.

how-first-principles
how-first-principles
data_base_icon
Apps are in-mem DBs, recoverable, and movable
Apps bundle their transactional data and logic together to eliminate coherence risks. Apps can recover state through event sourcing. Apps have location transparency for execution in environments close to end users.
multiple_read_write_icon
Apps have multiple read-write instances
Apps can have multiple instances for increasing throughput horizontally and optimizing efficiency. Data is automatically sharded across instances. Write instances replicate and converge modifications to data - like Google docs for your app’s data.
hybrid_environments_icon
Apps execute across hybrid environments
Apps securely self-organize through masterless clustering with built-in split brain resolution. Apps can federate across clouds, regions, or data centers through reliable gRPC and brokerless messaging.

0 → ∞ → 0

Distributing from within

Akka apps are microservices that embed an Akka runtime that distributes data everywhere it needs to be. Apps scale along four dimensions to ensure elasticity and resilience.

Akka apps shard data and segregate queries while applying dynamic compute separately to each entity and view component type.

how-scale-everything
how-scale-everything
Sharded data

App data is partitioned across in-memory, durable nodes. Akka routes user requests to the correct instance.

how-data-sharding
Data rebalancing

Data shards are re-balanced as the number of runtime nodes changes.

how-data-rebalancing
Query elasticity

Data queries are offloaded to separate compute. Services scale their entity and view components separately.

how-query-elasticity

Always recover

Akka apps can auto-recover by persisting state changes. Your app’s state changes are captured as replayable, sequential snapshots and events. The event store is Akka-managed infrastructure that grows and shrinks as needed.

empty-recovered-state
empty-recovered-state

Integration ready

Synchronize
Synchronize

For unreliable environments and digital twins.

Apps synchronize and rationalize their state with a peer instance without concern for data volume, sequence, or network connectivity.

old-share-icon
Share

For advertising changes with interested peers.

Apps advertise and broadcast state changes over brokerless, reliable messaging that other apps can subscribe to.

stream
Stream

For continuous real-time data processing.

Apps merge, map, transform, shift, and calculate data in real time with a continuous operating model.

akka_share_icon
Synthesize

For transforming operational data into analytics.

Apps define projections which modify, push, and propagate data changes into other Akka apps or 3rd party data systems, especially analytics warehouses.

Embedded expertise

Responsive by Design means we build with the proven design patterns from the Reactive Principles - endorsed by 33,000+ experts that signed the Reactive Manifesto. And, we bake them into your services and the Akka runtime so you don’t have to learn or implement them.
how-embedded-expertise
how-embedded-expertise

Stay Responsive
to Change.