Source: Reactive Foundation

Reactive Foundation Publishes New Cloud Native Application Design Principles and Announces Two New Projects at Reactive Summit

R2DBC and Reactive Streams projects join Reactive Foundation as cloud native application infrastructure patterns emerge higher up the Kubernetes stack

SAN FRANCISCO, Nov. 10, 2020 (GLOBE NEWSWIRE) -- REACTIVE SUMMIT 2020 -- The Reactive Foundation, a new top-level project within the Linux Foundation, today published The Reactive Principles -- a document describing the technical challenges and patterns that the project seeks to address by advancing Reactive in cloud native application infrastructure. The Reactive Foundation also announced that two open source projects -- R2DBC and Reactive Streams -- have joined the foundation, and that a newly formed Technical Oversight Committee is evaluating additional open source project candidates.

The news represents the growing focus higher above Kubernetes in the cloud native stack, at the application layer. Earlier this year, Google developer advocate Kelsey Hightower tweeted “There’s a ton of effort attempting to ‘modernize’ applications at the infrastructure layer, but without equal investment at the application layer, think frameworks and application servers, we’re only solving half the problem.”

The Reactive Foundation was launched in September of 2019, with founding members Alibaba Cloud, Facebook, Lightbend, VMWare and VLINGO -- establishing a formal open governance model and neutral ecosystem for creating open-source Reactive projects. Reactive design and architecture uses message-driven and event-driven approaches to achieve the resiliency, scalability, and responsiveness that is required for today’s networked cloud native applications.

The recently launched Reactive Principles document incorporates the ideas, techniques, and patterns from both Reactive Programming and Reactive Systems into a set of practical principles, to apply Reactive to cloud native applications to realize the efficiencies of building for and running on the cloud. The document was a collaboration between leading minds in the Reactive and broader distributed computing communities: Jonas Bonér, Roland Kuhn, Ben Christensen, Sergey Bykov, Clement Escoffier, Peter Vlugter, Josh Long, Ben Hindman, Vaughn Vernon, James Roper, Michael Behrendt, Kresten Thorup, Colin Breck, Allard Buijze, Derek Collison, Viktor Klang, Ben Hale, Steve Gury, Tyler Jewell, Ryland Degnan, James Ward, and Stephan Ewen.

“The cloud needs a programming model that brings the same reliability, predictability, and scalability at the application layer that Kubernetes has brought to the infrastructure layer,” said Jonas Bonér, the original author of the Reactive Manifesto and CTO at Lightbend. “Reactive Principles is a collaboration of distributed computing experts who have come together to frame what Reactive Foundation is all about in terms of the projects and technical opportunities we are pursuing higher above Kubernetes at the application layer.”

The Reactive Principles describes key requirements for how cloudnative applications solve the other half of the challenge:

  1. Stay Responsive -- always respond in a timely manner
  2. Accept Uncertainty -- build reliability despite unreliable foundations
  3. Embrace Failure -- expect things to go wrong and build for resilience
  4. Assert Autonomy -- design components that act independently and interact collaboratively
  5. Tailor Consistency -- individualize consistency per component to balance availability and performance
  6. Decouple Time -- process asynchronously to avoid coordination and waiting
  7. Decouple Space -- create flexibility by embracing the network
  8. Handle Dynamics -- continuously adapt to varying demand and resources

The Reactive Relational Database Connectivity (R2DBC) project brings Reactive programming APIs to relational databases, providing a better alternative to JDBC and the "blocking" issues it creates for SQL databases in Reactive Systems. Reactive Streams is an initiative to provide a standard for asynchronous stream processing with non-blocking back pressure, encompassing runtime environments (JVM and JavaScript) as well as network protocols. The initial project of the foundation, RSocket, is an implementation of Reactive Streams that provides a message-driven binary protocol for use on byte stream transports such as TCP, WebSockets, and more.

Additional Resources

About The Reactive Foundation
Reactive Foundation (@ReactiveOSS) is a non-profit software foundation dedicated to being a catalyst for advancing a new landscape of technologies, standards, and vendors. As part of The Linux Foundation, our goal is to serve as a vendor-neutral home for the Reactive projects and initiatives that developers require for distributed system development and the new application design principles that technologists and business leaders need to take full advantage of the cloud. To learn more, visit reactive.foundation.

Editorial Contact
Lonn Johnston for The Reactive Foundation
+1 650.219.7764
lonn@flak42.com