What is Proteus¶
Proteus is a solution for building cloud native applications. Building cloud native applications present the application developer two major challenges - development and operations. In the past applications where monolithic and easier to operate and reason about. Modern cloud applications present a host of difficult challenges such as application networking, circuit breakers, load balancing, and more. Instead of layering on top of legacy communication protocols and giving developers more nobs to turn, Proteus takes a novel approach to this solution.
Proteus provides a solution built on three layers. First Proteus is reactive, and not just at the application layer. Proteus is reactive at the network layer. Unlike other solutions built on legacy network models, Proteus is built on an application networking stack designed for cloud native application. This provides the developer with powerful tools to build real-time streaming applications. Secondly, Proteus is smart. Unlike other solutions that provide yet more knobs to turn, Proteus uses information about your applications and application traffic to prevent things like thundering herds, retry storms, and other common problems. Finally Proteus provides strong contracts between applications. The contracts provide a developer with implicit version information, information about data being exchanged, the interaction model between applications, and presence aware service discovery.
The Proteus ecosystem consists of several core components as well as ones that add additional features:
RSocket RPC - Reactive RPC layer that supports Protobuf, raw RSockets, and shortly GraphQL. This can be used with or without a Broker.
Proteus Broker - Cloud native message broker that provides virtual connections directly between applications, regardless of location.
Proteus Console - web portal into Proteus providing management and insights
Proteus HTTP Gateway - an HTTP gateway that leverages the broker and Proteus RPC to create an HTTP/1.1 Restful bridge into the Proteus ecosystem for legacy applications.
Proteus Metrics - Proteus will lets you bridge in metrics from applications connected to Proteus, including external applications. All you need is a connection to the broker.
Proteus Open Tracing - Leverages the Proteus ecosystem and collects Open Tracing information from any location.
This diagram illustrates the Proteus Architecture and some key ecosystem components.