Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Netifi: Bringing Microservices to the Enterprise

Netifi: Bringing Microservices to the Enterprise

Enterprises are moving to the cloud and microservices, but few are prepared for the pervasive, performant and bi-directional connectivity required for today’s applications. Developed by Netifi in collaboration with Netflix, Facebook, Pivotal, Alibaba and others, RSocket is an open source networking protocol built specifically for cloud and microservice communication. It combines messaging, stream processing and observability in a single, lightweight solution that provides the connectivity needed for today’s web, mobile and IoT applications.

The presentation will explain how Netifi is using RSocket to simplify the way enterprises architect for the cloud, enabling enterprise developers to build and operate complex networks of services with a faster time to market and using a fraction of the resources compared to legacy technology.

Ryland Degnan

March 07, 2019
Tweet

More Decks by Ryland Degnan

Other Decks in Technology

Transcript

  1. Microservices Have Become Mainstream • 60% have microservices in pilot

    or production • 92% expect to grow their use of microservices in the coming year • 99% report challenges Source: Business Insider - Global Microservices Trends Report - May 2018
  2. When Things Go Wrong: Snap • Spending $500,000,000+ per year

    on infrastructure • Minimum spend contracts with Google and AWS • 2 RPS per server 3
  3. When Things Go Wrong: Lyft • Spending $300,000,000+ over the

    next 3 years • Minimum spend contracts with AWS • “It may become increasingly difficult to maintain
 and improve our performance” 4
  4. Microservices are Challenging! API proxy between load balancer and monolith

    services Source: SIMulate Interactive Actor Network VIsualiZation
  5. Microservices are Challenging! Imperial shuttle API proxy between load balancer

    and monolith services Source: SIMulate Interactive Actor Network VIsualiZation
  6. Microservices are Challenging! Millennium Falcon Source: SIMulate Interactive Actor Network

    VIsualiZation Add some Node based services, backend services to access data
  7. Microservices are Challenging! Source: SIMulate Interactive Actor Network VIsualiZation Add

    second region, connect regions using multi-region database
  8. Microservices are Challenging! Death Star Source: SIMulate Interactive Actor Network

    VIsualiZation Add second region, connect regions using multi-region database
  9. Emerging Reality X Distributed Systems Old Techniques and Technology Dev

    and Ops Challenges Distributed systems are inherently complex and unpredictable in their performance characteristics Applying same techniques and technologies that were used before simply won’t work This has led to development and operational challenges when developing and deploying today’s modern microservice and cloud-native architectures + =
  10. A Brief History of Distributed Applications TCP/IP HTTP COM/DCOM IPX/SPX

    CORBA Networked applications Service-oriented architectures AOL 1990s 2000s 2010s Today
  11. A Brief History of Distributed Applications SOAP XML-RPC REST TCP/IP

    HTTP COM/DCOM IPX/SPX CORBA ESB Networked applications Service-oriented architectures Web 2.0 applications AOL 1990s 2000s 2010s Today
  12. A Brief History of Distributed Applications Service Mesh SOAP XML-RPC

    REST TCP/IP HTTP COM/DCOM IPX/SPX CORBA ESB Networked applications Service-oriented architectures Web 2.0 applications Cloud-native/ Microservices AOL Sidecars 1990s 2000s 2010s Today
  13. RSocket Background Designed for modern cloud applications Built by leaders

    in microservices and cloud computing • Provides a standard approach to connecting and communicating • Solves problems in a consistent way across your application
  14. RSocket Protocol • RSocket is a bi-directional, multiplexed, message-based, binary

    protocol • It provides out of the box support for all interaction models commonly seen in cross-application communication (request-response, streaming) • All interactions models support cancellation, fragmentation, resumability • Reactive Streams (pull-push) back pressure ensures that data is only materialized and transferred when receiver is ready to process it
  15. Flexibility • RSocket is one of the most flexible protocols

    around • Language agnostic • Implementations in Java, JavaScript, C++, .NET, Kotlin, Go and more • Payload agnostic • Protobuf, Thrift, JSON, custom binary • Transport agnostic • TCP, WebSocket, Unix Domain Sockets, Aeron (UDP) and more • No Client/Server distinction • Applications can truly be written once, deployed anywhere
  16. Netifi Overview Enterprise Next-Generation RPC Transport Agnostic 2-10x Faster Than

    HTTP Open Source L7 Protocol Built-in Backpressure Reactive Semantics Security & Access Control Service Discovery Predictive Load Balancing Intelligent routing for RSocket Enterprise Connectors (EI) Observability & Management
  17. Components of TCP/IP Communication Computer A Computer B Application Transport

    Internet Internet Internet Internet Network Access Network Access Network Access Network Access Router #1 Router #2 Application Transport
  18. Components of RSocket Communication API Abstraction Client Library API Abstraction

    Client Library Service A Service B Broker #1 Broker #2
  19. No Agents or Sidecars Faster than HTTP and gRPC Polyglot

    Programming Model Built-in Backpressure over Network Predictive Load Balancing Supports Web, Mobile, and IoT Service mesh agents and application sidecars are bandaids on top of a fundamental communication problem. Unlike competitors, Proteus does not require you to run agents or sidecars on every instance, because Proteus transparently works at the network layer. Proteus RPC, our custom application communication protocol, is 40% faster than gRPC and 200% faster than HTTP with dramatically better P99 latency. Proteus supports development in many different languages and frameworks including: Java, Javascript, C++, Kotlin, Spring Boot, and many more. No need for circuit breakers. Proteus applications signal how much traffic they can handle in realtime using the backpressure support built into Proteus RPC. Applications are only sent the amount of traffic they can handle preventing embarrassing outages. With Proteus there is no need for painful client-side load balancing or setting up software load balancers. Proteus utilizes advanced predictive load balancing techniques that actively monitor downstream throughput and route requests accordingly. Route requests to devices, services, and even individual user's web browsers anywhere in the world. All clients connect into the Proteus routing network which means you are capable of routing to any device or service even if they do not have a public IP address. Netifi Differentiators
  20. Confusion around how to rearchitect their monolithic applications to cloud-native

    microservices. Monolith to Cloud-Native OSS Tyranny of Choice Multi-Cloud and Hybrid Stuck cobbling together various open source projects and building out their own platform teams to support the new infrastructure. Looking to rationalize their development and operations of their cloud-native infrastructure. Datacenter of enterprises expect to grow their use of microservices in the coming year. 92% Solving Real Problems for the Enterprise
  21. RSocket Open Source • RSocket Client Libraries • https://github.com/rsocket/rsocket-java •

    https://github.com/rsocket/rsocket-js • https://github.com/rsocket/rsocket-net • RSocket RPC • https://github.com/rsocket/rsocket-rpc-java • https://github.com/rsocket/rsocket-rpc-js • https://github.com/rsocket/rsocket-rpc-net