At Travelers Insurance, a decade old rating engine was still on the mainframe, making it difficult to scale, expensive to run, and reliant on a shrinking pool of skilled engineers. Rating engines are fundamental to the insurance quoting process, and at the very heart of the business. It was time to modernize and take advantage of the scalability, stability, automation and fast iteration cycles made possible by cloud-native architecture.
In this webinar, Viraj Naik of Travelers Insurance and Rohit Kelapure of Pivotal will take us on their journey from mainframe to microservices. Viraj and Rohit will describe how they built a distributed, event-driven rating engine with .NET Core on Pivotal Platform using Steeltoe, running on Linux stem cells. The new rating engine exceeded SLAs and reduced time to production to under 60 minutes.
You’ll learn the keys to a successful mainframe rewrite-based modernization, including:
● A pragmatic, domain-driven approach and phased delivery, including implementing a strangler pattern and anti-corruption layers.
● How to port business objects and business rules from mainframe to .NET.
● New innovations developed and delivered during the migration process.
Speakers:
Viraj Naik, Lead Solutions Architect at Travelers Insurance
Rohit Kelapure, Principal Solution Architect at Pivotal
App Modernization with .NET Core: How Travelers Insurance is Going Cloud-Native
1. App Modernization with .NET Core:
How Travelers Insurance is Going Cloud-Native
Viraj Naik – Lead Solutions Architect Travelers (vrnaik@travelers.com, )
Rohit Kelapure - Senior Staff Solutions Architect VMware (rkelapure@vmware.com, @rkela)
2. Agenda
2
A pragmatic, domain-driven, phased delivery to app modernization
implemented with tactical patterns like the strangler pattern and anti-
corruption layer
3. Agenda
3
A pragmatic, domain-driven, phased delivery to app modernization
implemented with tactical patterns like the strangler pattern and anti-
corruption layer
• How we started this monumental task
4. Agenda
4
A pragmatic, domain-driven, phased delivery to app modernization
implemented with tactical patterns like the strangler pattern and anti-
corruption layer
• How we started this monumental task
• Processes and tools critical to establish a sustainable target architecture
5. Agenda
5
A pragmatic, domain-driven, phased delivery to app modernization
implemented with tactical patterns like the strangler pattern and anti-
corruption layer
• How we started this monumental task
• Processes and tools critical to establish a sustainable target architecture
• How to port business objects and rules from mainframe to .NET
6. Agenda
6
A pragmatic, domain-driven, phased delivery to app modernization
implemented with tactical patterns like the strangler pattern and anti-
corruption layer
• How we started this monumental task
• Processes and tools critical to establish a sustainable target architecture
• How to port business objects and rules from mainframe to .NET
• New innovations developed and delivered during the migration process
7. Agenda
7
A pragmatic, domain-driven, phased delivery to app modernization
implemented with tactical patterns like the strangler pattern and anti-
corruption layer
• How we started this monumental task
• Processes and tools critical to establish a sustainable target architecture
• How to port business objects and rules from mainframe to .NET
• New innovations developed and delivered during the migration process
• Lessons learned the hard way
8. Agenda
8
A pragmatic, domain-driven, phased delivery to app modernization
implemented with tactical patterns like the strangler pattern and anti-
corruption layer
• How we started this monumental task
• Processes and tools critical to establish a sustainable target architecture
• How to port business objects and rules from mainframe to .NET
• New innovations developed and delivered during the migration process
• Lessons learned the hard way
• Q&A
9. Travelers Insurance - Company Overview
9
•The largest writer of commercial property insurance in the United
States
•Top three writer of personal insurance through independent
agents in the United States, including number one in homeowners
•Total assets of approximately $105 billion, shareholder equity of
approximately $23 billion and a total revenue of $30 billion
•A component of the Dow Jones Industrial average
•More than 30,000 employees
•Representatives in every U.S. state, Canada, the Republic of Ireland,
the United Kingdom and at Lloyds
10. Context: Why we embarked on this journey
10
1. Importance of business capability
11. Context: Why we embarked on this journey
11
1. Importance of business capability
2. Part of a monolith
o Legacy application
o Skillset
o Infrastructure flexibility
» Provisioning
» Capacity
» Scaling
12. Context: Why we embarked on this journey
12
1. Importance of business capability
2. Part of a monolith
o Legacy application
o Skillset
o Infrastructure flexibility
» Provisioning
» Capacity
» Scaling
3. Cost
o Changes are expensive
o TCO
13. Context: Why we embarked on this journey
13
1. Importance of business capability
2. Part of a monolith
o Legacy application
o Skillset
o Infrastructure flexibility
» Provisioning
» Capacity
» Scaling
3. Cost
o Changes are expensive
o TCO
Experimentation with these constraints????
14. Situation: Demand vs. Response
14
Business Priority
ü Build New Capabilities
ü If it ain’t broke...
Competition
ü New Products
ü Tight Loss Ratio
Disruptors
ü Insurtech - Innovation
ü Legislations
16. Engagement Goals
● Reduce cost of giving rates, specifically the cost per rate call
● Maintain the same speed, accuracy and availability as the
current rater
16
17. Engagement Goals
● Reduce cost of giving rates, specifically the cost per rate call
● Maintain the same speed, accuracy and availability as the
current rater
● Increase flexibility; eliminate throttling needs for business
17
18. Engagement Goals
● Reduce cost of giving rates, specifically the cost per rate call
● Maintain the same speed, accuracy and availability as the
current rater
● Increase flexibility; eliminate throttling needs for business
● Rewrite rating service as a distributed system of loosely coupled
microservices with .NET Core
18
19. Engagement Goals
● Reduce cost of giving rates, specifically the cost per rate call
● Maintain the same speed, accuracy and availability as the
current rater
● Increase flexibility; eliminate throttling needs for business
● Rewrite rating service as a distributed system of loosely coupled
microservices with .NET Core
● Train the trainer - Learn with Pivots
● Cloud native application best practices
● Agile, XP practices
19
21. Journey Begins
1. Team Composition
o 2 pizza
o Cross section
2. Dust Off PoC
oEnvironment setup
oLogistics
21
22. Journey Begins
1. Team Composition
o 2 pizza
o Cross section
2. Dust Off PoC
oEnvironment setup
oLogistics
3. Inception Session
oGathering of
stakeholders
oGoals, anti-goals
oRisks & mitigations
oBacklog created for
SVP
22
23. Challenges & Decisions
23
Early Decisions
Non-Negotiable Constraints
Performance
• SLO of less than 1.5 seconds
Process and Output
• Identical to current legacy application
Development
• .NET Core 2.x, Steeltoe
• Visual Studio Code on iMac
• GIT repos
Deployment
• PAS on-prem
• Cflinuxfs3 –Ubuntu
• CI/CD –Dev through PROD
Architecture
• Microservices - Choreography
Pattern
• External caching
• REST endpoint
26. Implementation
Development Practices
• Stay true to 15 factors
• Pair programming
o Anchor pairs
o Pair rotation
• Test driven development
• Autonomous team
26
Delivery Practices
27. Implementation
Development Practices
• Stay true to 15 factors
• Pair programming
o Anchor pairs
o Pair rotation
• Test driven development
• Autonomous team
27
• IPM
o Backlog grooming
o Prioritization
o Rightsizing and
story pointing
• Demo
o Iterative product
showcase
o Outcome of spikes
Delivery Practices
Weekly Retrospective
oTeam only
oTeam building
31. Deployment Strategy
Go Dark
• Production-ready asset deployed
in production environment
• Not leveraged for business
(production) transaction
• Does not compete with business
transactions for resources:
isolation between production
and dark mode
31
Turn On Prod
Benefits
32. Deployment Strategy
Go Dark
• Production-ready asset deployed
in production environment
• Not leveraged for business
(production) transaction
• Does not compete with business
transactions for resources:
isolation between production
and dark mode
32
Turn On Prod
• Gradual rollout, not ‘big bang’
• Deployment constraints
• Operational
• Rate factors can change daily
• Rating capability needed 24 X 7
• 30 min outage window/day
• Functional
• Quarterly release for functional
enhancements
Benefits
33. Deployment Strategy
Go Dark
• Production-ready asset deployed
in production environment
• Not leveraged for business
(production) transaction
• Does not compete with business
transactions for resources:
isolation between production
and dark mode
33
Turn On Prod
• Gradual Rollout, not ‘big bang’
• Deployment Constraints
• Operational
• Rate Factors can change daily
• Rating capability needed 24 X 7
• 30 min outage window/day
• Functional
• Quarterly release for functional
enhancements
Benefits
• Shakeout dependencies setup
• Validate outcomes
• Gauge performance
• Analyze results
36. Lessons Learned
Reinforce
• Balanced team & team composition
• Pair programming
• Test driven development
• Fail dast
Opportunities – What would we do differently?
• Identify integration points and outcomes
• Don’t just ‘Lift and Shift’
36
37. Business Outcomes
üAbility to experiment
• Experimentation to implementation is quick
üElastic Scaling
• Cost Metrics - savings - mainframe offload
üTime To Production – 1 hour window for deployment*
• Pipelines from dev to prod
• Automated functional and integration testing
üExposed as an API for rating transactions
37
38.
39. References
• Watch Tools and Recipes to Replatform Monolithic Apps
• Get Pivotal’s App Modernization recipes: https://dotnet-
cookbook.cfapps.io/core/
• Explore how .NET developers and Windows sysadmins are modernizing with
cloud-native patterns: https://content.pivotal.io/dotnet
• Learn more about creating microservices quickly with Steeltoe
• Get Forrester's report Modernize Core Applications with Cloud
• Get Gartner's report: Application Modernization Should Be Business-Centric,
Continuous and Multiplatform
• Watch talks from SpringOne Platform for .NET developers:
– Apache Kafka Event-Streaming Platform for .NET Developers
– .NET and Kubernetes: Bringing Legacy .NET into the Modern World
– Steeltoe: Develop .NET Microservices without Cloud Platform Lockin
• Request an App Modernization Workshop
39