Going Reactive
with Lightbend Platform


Download PDF (2.8 MB)

OVERVIEW

An unprecedented volume of streaming data, driven by an explosion of new devices and combined with 24x7 expectations from users, has pushed the performance demands of today’s systems beyond the ability of traditional software development methods.


Organisations with operations that rely on traditional, monolithic applications are finding themselves unable to react to this changing landscape of real-time systems and are at risk from smaller, more agile newcomers to their markets. These newcomers are able to move quickly because they are free from legacy technology.

Whether serving 10 users or 10 million, organisations who want to retain and grow their market share need new approaches to make their applications reliable, scalable, and able to get value from never-ending streams of data. They need to react to user requirements more quickly than their competition, devote their attention to the business problem instead of wrangling with tightly-coupled legacy technology. They want to get to market faster with more reliable software and happier development teams.

The Lightbend Platform is appropriate for developing almost any software application and will provide many advantages over using a more traditional 3-tier architecture. Where the Lightbend Platform really shines, though, is in the rigorous use cases where you need high reliability, low latency and/or have spiky workloads. The Lightbend Platform’s mixture of streaming and services allows you to move away from data-at-rest and embrace data-in-motion—using resilient, back-pressured streams to extract intelligence from your data as it flies by—then exposing that intelligence through micro-services.

All of this with the scale of an enterprise and the speed of a start-Up.

THE REACTIVE MANIFESTO

In 2014 Jonas Boner, Lightbend CTO and Co-founder, helped write the first draft of the Reactive Manifesto. This was a ‘call to arms’ aimed at revolutionising the way we develop software systems. The authors of the Manifesto enumerated a set of principles that modern software systems need to embrace in order to allow the organisations which rely on them to be successful:

Message-Driven systems, providing a loosely-coupled, location transparent foundation capable of supporting isolated, autonomous services allow us to be elastic (supporting any amount of user load while only using the exact amount of resource necessary) and resilient (allowing our systems to always be available, even in the face of failure). If we’re message-driven, elastic and resilient then we can accomplish the ultimate goal – we can be responsive to users under any and all circumstances.

The Scala language and the Akka toolkit, which form the foundation of the Lightbend Platform embrace and implement these principles. They provide a runtime which provides the foundations upon which Reactive Microservices and real-time streaming systems can be built easily and quickly by development teams.

The Lightbend Platform delivers the following key business benefits.


DEVELOPER PRODUCTIVITY

Reactive Systems allow teams to be just as scalable as the technology itself. LinkedIn scaled up their engineering teams from ~50 to ~500 individuals. They couldn’t have done that if they’d needed complex coordination and cooperation amongst teams developing their systems.

Imagine:

  • Modelling complex, highly concurrent software systems without using locks, threads, race conditions or any of the other challenges presented by more traditional software development methodologies.
  • Developers working on isolated, autonomous, event-driven systems where their changes aren’t at risk of causing cascading failures that bring down an entire system.
  • Launching an entire development environment in a matter of minutes, or taking seconds to see code changes reflected in a running system (automatically, when you recompile).
  • Real-time feedback from monitoring tools that effortlessly integrate so deeply into your programming model that they help you prevent and solve issues before they’re even checked into source control.

This is what leads to teams being successful - delivering new features more quickly, with dramatically fewer failures and far lower maintenance costs.

The Lightbend approach makes the modelling of a business domain a much easier process. By bringing together the domain experts with the technical teams and ensuring that everyone understands the processes within the system, using the Actor Model to map objects in the Real World to objects in the system and model their interactions, we build a system that naturally maps to the thing being modelled.

Once developers have experienced working with Akka and other Lightbend technologies they never worry about using them again on future projects.



DEPLOYMENT VELOCITY

Weight Watchers found they were able to deploy their services in less than 20 minutes with no downtime after going Reactive. They had been spending 3-4 hours deploying an application, often with traumatic downtime, in their old system. This has helped drive 5 quarters of continual growth at Weight Watchers.

Norwegian Cruise Lines reported an estimated 400% increase in the rate of deployment after redeveloping their system using the Play Framework. That’s over 65 deployments with no crashes or downtime.

Customers coming from a more traditional software development approach are surprised by how fast deployment is when working with the Reactive Platform. Going from a release every one or two weeks to deploying dozens of times a day is not uncommon. Releases that used to take hours, days, or longer now happen in minutes.

