SlideShare a Scribd company logo
THE RESILIENT ENTERPRISE
Master class one
Anand is deeply rooted in technology. Over the past 15 years he has been involved
in the realization of several Omni channel commerce implementations across travel,
hospitality and the retail industries. He is amazed at the ‘’constant acceleration’’ of
technology innovation and it’s impact on our daily responsibilities as technologists.
Anand Raman
Director, Technology
Sagar has helped our clients develop leading solutions in social, travel and eRetail
space. Recently his team build a popular & engaging social shopping app for a large
US retailer. Recently Sagar has been developing a POV bridging natural language
processing & machine learning technology spaces.
Sagar Prasad
Architect – Social, Search & Recommendation System
https://twitter.com/rajaramc/status/517457240853577729
Our World Is Changing on 3 Dimensions
Scale
Complexity
Experience
 Capturing All Interactions
 Market place platforms
 Limited time offers
 Omni channel (flexible fulfilment)
 Integrations
 Legacy systems
 Real time processing
 Analytics & Business Intelligence
 Products as platforms
 Devices / Touch points
 Responsive / Rich / Interactive
 Low latency
 Personalized / Ever present
WHAT USED TO BE THIS IS NOW THIS
On-Premise
Hosting
Cloud
Aware
Centralized
RDBMS
Distributed
NoSqls
Monolithic
Arch
Micro-
Services
Buy Build
Vendor
Packages
Open
Source
Async
Everywhere
Automate
Everything
Devops
Polyglot
Architectures
Partition
Everything
WHAT WILL YOU BET ON for a
Resilient Enterprise Ecosystem
NEW TOOLS ARE ON THE HORIZON
Microservices
http://wallpapertvs.com/violet-sky/
What Are Microservices
http://martinfowler.com/articles/microservices.html
• Well defined scope
• Small enough
• Self contained
• Independently
developed, deployed
Why Microservices
• Speed to market
• Maintainable
• Suited for 2-5 year
rewrite cycle
• Multiple teams
• TRULY POLYGLOT
(teams * tech stack)
Today’s Use case
Client Layer
Search Micro
Service
Listing Micro
Service
WebApplication
Value Objects
Mediator
Search Service
Stub
Review
Service
Stub
Image Service
Stub
Search Service
Review Service
Image Service
ETSY
JSONOverHTTP
#1 : Chatty Clients
Initial
Search Call
1
2
3
n
Classic waterfall
Search call is followed by
“pairs” of “synchronous”
review and image calls
How to compose calls
Effectively & Efficiently
Client Layer
Search Micro
Service
Listing Micro
Service
WebApplication
Value Objects
Mediator
Search Service
Stub
Review
Service
Stub
Image Service
Stub
Search Service
Review Service
Image Service
JSON
Over
HTTP
#2 : Data Serialization In Polyglot Env.
Micro-
services
Data
Serialization
Async
Call
Composition
Resiliency
Declarative
Call
Composition
System.out.println(“Hello W
Workspace Tour
Reviewed
Image Service
Started
Embedded
Containers
Captured
Call Timeline
Imperative
Composition
Recap
TimeLine
Initial
Search Call
1
2
3
n
Classic waterfall
Search call is followed by
“pairs” of “synchronous”
review and image calls
Micro-
services
Data
Serialization
Async
Call
Composition
Resiliency
Declarative
Call
Composition
ProtoBuf
Define Message Structure
Code Generator
C++ Java Python…
Servers & Clients • Language & Platform neutral,
flexible, efficient way to serialize
structured data
• Binary format
• Implemented in various
languages: Java, C++, Python ,
Go …
System.out.println(“Hello W
Recap
Updated
Proto Definition
Tested
Restarted
Container
Enhanced
Search Service
+ Interoperability
+ Size & Performance
+ Backward compatibility
+ Well documented
+ Model schemas efficiently
+ Extensibility & Validations
WHY CHOOSE DATA SERIALIZATION
Micro-
services
Data
Serialization
Async
Call
Composition
Resiliency
Declarative
Call
Composition
http://upload.wikimedia.org/wikipedia/commons/e/e7/CNW_yard,_Chicago.jpg
ReactiveX
+ Composing, Transforming
+ Error Handling
+ Concurrency
Functional Constructs for
Composing Data Streams
Rx-Programming
Composes
asynchronous and
event-based data
flows using observable
sequences
Observable f1
Observer,
Subscriber
f2 f3
map merge
Another Example
Why RxJava
• Well Documented
• Polyglot Implementation
• Composable
• Declarative ( fluent )
• Everything is an Observable
• Future, Promise are hard
Imperative (pull) vs. Reactive (push)
Mediator
Service
Stub
Service
Imperative
Mediator
Observable
Stub Service
Reactive
Service Stub
1
2
Code
Ob. StubMed. Service
Ob. StubMed. Service
Ob. StubMed. Service
System.out.println(“Hello W
While The Timeline Looks Familiar;
Initial
Search Call
1
2
3
n
Indistinguishable from
Imperative style
Search call is still followed by
“pairs” of “synchronous”
review and image calls
We Have an Effective Composition
All You May Ever Need
Async
Conditional
Parallel
Processing
Rx
Combining
Error
Handling
Filtering Transform …….
Micro-
services
Data
Serialization
Async
Call
Composition
Resiliency
Declarative
Call
Composition
System.out.println(“Hello W
Recap : TimeLine
Initial
Search Call
Execution profile has changed
completely
After the initial search call all
calls to fetch images and
reviews are Asynchronous
Power of A directive
Micro-
services
Data
Serialization
Async
Call
Composition
Resiliency
Declarative
Call
Composition
Chronology Of a Failure
https://github.com/Netflix/Hystrix/wiki
HystrixCommand
run
failover
constructor
Command Name
Command Properties
System.out.println(“Hello W
Recap
• CB protected the application
• Prevented poorly performing calls from blocking
main execution thread
• Essential at all layers; especially for external
services
http://bit.ly/xi2014-reactive
Questions
Be social
RxJava for Resilient Enterprise

More Related Content

Similar to RxJava for Resilient Enterprise

Backbase Webinar: Next Level Mobile Banking
Backbase Webinar: Next Level Mobile Banking Backbase Webinar: Next Level Mobile Banking
Backbase Webinar: Next Level Mobile Banking
Backbase
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .Net
Richard Banks
 
Brian Mullen [InfluxData] | InfluxDB - The Smart Data Platform | InfluxDays 2022
Brian Mullen [InfluxData] | InfluxDB - The Smart Data Platform | InfluxDays 2022Brian Mullen [InfluxData] | InfluxDB - The Smart Data Platform | InfluxDays 2022
Brian Mullen [InfluxData] | InfluxDB - The Smart Data Platform | InfluxDays 2022
InfluxData
 
Backbase Webinar: Next Level Mobile Banking
Backbase Webinar: Next Level Mobile Banking Backbase Webinar: Next Level Mobile Banking
Backbase Webinar: Next Level Mobile Banking
Backbase
 
Qcon London 2017 - Architecture overhaul - Ad serving @ Spotify scale
Qcon London 2017 -  Architecture overhaul - Ad serving @ Spotify scaleQcon London 2017 -  Architecture overhaul - Ad serving @ Spotify scale
Qcon London 2017 - Architecture overhaul - Ad serving @ Spotify scale
Kinshuk Mishra
 
Soa & The Next 1000 Days Of The Web
Soa & The Next 1000 Days Of The WebSoa & The Next 1000 Days Of The Web
Soa & The Next 1000 Days Of The Web
Raja SP
 
Reactive Architectures
Reactive ArchitecturesReactive Architectures
Reactive Architectures
Ralph Winzinger
 
Microsoft power platform
Microsoft power platformMicrosoft power platform
Microsoft power platform
Jenkins NS
 
Data Streaming with Apache Kafka & MongoDB
Data Streaming with Apache Kafka & MongoDBData Streaming with Apache Kafka & MongoDB
Data Streaming with Apache Kafka & MongoDB
confluent
 
Design and Develop Serverless Applications as Set-Pieces
Design and Develop Serverless Applications as Set-PiecesDesign and Develop Serverless Applications as Set-Pieces
Design and Develop Serverless Applications as Set-Pieces
SheenBrisals
 
Microservices, Microfrontends and Feature Teams
Microservices, Microfrontends and Feature TeamsMicroservices, Microfrontends and Feature Teams
Microservices, Microfrontends and Feature Teams
Giulio Roggero
 
Application Services - CCS Technologies (P) Ltd.
Application Services - CCS Technologies (P) Ltd.Application Services - CCS Technologies (P) Ltd.
Application Services - CCS Technologies (P) Ltd.
CCS Technologies (P) Ltd.
 
agile microservices @scaibo
agile microservices @scaiboagile microservices @scaibo
agile microservices @scaibo
Ciro Donato Caiazzo
 
Introduction to Backend Development (1).pptx
Introduction to Backend Development (1).pptxIntroduction to Backend Development (1).pptx
Introduction to Backend Development (1).pptx
OsuGodbless
 

Similar to RxJava for Resilient Enterprise (20)

Backbase Webinar: Next Level Mobile Banking
Backbase Webinar: Next Level Mobile Banking Backbase Webinar: Next Level Mobile Banking
Backbase Webinar: Next Level Mobile Banking
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .Net
 
Brian Mullen [InfluxData] | InfluxDB - The Smart Data Platform | InfluxDays 2022
Brian Mullen [InfluxData] | InfluxDB - The Smart Data Platform | InfluxDays 2022Brian Mullen [InfluxData] | InfluxDB - The Smart Data Platform | InfluxDays 2022
Brian Mullen [InfluxData] | InfluxDB - The Smart Data Platform | InfluxDays 2022
 
Backbase Webinar: Next Level Mobile Banking
Backbase Webinar: Next Level Mobile Banking Backbase Webinar: Next Level Mobile Banking
Backbase Webinar: Next Level Mobile Banking
 
Qcon London 2017 - Architecture overhaul - Ad serving @ Spotify scale
Qcon London 2017 -  Architecture overhaul - Ad serving @ Spotify scaleQcon London 2017 -  Architecture overhaul - Ad serving @ Spotify scale
Qcon London 2017 - Architecture overhaul - Ad serving @ Spotify scale
 
Soa & The Next 1000 Days Of The Web
Soa & The Next 1000 Days Of The WebSoa & The Next 1000 Days Of The Web
Soa & The Next 1000 Days Of The Web
 
Reactive Architectures
Reactive ArchitecturesReactive Architectures
Reactive Architectures
 
icv
icvicv
icv
 
Microsoft power platform
Microsoft power platformMicrosoft power platform
Microsoft power platform
 
Data Streaming with Apache Kafka & MongoDB
Data Streaming with Apache Kafka & MongoDBData Streaming with Apache Kafka & MongoDB
Data Streaming with Apache Kafka & MongoDB
 
PralayPatoria
PralayPatoriaPralayPatoria
PralayPatoria
 
dhananjay_resume
dhananjay_resumedhananjay_resume
dhananjay_resume
 
Resume
ResumeResume
Resume
 
Design and Develop Serverless Applications as Set-Pieces
Design and Develop Serverless Applications as Set-PiecesDesign and Develop Serverless Applications as Set-Pieces
Design and Develop Serverless Applications as Set-Pieces
 
Microservices, Microfrontends and Feature Teams
Microservices, Microfrontends and Feature TeamsMicroservices, Microfrontends and Feature Teams
Microservices, Microfrontends and Feature Teams
 
Application Services - CCS Technologies (P) Ltd.
Application Services - CCS Technologies (P) Ltd.Application Services - CCS Technologies (P) Ltd.
Application Services - CCS Technologies (P) Ltd.
 
APRO Software
APRO SoftwareAPRO Software
APRO Software
 
agile microservices @scaibo
agile microservices @scaiboagile microservices @scaibo
agile microservices @scaibo
 
Stanly_Bangalore_6_YearsExp_Dotnet -Wipro
Stanly_Bangalore_6_YearsExp_Dotnet -WiproStanly_Bangalore_6_YearsExp_Dotnet -Wipro
Stanly_Bangalore_6_YearsExp_Dotnet -Wipro
 
Introduction to Backend Development (1).pptx
Introduction to Backend Development (1).pptxIntroduction to Backend Development (1).pptx
Introduction to Backend Development (1).pptx
 

Recently uploaded

GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 

Recently uploaded (20)

GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 

RxJava for Resilient Enterprise

Editor's Notes

  1. Our story today revolves around this use case we would have built several times in the past
  2. Reactive programming is a programming paradigm oriented around data flows and the propagation of change.