SlideShare a Scribd company logo
1 of 19
Download to read offline
From Mainframe to Microservices with
Pivotal Platform & Kafka
SpringOne Platform - October 10, 2019
Dmitry Milman & Ankur Kaneria - Express Scripts, a Cigna Company
Bridging the Data Divide
2
© 2018 Express Scripts. All Rights Reserved.
Agenda
üCompany Background
üPrior Architecture
üMicroservice Architecture
üData Sync Platform
üKafka Libraries and Connectivity Options
üKafka Partitioning Strategies
üPerformance & Health Monitoring
üPerformance Optimization With Caching
üWhat’s Next
3
© 2018 Express Scripts. All Rights Reserved.
What does Express Scripts do ?
üPart of Cigna Corporation
üJust like your medical plan covers visits to your doctor, your
Express Scripts prescription plan covers the medicine your
doctor prescribes
üWe’re one of the largest pharmacy benefits managers in the
United States and one of the country’s largest pharmacies
üServe more than 100 million people
üClaims Volume
üDaily ~6 million
üAnnual ~2 Billion
4
© 2018 Express Scripts. All Rights Reserved.
Executive Summary
• In the past, we rebuilt the same functionality for every big project
• Entity Platform strategy focuses on building once and reusing
• This increases up-front costs, but decreases capital spend over time & increases
speed of delivery
WHY WE’RE MOVING TO ENTITIES
Pharmacy
As A
Platform
Rebates
20/20
Support
Clients
Manage
Products
Orders
Member
Prescription
Orders
Claim
Benefit
Contract
Claim
Benefit
Contract
Member
Benefit
Pharmacy
As A
Platform
Rebates
20/20
Support
Clients
Manage
Products
Orders Prescription Benefit
Member Claim Contract
Data
Sync
5
© 2018 Express Scripts. All Rights Reserved.
Walking the Interaction and Business Tier Stack
User Interaction Channels
(Applications)
Business Platforms
User Interface
Logic
Human Workflow
UI Frameworks
Business platforms
consists of entities
with REST-based
APIs that
completely control
access to a data
domain.
They are first class
citizens.RequiredRequired
Web Sites
Mobile Apps
…and more...
Entity
Platform
Entity
Platform
Entity
Platform
Data Data Data
Person
Membership
Referral
Order
Shipment
Drug
Price Quote
and more...
Interaction APIs
Aggregations
UX-Specific Views
Optional
User-specific order
status
Cross-entity items, not aligned with a UI
that don’t map to an entity.
Optional
Business Process & Logic
6
© 2018 Express Scripts. All Rights Reserved.
Claims History Lookup
Member Site
(Applications)
Business Platforms
Member Website
Used by our members to
view claims history,
orders etc.
RequiredRequired
User
Accounts
Person
Entity
Claims
Entity
Data Data Data
1. Member login-in. Authenticated
through User Accounts
2. A resource id that uniquely identifies
the member is retrieved
3. Using the unique member key,
appropriate member specific claims
history data is accessed and
displayed to the member
1 2 3
7
© 2018 Express Scripts. All Rights Reserved.
Target Sync
Platform
Data Sync Platform (System Architecture)
Source
Service
Platform
Source
DB
Source
Service
Target
Service
Platform
Kafka
Retry Topic
Retry
Stream
Processor
Target
DB*
Target
Service
CDC Topic
Update Topic
CDC
Stream
Processor
Update
Stream
Processor
on error
üChange Data Capture (CDC)
üKafka
üTarget Sync Platform
Error Topic
CDC
Pivotal Platform
* Outside Pivotal Platform
8
© 2018 Express Scripts. All Rights Reserved.
Data Sync Platform (Multi-tenancy, HA & Scalability)
Source
Platform
(Mainframe)
CDC Kafka
Near real-time Streaming
(Commodity Hardware)
Org 1
Org 2
Org 3
Foundation
Target Service Platform (Pivotal Platform)
AZ 1 AZ 2 AZ 3
9
© 2018 Express Scripts. All Rights Reserved.
Kafka Libraries and Connectivity Options
üSeveral options
üProducer & consumer APIs
üStreams API
üConnectors ecosystem (Confluent hub) & Connector API
üSpring’s wrapper (spring-kafka, spring-cloud-stream)
üNo silver bullet
üEvery use-case is different and unique
üDo your own due diligence
10
© 2018 Express Scripts. All Rights Reserved.
General Guidelines
üProducer & Consumer APIs
üApplications directly producing data streams (e.g. clickstreams, logs, IoT…)
üRead a stream and perform real-time actions on it (e.g. send email,
generate alarm, send notification…)
üStreams API
üApplications wanting to consume from Kafka and produce back into Kafka,
also called stream processing
üVery powerful & offers advanced features for complex processing logic
üKstream, Ktable, stateless/stateful processing, state store, aggregations,
punctuation…
11
© 2018 Express Scripts. All Rights Reserved.
General Guidelines (continued)
üConnectors ecosystem (Confluent hub) & connector API
üInteractions with data stores ( e.g. S3, PostgreSQL, MongoDB, HDFS…)
üSpring’s Framework (spring-kafka, spring-cloud-stream)
üJava based applications
üSpring native out of the box capabilities
üHybrid Approach
üStreams API for advanced/complex logic
üSpring-cloud-stream for applications with generic streams processing
and handling
12
© 2018 Express Scripts. All Rights Reserved.
Topic1
Topic2
Topic3
CDC
Stream Join
Table1
Table2
Table3
Tran1 Tran2 Tran3 Tran4 Tran5 Tran6
Merged
Stream
Kafka Partitioning Strategies for CDC
n Tables : n Topics With Multiple Partitions
13
© 2018 Express Scripts. All Rights Reserved.
CDC
Stream Join
Table1
Table2
Table3
Tran1 Tran2 Tran3 Tran4 Tran5 Tran6
Merged
Stream
Partition1
Partition2
Partition3
Kafka Partitioning Strategies for CDC
n Tables : 1 Topic With Multiple Partitions
14
© 2018 Express Scripts. All Rights Reserved.
CDC
Stream Join
Table1
Table2
Table3
Tran1 Tran2 Tran3 Tran4 Tran5 Tran6
Kafka Partitioning Strategies for CDC
n Tables : 1 Topic With 1 Partition
T1.Partition1
T2.Partition1
T2.Partition2
T2.Partition3
Re-Partition
Merged
Stream
15
© 2018 Express Scripts. All Rights Reserved.
Kafka Partitioning strategies for CDC
ü1:1 Table to Kafka topic partitioned by table key
üAllows for highly parallelized consumption
üGood strategy when eventual consistency suffices
üChallenging if strong transactional consistency is need
üMultiple tables to 1 topic with 1 partition
üFirehose type approach
üAllows for strong transactional consistency
üRe-partition for parallelism
üMultiple tables to 1 topic partitioned by common logical key
üAllows for parallelism due to multiple partitions
üAllows for strong transactional consistency
üChallenging if a common key is not present across all table
16
© 2018 Express Scripts. All Rights Reserved.
Performance & Health of the Pipeline
üLatency monitoring
üThroughput monitoring
17
© 2018 Express Scripts. All Rights Reserved.
Target Sync
Platform
Performance Optimization with Caching
Source
Service
Platform
Source
DB
Source
Service
Target
Service
Platform
Kafka
ENTITY CHANGE
Topic
Target
DB
Target
Service
Source
Change Topic
Target
Change Topic
CDC
Stream
Processor
Update
Stream
Processor
ENTITY LATEST
Topic
Cache
Cache
Cache
Distributed
Kafka State
Store
18
© 2018 Express Scripts. All Rights Reserved.
What’s Next
üData Lake for analytics
üMicroservices to act on data events in real time
üEntity first approach
19
© 2018 Express Scripts. All Rights Reserved.
THANK YOU !