New features are built and shipped fast, allowing organisations already dominant in a business area to stay dominant, defending their territory against smaller, more agile competitors.



DECREASE IN INFRASTRUCTURE COSTS

PayPal processes over one billion streaming events per day on just 8 VMs, where previously they needed over 100 VMs.

T-Mobile in the US moved from using 144 machines, each processing 13,000 messages/second, to just 12 machines, each processing 5 million messages/second.

Whitepages reported a 90% reduction in the numbers of servers being used to run their application, going from 60 servers to 5, resulting in a huge savings on infrastructure costs.

Reactive Systems provide opportunities for dramatic cost savings on infrastructure.

At least 50% infrastructure reduction is reported by all Lightbend customers, and most experience much greater improvement. This is due to the asynchronous, non-blocking, message-driven nature of the underlying Actor Model runtime of Akka.



ELASTICITY

Zalando scales 100x every day in order to support the system load brought about by their daily sales promotions. Then they scale back down when the sales are over and use only the infrastructure required to support current load. Zalando’s business model would be completely unaffordable with a more traditional development approach.

William Hill scales 100x on a weekly basis, providing real-time personalized offers to users during peaks in demand on weekends and during major sporting events.

HPE performs real-time analysis on billions of telemetry events from storage devices used by their customers to predict failures before they happen. Their system will scale beyond even this magnitude as the number of devices in use increases thanks to its Reactive nature.

Reactive Systems are able to scale to a degree that, until now, simply wasn’t possible.



RESILIENCE

Verizon chose to rebuild their customer-facing system with Play and Akka after experiencing regular outages during high-load events, like iPhone launches and Black Friday. They expected 43 million customers to upgrade to the new iPhone when it was launched and they mandated zero down time. Their new system has experienced no downtime at all since its launch.

Walmart Canada also experienced outages at vital times until they bolstered critical parts of their system with Lightbend’s Reactive technology. They experienced their first Black Friday without any downtime, and needed ~50% less infrastructure.

The Guardian has served ~750 million page views per month for over 4 years with no downtime.

Reactive Systems are able to self-heal and continue operating in the face of inevitable failures that occur in production environments.



RESPONSIVENESS

Verizon was able to increase responsiveness to their customers way beyond the industry average of 6 or 7 seconds. They cut response time to just 2.4 seconds.

Walmart Canada supports millions of requests per hour they receive from customers with ease.

Increasing Resilience and Elasticity naturally increases responsiveness. No matter what is happening your system can respond in a meaningful way to users. This responsiveness means users continue to trust your application. Even if their experience is degraded in some way, no failure affects the entire system.


TOTAL COST OF OWNERSHIP

When evaluating a programming-model or development platform it’s vital to take into account not just the costs of development of an application but also the operational costs. There are several reasons why Reactive Systems offer a reduction in TCO compared to systems developed in a more traditional manner.

Reducing infrastructure costs and increasing responsiveness

This means you can do more with less. Building your systems using an asynchronous, non-blocking runtime platform can result in significant cost savings.

Reducing the frequency and impact of failure

All systems will fail at some point under certain conditions. The cost to your organisation, in terms of both damage to brand reputation as well as the consequences of failing to meet SLAs, can be huge. Reactive Systems are designed such that they fail less often and, on those occasions when failure does occur, they can continue to operate in a degraded fashion and self-heal to keep the impact of the failure to an absolute minimum.

Increasing Time-to-Value and launching new features more quickly

The more quickly you can prove the value of a system and the more quickly you can react to user demands and ship new features the more income/value can be derived from that system.


EMBRACING THE LEGACY

Sometimes it’s just not cost-effective, or it’s just too risky, to replace the entire legacy system. When that’s the case Lightbend can help you get the most out of what you’ve already got – or what can’t be replaced right away.

Walmart and Verizon both made use of Lightbend’s expertise to improve their failing legacy systems without completely replacing them. They took what couldn’t be replaced and integrated with it, wrapping it in a Reactive outer-layer or running a Reactive System alongside it.

SUMMARY

In a competitive environment you need to be able to focus your attention on giving your customers what they need, when they need it. You can’t afford to have a project fail because your technology choices are too complex for you or your team.

Lightbend Platform offers a developer-friendly programming model that allows you to quickly, effectively, and securely produce responsive, resilient software systems for your business, and then scale them as much (and as often) as you like.

Questions?