More Related Content

What's hot

Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)
Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)
Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)
VMware Tanzu
 

What's hot (20)

Overcoming Regulatory & Compliance Hurdles with Hybrid Cloud EKS and Weave Gi...
Overcoming Regulatory & Compliance Hurdles with Hybrid Cloud EKS and Weave Gi...Overcoming Regulatory & Compliance Hurdles with Hybrid Cloud EKS and Weave Gi...
Overcoming Regulatory & Compliance Hurdles with Hybrid Cloud EKS and Weave Gi...
 
How to Build and Operate a Global Behavioral Change Platform (Neil Adamson, V...
How to Build and Operate a Global Behavioral Change Platform (Neil Adamson, V...How to Build and Operate a Global Behavioral Change Platform (Neil Adamson, V...
How to Build and Operate a Global Behavioral Change Platform (Neil Adamson, V...
 
Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)
Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)
Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)
 
Pivotal Greenplum in Action on AWS, Azure, and GCP - Greenplum Summit 2018
Pivotal Greenplum in Action on AWS, Azure, and GCP - Greenplum Summit 2018Pivotal Greenplum in Action on AWS, Azure, and GCP - Greenplum Summit 2018
Pivotal Greenplum in Action on AWS, Azure, and GCP - Greenplum Summit 2018
 
The Journey to Enterprise PaaS (Cloud Foundry Summit 2014)
The Journey to Enterprise PaaS (Cloud Foundry Summit 2014)The Journey to Enterprise PaaS (Cloud Foundry Summit 2014)
The Journey to Enterprise PaaS (Cloud Foundry Summit 2014)
 
Kafka & Hadoop in Rakuten
Kafka & Hadoop in RakutenKafka & Hadoop in Rakuten
Kafka & Hadoop in Rakuten
 
Gemfire Introduction
Gemfire Introduction Gemfire Introduction
Gemfire Introduction
 
Productionizing Spark ML Pipelines with the Portable Format for Analytics
Productionizing Spark ML Pipelines with the Portable Format for AnalyticsProductionizing Spark ML Pipelines with the Portable Format for Analytics
Productionizing Spark ML Pipelines with the Portable Format for Analytics
 
Using Pivotal Cloud Foundry with Google’s BigQuery and Cloud Vision API
Using Pivotal Cloud Foundry with Google’s BigQuery and Cloud Vision APIUsing Pivotal Cloud Foundry with Google’s BigQuery and Cloud Vision API
Using Pivotal Cloud Foundry with Google’s BigQuery and Cloud Vision API
 
Microservices, DevOps & SRE
Microservices, DevOps & SREMicroservices, DevOps & SRE
Microservices, DevOps & SRE
 
CICS TS v5.5 support for Node.js applications
CICS TS v5.5 support for Node.js applicationsCICS TS v5.5 support for Node.js applications
CICS TS v5.5 support for Node.js applications
 
Introducing Events and Stream Processing into Nationwide Building Society (Ro...
Introducing Events and Stream Processing into Nationwide Building Society (Ro...Introducing Events and Stream Processing into Nationwide Building Society (Ro...
Introducing Events and Stream Processing into Nationwide Building Society (Ro...
 
Transform Your Mainframe Data for the Cloud with Precisely and Apache Kafka
Transform Your Mainframe Data for the Cloud with Precisely and Apache KafkaTransform Your Mainframe Data for the Cloud with Precisely and Apache Kafka
Transform Your Mainframe Data for the Cloud with Precisely and Apache Kafka
 
Solutions presentation
Solutions presentationSolutions presentation
Solutions presentation
 
NRB - BE MAINFRAME DAY 2017 - Case Study
NRB - BE MAINFRAME DAY 2017 - Case StudyNRB - BE MAINFRAME DAY 2017 - Case Study
NRB - BE MAINFRAME DAY 2017 - Case Study
 
Cloud Data Integration
Cloud Data IntegrationCloud Data Integration
Cloud Data Integration
 
Operationalizing AI at scale using MADlib Flow - Greenplum Summit 2019
Operationalizing AI at scale using MADlib Flow - Greenplum Summit 2019Operationalizing AI at scale using MADlib Flow - Greenplum Summit 2019
Operationalizing AI at scale using MADlib Flow - Greenplum Summit 2019
 
When HPC meet ML/DL: Manage HPC Data Center with Kubernetes
When HPC meet ML/DL: Manage HPC Data Center with KubernetesWhen HPC meet ML/DL: Manage HPC Data Center with Kubernetes
When HPC meet ML/DL: Manage HPC Data Center with Kubernetes
 
AI on Greenplum Using
 Apache MADlib and MADlib Flow - Greenplum Summit 2019
AI on Greenplum Using
 Apache MADlib and MADlib Flow - Greenplum Summit 2019AI on Greenplum Using
 Apache MADlib and MADlib Flow - Greenplum Summit 2019
AI on Greenplum Using
 Apache MADlib and MADlib Flow - Greenplum Summit 2019
 
Caching for Microservices Architectures: Session II - Caching Patterns
Caching for Microservices Architectures: Session II - Caching PatternsCaching for Microservices Architectures: Session II - Caching Patterns
Caching for Microservices Architectures: Session II - Caching Patterns
 

Similar to From Mainframe to Microservices with Pivotal Platform and Kafka: Bridging the Data Divide

Express Scripts: Driving Digital Transformation from Mainframe to Microservices
Express Scripts: Driving Digital Transformation from Mainframe to MicroservicesExpress Scripts: Driving Digital Transformation from Mainframe to Microservices
Express Scripts: Driving Digital Transformation from Mainframe to Microservices
confluent
 
Digital Transformation in Healthcare with Kafka—Building a Low Latency Data P...
Digital Transformation in Healthcare with Kafka—Building a Low Latency Data P...Digital Transformation in Healthcare with Kafka—Building a Low Latency Data P...
Digital Transformation in Healthcare with Kafka—Building a Low Latency Data P...
confluent
 
Introducing Events and Stream Processing into Nationwide Building Society
Introducing Events and Stream Processing into Nationwide Building SocietyIntroducing Events and Stream Processing into Nationwide Building Society
Introducing Events and Stream Processing into Nationwide Building Society
confluent
 

Similar to From Mainframe to Microservices with Pivotal Platform and Kafka: Bridging the Data Divide (20)

Express Scripts: Driving Digital Transformation from Mainframe to Microservices
Express Scripts: Driving Digital Transformation from Mainframe to MicroservicesExpress Scripts: Driving Digital Transformation from Mainframe to Microservices
Express Scripts: Driving Digital Transformation from Mainframe to Microservices
 
Digital Transformation in Healthcare with Kafka—Building a Low Latency Data P...
Digital Transformation in Healthcare with Kafka—Building a Low Latency Data P...Digital Transformation in Healthcare with Kafka—Building a Low Latency Data P...
Digital Transformation in Healthcare with Kafka—Building a Low Latency Data P...
 
Data Science at Scale on MPP databases - Use Cases & Open Source Tools
Data Science at Scale on MPP databases - Use Cases & Open Source ToolsData Science at Scale on MPP databases - Use Cases & Open Source Tools
Data Science at Scale on MPP databases - Use Cases & Open Source Tools
 
YugaByte + PKS CloudFoundry Meetup 10/15/2018
YugaByte + PKS CloudFoundry Meetup 10/15/2018YugaByte + PKS CloudFoundry Meetup 10/15/2018
YugaByte + PKS CloudFoundry Meetup 10/15/2018
 
Installing your influx enterprise cluster
Installing your influx enterprise clusterInstalling your influx enterprise cluster
Installing your influx enterprise cluster
 
Kamanja: Driving Business Value through Real-Time Decisioning Solutions
Kamanja: Driving Business Value through Real-Time Decisioning SolutionsKamanja: Driving Business Value through Real-Time Decisioning Solutions
Kamanja: Driving Business Value through Real-Time Decisioning Solutions
 
Streaming healthcare Data pipeline using Apache APIs: Kafka and Spark with Ma...
Streaming healthcare Data pipeline using Apache APIs: Kafka and Spark with Ma...Streaming healthcare Data pipeline using Apache APIs: Kafka and Spark with Ma...
Streaming healthcare Data pipeline using Apache APIs: Kafka and Spark with Ma...
 
CS-Op Analytics
CS-Op AnalyticsCS-Op Analytics
CS-Op Analytics
 
Real-Time Market Data Analytics Using Kafka Streams
Real-Time Market Data Analytics Using Kafka StreamsReal-Time Market Data Analytics Using Kafka Streams
Real-Time Market Data Analytics Using Kafka Streams
 
Introducing Events and Stream Processing into Nationwide Building Society
Introducing Events and Stream Processing into Nationwide Building SocietyIntroducing Events and Stream Processing into Nationwide Building Society
Introducing Events and Stream Processing into Nationwide Building Society
 
dA Platform Overview
dA Platform OverviewdA Platform Overview
dA Platform Overview
 
Flink Forward San Francisco 2018: Robert Metzger & Patrick Lucas - "dA Platfo...
Flink Forward San Francisco 2018: Robert Metzger & Patrick Lucas - "dA Platfo...Flink Forward San Francisco 2018: Robert Metzger & Patrick Lucas - "dA Platfo...
Flink Forward San Francisco 2018: Robert Metzger & Patrick Lucas - "dA Platfo...
 
Building a Pluggable Analytics Stack with Cassandra (Jim Peregord, Element Co...
Building a Pluggable Analytics Stack with Cassandra (Jim Peregord, Element Co...Building a Pluggable Analytics Stack with Cassandra (Jim Peregord, Element Co...
Building a Pluggable Analytics Stack with Cassandra (Jim Peregord, Element Co...
 
Syngenta's Predictive Analytics Platform for Seeds R&D
Syngenta's Predictive Analytics Platform for Seeds R&DSyngenta's Predictive Analytics Platform for Seeds R&D
Syngenta's Predictive Analytics Platform for Seeds R&D
 
Times ten 18.1_overview_meetup
Times ten 18.1_overview_meetupTimes ten 18.1_overview_meetup
Times ten 18.1_overview_meetup
 
Pivotal Digital Transformation Forum: Journey to Become a Data-Driven Enterprise
Pivotal Digital Transformation Forum: Journey to Become a Data-Driven EnterprisePivotal Digital Transformation Forum: Journey to Become a Data-Driven Enterprise
Pivotal Digital Transformation Forum: Journey to Become a Data-Driven Enterprise
 
Enterprise Data Lakes
Enterprise Data LakesEnterprise Data Lakes
Enterprise Data Lakes
 
apidays LIVE New York 2021 - Simplify Open Policy Agent with Styra DAS by Tim...
apidays LIVE New York 2021 - Simplify Open Policy Agent with Styra DAS by Tim...apidays LIVE New York 2021 - Simplify Open Policy Agent with Styra DAS by Tim...
apidays LIVE New York 2021 - Simplify Open Policy Agent with Styra DAS by Tim...
 
Introducing Cloudera DataFlow (CDF) 2.13.19
Introducing Cloudera DataFlow (CDF) 2.13.19Introducing Cloudera DataFlow (CDF) 2.13.19
Introducing Cloudera DataFlow (CDF) 2.13.19
 
Streaming patterns revolutionary architectures
Streaming patterns revolutionary architectures Streaming patterns revolutionary architectures
Streaming patterns revolutionary architectures
 

More from VMware Tanzu

More from VMware Tanzu (20)

What AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About It
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023
 
Enhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at Scale
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
 
Platforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a Product
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready Apps
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs Practice
 
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense SolutionsSpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
 

Recently uploaded

Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Recently uploaded (20)

%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 

From Mainframe to Microservices with Pivotal Platform and Kafka: Bridging the Data Divide

  • 1. From Mainframe to Microservices with Pivotal Platform & Kafka SpringOne Platform - October 10, 2019 Dmitry Milman & Ankur Kaneria - Express Scripts, a Cigna Company Bridging the Data Divide
  • 2. 2 © 2018 Express Scripts. All Rights Reserved. Agenda üCompany Background üPrior Architecture üMicroservice Architecture üData Sync Platform üKafka Libraries and Connectivity Options üKafka Partitioning Strategies üPerformance & Health Monitoring üPerformance Optimization With Caching üWhat’s Next
  • 3. 3 © 2018 Express Scripts. All Rights Reserved. What does Express Scripts do ? üPart of Cigna Corporation üJust like your medical plan covers visits to your doctor, your Express Scripts prescription plan covers the medicine your doctor prescribes üWe’re one of the largest pharmacy benefits managers in the United States and one of the country’s largest pharmacies üServe more than 100 million people üClaims Volume üDaily ~6 million üAnnual ~2 Billion
  • 4. 4 © 2018 Express Scripts. All Rights Reserved. Executive Summary • In the past, we rebuilt the same functionality for every big project • Entity Platform strategy focuses on building once and reusing • This increases up-front costs, but decreases capital spend over time & increases speed of delivery WHY WE’RE MOVING TO ENTITIES Pharmacy As A Platform Rebates 20/20 Support Clients Manage Products Orders Member Prescription Orders Claim Benefit Contract Claim Benefit Contract Member Benefit Pharmacy As A Platform Rebates 20/20 Support Clients Manage Products Orders Prescription Benefit Member Claim Contract Data Sync
  • 5. 5 © 2018 Express Scripts. All Rights Reserved. Walking the Interaction and Business Tier Stack User Interaction Channels (Applications) Business Platforms User Interface Logic Human Workflow UI Frameworks Business platforms consists of entities with REST-based APIs that completely control access to a data domain. They are first class citizens.RequiredRequired Web Sites Mobile Apps …and more... Entity Platform Entity Platform Entity Platform Data Data Data Person Membership Referral Order Shipment Drug Price Quote and more... Interaction APIs Aggregations UX-Specific Views Optional User-specific order status Cross-entity items, not aligned with a UI that don’t map to an entity. Optional Business Process & Logic
  • 6. 6 © 2018 Express Scripts. All Rights Reserved. Claims History Lookup Member Site (Applications) Business Platforms Member Website Used by our members to view claims history, orders etc. RequiredRequired User Accounts Person Entity Claims Entity Data Data Data 1. Member login-in. Authenticated through User Accounts 2. A resource id that uniquely identifies the member is retrieved 3. Using the unique member key, appropriate member specific claims history data is accessed and displayed to the member 1 2 3
  • 7. 7 © 2018 Express Scripts. All Rights Reserved. Target Sync Platform Data Sync Platform (System Architecture) Source Service Platform Source DB Source Service Target Service Platform Kafka Retry Topic Retry Stream Processor Target DB* Target Service CDC Topic Update Topic CDC Stream Processor Update Stream Processor on error üChange Data Capture (CDC) üKafka üTarget Sync Platform Error Topic CDC Pivotal Platform * Outside Pivotal Platform
  • 8. 8 © 2018 Express Scripts. All Rights Reserved. Data Sync Platform (Multi-tenancy, HA & Scalability) Source Platform (Mainframe) CDC Kafka Near real-time Streaming (Commodity Hardware) Org 1 Org 2 Org 3 Foundation Target Service Platform (Pivotal Platform) AZ 1 AZ 2 AZ 3
  • 9. 9 © 2018 Express Scripts. All Rights Reserved. Kafka Libraries and Connectivity Options üSeveral options üProducer & consumer APIs üStreams API üConnectors ecosystem (Confluent hub) & Connector API üSpring’s wrapper (spring-kafka, spring-cloud-stream) üNo silver bullet üEvery use-case is different and unique üDo your own due diligence
  • 10. 10 © 2018 Express Scripts. All Rights Reserved. General Guidelines üProducer & Consumer APIs üApplications directly producing data streams (e.g. clickstreams, logs, IoT…) üRead a stream and perform real-time actions on it (e.g. send email, generate alarm, send notification…) üStreams API üApplications wanting to consume from Kafka and produce back into Kafka, also called stream processing üVery powerful & offers advanced features for complex processing logic üKstream, Ktable, stateless/stateful processing, state store, aggregations, punctuation…
  • 11. 11 © 2018 Express Scripts. All Rights Reserved. General Guidelines (continued) üConnectors ecosystem (Confluent hub) & connector API üInteractions with data stores ( e.g. S3, PostgreSQL, MongoDB, HDFS…) üSpring’s Framework (spring-kafka, spring-cloud-stream) üJava based applications üSpring native out of the box capabilities üHybrid Approach üStreams API for advanced/complex logic üSpring-cloud-stream for applications with generic streams processing and handling
  • 12. 12 © 2018 Express Scripts. All Rights Reserved. Topic1 Topic2 Topic3 CDC Stream Join Table1 Table2 Table3 Tran1 Tran2 Tran3 Tran4 Tran5 Tran6 Merged Stream Kafka Partitioning Strategies for CDC n Tables : n Topics With Multiple Partitions
  • 13. 13 © 2018 Express Scripts. All Rights Reserved. CDC Stream Join Table1 Table2 Table3 Tran1 Tran2 Tran3 Tran4 Tran5 Tran6 Merged Stream Partition1 Partition2 Partition3 Kafka Partitioning Strategies for CDC n Tables : 1 Topic With Multiple Partitions
  • 14. 14 © 2018 Express Scripts. All Rights Reserved. CDC Stream Join Table1 Table2 Table3 Tran1 Tran2 Tran3 Tran4 Tran5 Tran6 Kafka Partitioning Strategies for CDC n Tables : 1 Topic With 1 Partition T1.Partition1 T2.Partition1 T2.Partition2 T2.Partition3 Re-Partition Merged Stream
  • 15. 15 © 2018 Express Scripts. All Rights Reserved. Kafka Partitioning strategies for CDC ü1:1 Table to Kafka topic partitioned by table key üAllows for highly parallelized consumption üGood strategy when eventual consistency suffices üChallenging if strong transactional consistency is need üMultiple tables to 1 topic with 1 partition üFirehose type approach üAllows for strong transactional consistency üRe-partition for parallelism üMultiple tables to 1 topic partitioned by common logical key üAllows for parallelism due to multiple partitions üAllows for strong transactional consistency üChallenging if a common key is not present across all table
  • 16. 16 © 2018 Express Scripts. All Rights Reserved. Performance & Health of the Pipeline üLatency monitoring üThroughput monitoring
  • 17. 17 © 2018 Express Scripts. All Rights Reserved. Target Sync Platform Performance Optimization with Caching Source Service Platform Source DB Source Service Target Service Platform Kafka ENTITY CHANGE Topic Target DB Target Service Source Change Topic Target Change Topic CDC Stream Processor Update Stream Processor ENTITY LATEST Topic Cache Cache Cache Distributed Kafka State Store
  • 18. 18 © 2018 Express Scripts. All Rights Reserved. What’s Next üData Lake for analytics üMicroservices to act on data events in real time üEntity first approach
  • 19. 19 © 2018 Express Scripts. All Rights Reserved. THANK YOU !