SlideShare a Scribd company logo
28th January 2020
Elangovan Shanmugam
HORIZONTAL SCALING
FOR MILLIONS OF
CUSTOMERS
Intuit Confidential and Proprietary
1
Name: Elangovan Shanmugam
Title: Distinguished Engineer @ Intuit Inc. EcoSystem Integration.
Experience: 25+ Years in Software Development
Work Highlights:
- Designed Resilient systems to help importing Tax documents in
(TP50) less than 2 seconds to our 45M tax filers.
- Mint, Chief Architect. Designed & Deployed First ever Intuit Offering
to Public Cloud. Serving for 35M customers and processing billions
of bank transactions.
- Event based notification systems processing millions of events and
delivering 10+ millions notifications per day.
- 11 Software Patents, 30 pending.
- Scott Cook Innovation award winner.
ABOUT ME …
Twitter @elangovans
LinkedIn https://www.linkedin.com/in/elangovans
Blogs https://medium.com/@elangovan_shanmugam
Patents https://patents.justia.com/inventor/elangovan-shanmugam
Intuit Confidential and Proprietary
2
We understand …
- What is considered in the software architecture
- Strategies for delivering Microservices that can scale
- How Mint scales for millions of customers
THIS MEETING WILL BE GOOD IF …
SOFTWARE
ARCHITECTURE
Intuit Confidential and Proprietary
4
TECHNICAL
REQUIREMENTS
Services Stds – Resiliency –
Scalability – Reliability
HOSTING
REQUIREMENTS
CICD – HADR – Cloud
DEV OPS
REQUIREMENTS
Monitoring – Config mgmt. –
Env. mgmt.
BIZ OPS
REQUIREMENTS
Admin – Care – Risk –
Fraud Mgmt.
FUNCTIONAL
REQUIREMENTS
Product – Experience –
Integration
BUSINESS
REQUIREMENTS
Monetization– Metrics –
Growth
SECURITY
REQUIREMENTS
Security Stds – Data Stds
ENGINEERING
EXCELLENCE
FMEA – Quality – Testability
COMPLIANCE
REQUIREMENTS
HIPAA – PCI – Accessibility
– Patriot act - Privacy
OPERATIONAL
EXCELLENCE
SLA – Performance -
Availability
Customers
Developers
Partners
BizOps
Customer
Success
ARCHITECTURE
HOW I SEE THE SOFTWARE ARCHITECTURE
Intuit Confidential and Proprietary
5
HOW DO WE STRUCTURE OURSELVES TO SOLVE THIS PROBLEM
PEOPLE TECHNOLOGY PROCESS COST (TCO)P T Pr C
Engineers (Dev, DevOps, QE)
Analyst / Data Science
Other actors
Application / Services / Database
AI/ML & Warehouse
Cloud & Hosting technologies
Agile, Kanban … Development
Build / Deploy Process
Development Cost
Maintenance Cost
Hosting Cost
Intuit Confidential and Proprietary
6
ARCHITECTURE PRINCIPLES
Keep compute tier stateless1 Resilient to failures and work
in a dynamic environment and
No Single point of failures
(reduce number of FCI)
2 Low latency and high
performing systems
3
Security is number one
concern
4 Fault Isolation by decreasing
the blast radius
5 Zero downtime deployment -
using Canary, Blue/Green
Deployment
6
Intuit Confidential and Proprietary
7
SLA’S THAT WE ARE SOLVING FOR …
AVAILABILITY 4 9’s
~ 52 mins
downtime per year.
LATENCY TP50: 1 Sec.
TP90: 2 Secs.
TP99: 5 Secs.
SITE RECYCLE
FREQUENCY
15 days
FAULT
TOLERANCE
FCI: 0.02%
RPO: 5 mins
RTO: 20 mins
SECURITY SLA ZERO SECURITY
DEFECTS
P1 DEFECTS
MUST BE FIXED
& DEPLOYED
IN 48 HOURS
TEST COVERAGE 100%
AUTOMATION
DEPLOYMENT
TIME
45 Mins after code
is committed
Blast Radius No more than 10%
user
- Understand Traffic Patterns (daily, weekly, monthly, …)
- Measure Daily, Weekly, Monthly, and Yearly Active users
- Identify most used features, How much time the users are spending in a feature, Hotspots in
the system
- Build Operational rigour to support the users and system behaviours
- Be Cost aware. How much each request costs
TECHNOLOGY STACK
Intuit Confidential and Proprietary
9
API & MicroServices
Data Lake
Applications
Hosting
Logging
Instrumentation
Monitoring
Alerting
Content
Source Control
Analyzer
Build
Artifact &
Packaging
Deploy
ABSTRACT TECHNOLOGY STACK
Technology Stack
● Typical stack contains many micro services, many databases,
many applications along with several utility functions, hosting
and monitoring.
● In Mint,
○ AWS is the hosting platform
○ Java and Restful services for the middle layer
○ Single page application for the browser app
○ Native applications for the mobile devices (iOS and
Android).
DEVELOPMENT RUNTIME
Intuit Confidential and Proprietary
10
API & MicroServices
Data Lake
Applications
Hosting
Logging
Instrumentation
Monitoring
Alerting
Content
Source Control
Analyzer
Build
Artifact &
Packaging
Deploy
ABSTRACT TECHNOLOGY STACK
Application Stack
● User facing features
● Typically running in the internet
● Built for multiple platforms (Web Browser,
Desktop, Mobile devices, and so on)
Intuit Confidential and Proprietary
11
API & MicroServices
Data Lake
Applications
Hosting
Logging
Instrumentation
Monitoring
Alerting
Content
Source Control
Analyzer
Build
Artifact &
Packaging
Deploy
ABSTRACT TECHNOLOGY STACK
Services Stack
● Capabilities built and deployed in the server side
● Typically runs in the data center behind Firewall
● Should be horizontally scalable
● Solves for lots compliance requirements
Intuit Confidential and Proprietary
12
API & MicroServices
Data Lake
Applications
Hosting
Logging
Instrumentation
Monitoring
Alerting
Content
Source Control
Analyzer
Build
Artifact &
Packaging
Deploy
ABSTRACT TECHNOLOGY STACK
Data Lake
● Ingest click-stream data to understand user behaviors
● Ingest all data and analyse to gain business insights
● Develop & Train ML models
MICROSERVICES
ARCHITECTURE
Intuit Confidential and Proprietary
14
MicroService - 1
Gateway
authentication
Microservices Strategy
Modern systems cannot be built as a single monolithic service. Split the
concerns into functional areas. In Mint, the splits are as follows,
Budgets, Credit Reports, Investments, Goals, Notifications, Insights and
so on.
Common Capabilities:
- Within the services there are horizontal concerns like how to
communicate between Databases, API’s, Brokers, etc.
Scale per functionality:
- This allows us to design them independent of each other, based
on their scale. For example, Users will have 1000’s of
transactions, but there will be only one credit report per month.
Separation of concerns:
- Delivery of services per their own schedule. Credit report team’s
cadence can be different from Budget service cadence.
- In case of any issues in Budget service must not impact Credit
service or other services. This is also known as control the blast
radius.
ORIENTATION
SCALING FUNCTIONALITIES
MicroService - 2 MicroService - 3 MicroService - 4 MicroService - 5
Intuit Confidential and Proprietary
15
Business Logic
Proxy Layer
(Routing & Stack Picking)
API
Broker
Database Layer
Offline Process
Gateway
authentication
Authenticate any requests to microservices.
This is critical security layer.
Restful API layer exposes various CRUD
resources operations to it clients. This
defines endpoints and resource models.
Service layer where all the business logic is
implemented. There are two different
aspects, online and offline process.
Databases, Caches and Data Access Layer.
Platform Developer Role Technologies
API Backend Developer JaxRS, Jersey
Broker ActiveMQ, Kafka
Cache Redis, MemCache
Business Logic Java
Database MySQL, C*, DynamoDB
Service Template
A representation of a Microservice. Though each service can customize
per its needs a typical template would be like this so that there is
uniform approach and easy to understand, move talents between
services, and easy to troubleshoot, etc.
MICROSERVICES ARCHITECTURE
Cache
ORIENTATION
Intuit Confidential and Proprietary
16
RUN TIME & NETWORK COMMUNICATIONS
ELB Proxy API Broker Business Database
Sharded RDS MySQL::
Each DB contains set of
users data.
Business logic, Caching and
Data access logic.
REST API, Data Transform
to Resource model,
Distributed Caching for
sessions
EC2 Instance
RDS MySQL
Intuit Confidential and Proprietary
17
RUN TIME & NETWORK COMMUNICATIONS
ELB Proxy API Broker Business Database
Sharded RDS MySQL::
Each DB contains set of
users data.
Typically compute, I/O
intensive and scale this
layer based on the load.
REST API instances can be
scaled horizontally. Add new
EC2 nodes to support load.
ActiveMQ Brokers are typically will work as
single Master instance and Slave instance.
This layer is used as RMI over JMS.
Alternate would be
- using Kafka Cluster.
- using Vert.x infrastructure.
Can be a separate topics!!
Intuit Confidential and Proprietary
18
Availability Zone 1
Proxy Layer
(Routing & Stack picking)
Web, Broker, and
Business logic Layer
Database Layer
Availability Zone 1
Proxy Layer
(Routing & Stack picking)
S1 S2 S3 S4
WHAT IS SL?
Availability Zone 1
Proxy Layer
(Routing & Stack picking)
S1 S2 S3 S4
WHAT IS INSIDE A SL?
EC2
RDS for
MySQL
HORIZONTAL SCALING & DEPLOYMENT ARCHITECTURE
Strategies for Service deployment
Pick a strategy for partitioning the data. For example,
one DB shard could hold data for n users. For a given
service, all the data will be available in that shard.
Another service could use very different partitioning
strategy.
Alternate: Cassandra or DynamoDB could be an
alternate, but choose proper persistence strategy for
the problem.
Stacks (or Swimlanes) where the services are
deployed can communicate to within the boundary.
Avoid Cross Stack Communication.
Central Stack (not shown in the diagram) contains the
configuration of which user data belongs to which
shard and which shard belongs to which stack.
AWS RegionElastic Load Balancer
Intuit Confidential and Proprietary
19
Data Center 2
Availability Zone 1
Proxy Layer
(Routing & Stack picking)
S1 S2 S3 S4
Data Center 1
HIGH AVAILABILITY
AWS RegionElastic Load Balancer
HA Strategies
Services are deployed in Multiple Availability Zones
(AZ) so that they are highly available.
Each Stack is distributed in multiple AZs. Primary
database is one AZ. Slaves (real-time replication) of
the data is distributed in the 2nd and 3rd AZ.
Compute tier will reach out to the Primary database.
Benefits of this model:
- If there is an outage on an AZ other two AZs will
still serve the requests for our customers.
- Reduce the blast radius. If there is an issues in
the system it could only affect smallest scope of
the users.
Operations procedures:
Stack rebalancing, Data model rollouts, Blue/Green
Deployments, Canary deployments.
Availability Zone 2
Proxy Layer
(Routing & Stack picking)
S1 S2 S3 S4
Availability Zone 3
Proxy Layer
(Routing & Stack picking)
S1 S2 S3 S4
Data Center 3
APPLICATION
ARCHITECTURE
Intuit Confidential and Proprietary
21
Plugins
Utilities (Logging,
Instrumentation …)
Sandbox API
App Shell
Shell Service
Plugin Reg +
Personalization
Plugin - 1
Plugin - 3
Platform Developer Role Technologies
Web Application Web app developer Java Script, ReactJS,
HTML5, CSS3.
iOS (phone, tablet,
wearables)
iOS Developer Swift, XCode
Android (phone,
tablet, wearables)
Android Developer Kotlin, Android Studio
Experience Designers, Customer research, Product Managers
Accessibility experts.
Plugin - 2
Plugin - 4
A Software infrastructure that helps
register and render Plugins, packages the
common libraries avoid loading them
multiple times, etc.
Plugins are set of customer facing
capabilities that can be reused in multiple
apps. Think of Login, Shopping cart,
Payment, etc. as plugins.
APPLICATION ARCHITECTURE
Common utilities can be used across all
the plugins. Uniform method of logging and
collecting metrics and more.
Scalability in App Architecture
What are the strategies for multiple platforms, Web, iOS, Android,
Tablets, Wearables, IoT devices?
What are the customer base? Do they expect native experience?
Does your product demand native experience? For example, does your
product need any of the device capabilities, like activating camera?
ORIENTATION
Intuit Confidential and Proprietary
22
Q & A
THANK YOU!

More Related Content

What's hot

Cybersecurity Spotlight: Looking under the Hood at Data Breaches and Hardenin...
Cybersecurity Spotlight: Looking under the Hood at Data Breaches and Hardenin...Cybersecurity Spotlight: Looking under the Hood at Data Breaches and Hardenin...
Cybersecurity Spotlight: Looking under the Hood at Data Breaches and Hardenin...
Real-Time Innovations (RTI)
 
Integrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approachIntegrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approach
Remedy IT
 
Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...
Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...
Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...
Stratio
 
The Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
The Inside Story: How OPC UA and DDS Can Work Together in Industrial SystemsThe Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
The Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
Real-Time Innovations (RTI)
 
Secrets of Autonomous Car Design
Secrets of Autonomous Car DesignSecrets of Autonomous Car Design
Secrets of Autonomous Car Design
Real-Time Innovations (RTI)
 
Developing Mission-Critical Avionics and Defense Systems with Ada and DDS
Developing Mission-Critical Avionics and Defense Systems with Ada and DDSDeveloping Mission-Critical Avionics and Defense Systems with Ada and DDS
Developing Mission-Critical Avionics and Defense Systems with Ada and DDS
Real-Time Innovations (RTI)
 
What Is Solution Architecture? The Black Art Of I/T Solution Architecture
What Is Solution Architecture? The Black Art Of I/T Solution ArchitectureWhat Is Solution Architecture? The Black Art Of I/T Solution Architecture
What Is Solution Architecture? The Black Art Of I/T Solution Architecture
Nick Noecker
 
Fog Computing is the Future of the Industrial Internet of Things
Fog Computing is the Future of the Industrial Internet of ThingsFog Computing is the Future of the Industrial Internet of Things
Fog Computing is the Future of the Industrial Internet of Things
Real-Time Innovations (RTI)
 
Biznet Gio Presentation - Cloud Computing
Biznet Gio Presentation - Cloud ComputingBiznet Gio Presentation - Cloud Computing
Biznet Gio Presentation - Cloud Computing
Yusuf Hadiwinata Sutandar
 
Biznet Gio Presentation - Database Security
Biznet Gio Presentation - Database SecurityBiznet Gio Presentation - Database Security
Biznet Gio Presentation - Database Security
Yusuf Hadiwinata Sutandar
 
Dedicated Web Hosting & Cloud Hosting Service Providers in India - i2k2 Networks
Dedicated Web Hosting & Cloud Hosting Service Providers in India - i2k2 NetworksDedicated Web Hosting & Cloud Hosting Service Providers in India - i2k2 Networks
Dedicated Web Hosting & Cloud Hosting Service Providers in India - i2k2 Networks
i2k2 Networks (P) Ltd.
 
SBRC'17 discussion panel about NFV and SDN
SBRC'17 discussion panel about NFV and SDNSBRC'17 discussion panel about NFV and SDN
SBRC'17 discussion panel about NFV and SDN
Sébastien Tandel
 
Lightweight M2M
Lightweight M2MLightweight M2M
Lightweight M2M
Björn Ekelund
 
Jak využít cloudu pro zvýšení bezpečnosti vašeho IT
Jak využít cloudu pro zvýšení bezpečnosti vašeho ITJak využít cloudu pro zvýšení bezpečnosti vašeho IT
Jak využít cloudu pro zvýšení bezpečnosti vašeho IT
MarketingArrowECS_CZ
 
Elastic Software Infrastructure to Support the Industrial Internet
Elastic Software Infrastructure to Support the Industrial InternetElastic Software Infrastructure to Support the Industrial Internet
Elastic Software Infrastructure to Support the Industrial Internet
Real-Time Innovations (RTI)
 
The Promise of Interoperability
The Promise of InteroperabilityThe Promise of Interoperability
The Promise of Interoperability
Real-Time Innovations (RTI)
 
USAREUR Cloud Computing Training Class Presentation Heidelberg 1
USAREUR Cloud Computing Training Class Presentation Heidelberg 1USAREUR Cloud Computing Training Class Presentation Heidelberg 1
USAREUR Cloud Computing Training Class Presentation Heidelberg 1
GovCloud Network
 
Tablet Access to Business Applications
Tablet Access to Business ApplicationsTablet Access to Business Applications
Tablet Access to Business Applications
Array Networks
 
SECURE ACCESS GATEWAYS
SECURE ACCESS GATEWAYSSECURE ACCESS GATEWAYS
SECURE ACCESS GATEWAYS
Array Networks
 
Software Defined Networking
Software Defined Networking Software Defined Networking
Software Defined Networking
Kamesh Pemmaraju
 

What's hot (20)

Cybersecurity Spotlight: Looking under the Hood at Data Breaches and Hardenin...
Cybersecurity Spotlight: Looking under the Hood at Data Breaches and Hardenin...Cybersecurity Spotlight: Looking under the Hood at Data Breaches and Hardenin...
Cybersecurity Spotlight: Looking under the Hood at Data Breaches and Hardenin...
 
Integrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approachIntegrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approach
 
Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...
Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...
Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...
 
The Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
The Inside Story: How OPC UA and DDS Can Work Together in Industrial SystemsThe Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
The Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
 
Secrets of Autonomous Car Design
Secrets of Autonomous Car DesignSecrets of Autonomous Car Design
Secrets of Autonomous Car Design
 
Developing Mission-Critical Avionics and Defense Systems with Ada and DDS
Developing Mission-Critical Avionics and Defense Systems with Ada and DDSDeveloping Mission-Critical Avionics and Defense Systems with Ada and DDS
Developing Mission-Critical Avionics and Defense Systems with Ada and DDS
 
What Is Solution Architecture? The Black Art Of I/T Solution Architecture
What Is Solution Architecture? The Black Art Of I/T Solution ArchitectureWhat Is Solution Architecture? The Black Art Of I/T Solution Architecture
What Is Solution Architecture? The Black Art Of I/T Solution Architecture
 
Fog Computing is the Future of the Industrial Internet of Things
Fog Computing is the Future of the Industrial Internet of ThingsFog Computing is the Future of the Industrial Internet of Things
Fog Computing is the Future of the Industrial Internet of Things
 
Biznet Gio Presentation - Cloud Computing
Biznet Gio Presentation - Cloud ComputingBiznet Gio Presentation - Cloud Computing
Biznet Gio Presentation - Cloud Computing
 
Biznet Gio Presentation - Database Security
Biznet Gio Presentation - Database SecurityBiznet Gio Presentation - Database Security
Biznet Gio Presentation - Database Security
 
Dedicated Web Hosting & Cloud Hosting Service Providers in India - i2k2 Networks
Dedicated Web Hosting & Cloud Hosting Service Providers in India - i2k2 NetworksDedicated Web Hosting & Cloud Hosting Service Providers in India - i2k2 Networks
Dedicated Web Hosting & Cloud Hosting Service Providers in India - i2k2 Networks
 
SBRC'17 discussion panel about NFV and SDN
SBRC'17 discussion panel about NFV and SDNSBRC'17 discussion panel about NFV and SDN
SBRC'17 discussion panel about NFV and SDN
 
Lightweight M2M
Lightweight M2MLightweight M2M
Lightweight M2M
 
Jak využít cloudu pro zvýšení bezpečnosti vašeho IT
Jak využít cloudu pro zvýšení bezpečnosti vašeho ITJak využít cloudu pro zvýšení bezpečnosti vašeho IT
Jak využít cloudu pro zvýšení bezpečnosti vašeho IT
 
Elastic Software Infrastructure to Support the Industrial Internet
Elastic Software Infrastructure to Support the Industrial InternetElastic Software Infrastructure to Support the Industrial Internet
Elastic Software Infrastructure to Support the Industrial Internet
 
The Promise of Interoperability
The Promise of InteroperabilityThe Promise of Interoperability
The Promise of Interoperability
 
USAREUR Cloud Computing Training Class Presentation Heidelberg 1
USAREUR Cloud Computing Training Class Presentation Heidelberg 1USAREUR Cloud Computing Training Class Presentation Heidelberg 1
USAREUR Cloud Computing Training Class Presentation Heidelberg 1
 
Tablet Access to Business Applications
Tablet Access to Business ApplicationsTablet Access to Business Applications
Tablet Access to Business Applications
 
SECURE ACCESS GATEWAYS
SECURE ACCESS GATEWAYSSECURE ACCESS GATEWAYS
SECURE ACCESS GATEWAYS
 
Software Defined Networking
Software Defined Networking Software Defined Networking
Software Defined Networking
 

Similar to Horizontal Scaling for Millions of Customers!

A New Way of Thinking | NATS 2.0 & Connectivity
A New Way of Thinking | NATS 2.0 & ConnectivityA New Way of Thinking | NATS 2.0 & Connectivity
A New Way of Thinking | NATS 2.0 & Connectivity
NATS
 
Challenges In Modern Application
Challenges In Modern ApplicationChallenges In Modern Application
Challenges In Modern Application
Rahul Kumar Gupta
 
Red hat's updates on the cloud & infrastructure strategy
Red hat's updates on the cloud & infrastructure strategyRed hat's updates on the cloud & infrastructure strategy
Red hat's updates on the cloud & infrastructure strategy
Orgad Kimchi
 
linkerd.pdf
linkerd.pdflinkerd.pdf
linkerd.pdf
Vishwas N
 
Cisco Connect 2018 Thailand - Enabling the next gen data center transformatio...
Cisco Connect 2018 Thailand - Enabling the next gen data center transformatio...Cisco Connect 2018 Thailand - Enabling the next gen data center transformatio...
Cisco Connect 2018 Thailand - Enabling the next gen data center transformatio...
NetworkCollaborators
 
Accelerating a Path to Digital with a Cloud Data Strategy
Accelerating a Path to Digital with a Cloud Data StrategyAccelerating a Path to Digital with a Cloud Data Strategy
Accelerating a Path to Digital with a Cloud Data Strategy
MongoDB
 
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
apidays
 
Implement a Universal Data Distribution Architecture to Manage All Streaming ...
Implement a Universal Data Distribution Architecture to Manage All Streaming ...Implement a Universal Data Distribution Architecture to Manage All Streaming ...
Implement a Universal Data Distribution Architecture to Manage All Streaming ...
Timothy Spann
 
A New Approach to Continuous Monitoring in the Cloud
A New Approach to Continuous Monitoring in the CloudA New Approach to Continuous Monitoring in the Cloud
A New Approach to Continuous Monitoring in the Cloud
NETSCOUT
 
Enterprise Integration in Cloud Native Microservices Architectures
Enterprise Integration in Cloud Native Microservices ArchitecturesEnterprise Integration in Cloud Native Microservices Architectures
Enterprise Integration in Cloud Native Microservices Architectures
Crishantha Nanayakkara
 
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
WSO2
 
nullcon 2011 - Security and Forensic Discovery in Cloud Environments
nullcon 2011 - Security and Forensic Discovery in Cloud Environmentsnullcon 2011 - Security and Forensic Discovery in Cloud Environments
nullcon 2011 - Security and Forensic Discovery in Cloud Environments
n|u - The Open Security Community
 
[OpenStack Day in Korea 2015] Keynote 2 - Leveraging OpenStack to Realize the...
[OpenStack Day in Korea 2015] Keynote 2 - Leveraging OpenStack to Realize the...[OpenStack Day in Korea 2015] Keynote 2 - Leveraging OpenStack to Realize the...
[OpenStack Day in Korea 2015] Keynote 2 - Leveraging OpenStack to Realize the...
OpenStack Korea Community
 
Microservices Patterns with GoldenGate
Microservices Patterns with GoldenGateMicroservices Patterns with GoldenGate
Microservices Patterns with GoldenGate
Jeffrey T. Pollock
 
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
WSO2
 
Partnership to Capture Indonesia ERP Cloud Trend Opportunities
Partnership to Capture Indonesia ERP Cloud Trend OpportunitiesPartnership to Capture Indonesia ERP Cloud Trend Opportunities
Partnership to Capture Indonesia ERP Cloud Trend Opportunities
Sutedjo Tjahjadi
 
Do more clouds = better scalability, availability, flexibility
Do more clouds = better scalability, availability, flexibility Do more clouds = better scalability, availability, flexibility
Do more clouds = better scalability, availability, flexibility
NuoDB
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Araf Karsh Hamid
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insights
confluent
 
Dcs cloud architecture-high-level-design
Dcs cloud architecture-high-level-designDcs cloud architecture-high-level-design
Dcs cloud architecture-high-level-design
Isaac Chiang
 

Similar to Horizontal Scaling for Millions of Customers! (20)

A New Way of Thinking | NATS 2.0 & Connectivity
A New Way of Thinking | NATS 2.0 & ConnectivityA New Way of Thinking | NATS 2.0 & Connectivity
A New Way of Thinking | NATS 2.0 & Connectivity
 
Challenges In Modern Application
Challenges In Modern ApplicationChallenges In Modern Application
Challenges In Modern Application
 
Red hat's updates on the cloud & infrastructure strategy
Red hat's updates on the cloud & infrastructure strategyRed hat's updates on the cloud & infrastructure strategy
Red hat's updates on the cloud & infrastructure strategy
 
linkerd.pdf
linkerd.pdflinkerd.pdf
linkerd.pdf
 
Cisco Connect 2018 Thailand - Enabling the next gen data center transformatio...
Cisco Connect 2018 Thailand - Enabling the next gen data center transformatio...Cisco Connect 2018 Thailand - Enabling the next gen data center transformatio...
Cisco Connect 2018 Thailand - Enabling the next gen data center transformatio...
 
Accelerating a Path to Digital with a Cloud Data Strategy
Accelerating a Path to Digital with a Cloud Data StrategyAccelerating a Path to Digital with a Cloud Data Strategy
Accelerating a Path to Digital with a Cloud Data Strategy
 
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
 
Implement a Universal Data Distribution Architecture to Manage All Streaming ...
Implement a Universal Data Distribution Architecture to Manage All Streaming ...Implement a Universal Data Distribution Architecture to Manage All Streaming ...
Implement a Universal Data Distribution Architecture to Manage All Streaming ...
 
A New Approach to Continuous Monitoring in the Cloud
A New Approach to Continuous Monitoring in the CloudA New Approach to Continuous Monitoring in the Cloud
A New Approach to Continuous Monitoring in the Cloud
 
Enterprise Integration in Cloud Native Microservices Architectures
Enterprise Integration in Cloud Native Microservices ArchitecturesEnterprise Integration in Cloud Native Microservices Architectures
Enterprise Integration in Cloud Native Microservices Architectures
 
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
 
nullcon 2011 - Security and Forensic Discovery in Cloud Environments
nullcon 2011 - Security and Forensic Discovery in Cloud Environmentsnullcon 2011 - Security and Forensic Discovery in Cloud Environments
nullcon 2011 - Security and Forensic Discovery in Cloud Environments
 
[OpenStack Day in Korea 2015] Keynote 2 - Leveraging OpenStack to Realize the...
[OpenStack Day in Korea 2015] Keynote 2 - Leveraging OpenStack to Realize the...[OpenStack Day in Korea 2015] Keynote 2 - Leveraging OpenStack to Realize the...
[OpenStack Day in Korea 2015] Keynote 2 - Leveraging OpenStack to Realize the...
 
Microservices Patterns with GoldenGate
Microservices Patterns with GoldenGateMicroservices Patterns with GoldenGate
Microservices Patterns with GoldenGate
 
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
 
Partnership to Capture Indonesia ERP Cloud Trend Opportunities
Partnership to Capture Indonesia ERP Cloud Trend OpportunitiesPartnership to Capture Indonesia ERP Cloud Trend Opportunities
Partnership to Capture Indonesia ERP Cloud Trend Opportunities
 
Do more clouds = better scalability, availability, flexibility
Do more clouds = better scalability, availability, flexibility Do more clouds = better scalability, availability, flexibility
Do more clouds = better scalability, availability, flexibility
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insights
 
Dcs cloud architecture-high-level-design
Dcs cloud architecture-high-level-designDcs cloud architecture-high-level-design
Dcs cloud architecture-high-level-design
 

Recently uploaded

dachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdfdachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdf
DNUG e.V.
 
Cultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational TransformationCultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational Transformation
Mindfire Solution
 
What is OCR Technology and How to Extract Text from Any Image for Free
What is OCR Technology and How to Extract Text from Any Image for FreeWhat is OCR Technology and How to Extract Text from Any Image for Free
What is OCR Technology and How to Extract Text from Any Image for Free
TwisterTools
 
NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial CompanyNBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Softwares
 
Leading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptxLeading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptx
taskroupseo
 
A Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdfA Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdf
kalichargn70th171
 
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
Semiosis Software Private Limited
 
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
onemonitarsoftware
 
dachnug51 - Whats new in domino 14 .pdf
dachnug51 - Whats new in domino 14  .pdfdachnug51 - Whats new in domino 14  .pdf
dachnug51 - Whats new in domino 14 .pdf
DNUG e.V.
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
karim wahed
 
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdfResponsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Trackobit
 
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
avufu
 
Top 10 Tips To Get Google AdSense For Your Website
Top 10 Tips To Get Google AdSense For Your WebsiteTop 10 Tips To Get Google AdSense For Your Website
Top 10 Tips To Get Google AdSense For Your Website
e-Definers Technology
 
introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...
sachin chaurasia
 
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdfIndependence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Livetecs LLC
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdfAWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
karim wahed
 
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptxAddressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Sparity1
 
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTIONBITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
ssuser2b426d1
 
WEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service ProvidersWEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service Providers
Severalnines
 
Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.
shivamt017
 

Recently uploaded (20)

dachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdfdachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdf
 
Cultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational TransformationCultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational Transformation
 
What is OCR Technology and How to Extract Text from Any Image for Free
What is OCR Technology and How to Extract Text from Any Image for FreeWhat is OCR Technology and How to Extract Text from Any Image for Free
What is OCR Technology and How to Extract Text from Any Image for Free
 
NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial CompanyNBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial Company
 
Leading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptxLeading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptx
 
A Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdfA Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdf
 
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
 
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
 
dachnug51 - Whats new in domino 14 .pdf
dachnug51 - Whats new in domino 14  .pdfdachnug51 - Whats new in domino 14  .pdf
dachnug51 - Whats new in domino 14 .pdf
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
 
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdfResponsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
 
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
 
Top 10 Tips To Get Google AdSense For Your Website
Top 10 Tips To Get Google AdSense For Your WebsiteTop 10 Tips To Get Google AdSense For Your Website
Top 10 Tips To Get Google AdSense For Your Website
 
introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...introduction of Ansys software and basic and advance knowledge of modelling s...
introduction of Ansys software and basic and advance knowledge of modelling s...
 
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdfIndependence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdfAWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
 
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptxAddressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
 
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTIONBITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
 
WEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service ProvidersWEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service Providers
 
Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.
 

Horizontal Scaling for Millions of Customers!

  • 1. 28th January 2020 Elangovan Shanmugam HORIZONTAL SCALING FOR MILLIONS OF CUSTOMERS
  • 2. Intuit Confidential and Proprietary 1 Name: Elangovan Shanmugam Title: Distinguished Engineer @ Intuit Inc. EcoSystem Integration. Experience: 25+ Years in Software Development Work Highlights: - Designed Resilient systems to help importing Tax documents in (TP50) less than 2 seconds to our 45M tax filers. - Mint, Chief Architect. Designed & Deployed First ever Intuit Offering to Public Cloud. Serving for 35M customers and processing billions of bank transactions. - Event based notification systems processing millions of events and delivering 10+ millions notifications per day. - 11 Software Patents, 30 pending. - Scott Cook Innovation award winner. ABOUT ME … Twitter @elangovans LinkedIn https://www.linkedin.com/in/elangovans Blogs https://medium.com/@elangovan_shanmugam Patents https://patents.justia.com/inventor/elangovan-shanmugam
  • 3. Intuit Confidential and Proprietary 2 We understand … - What is considered in the software architecture - Strategies for delivering Microservices that can scale - How Mint scales for millions of customers THIS MEETING WILL BE GOOD IF …
  • 5. Intuit Confidential and Proprietary 4 TECHNICAL REQUIREMENTS Services Stds – Resiliency – Scalability – Reliability HOSTING REQUIREMENTS CICD – HADR – Cloud DEV OPS REQUIREMENTS Monitoring – Config mgmt. – Env. mgmt. BIZ OPS REQUIREMENTS Admin – Care – Risk – Fraud Mgmt. FUNCTIONAL REQUIREMENTS Product – Experience – Integration BUSINESS REQUIREMENTS Monetization– Metrics – Growth SECURITY REQUIREMENTS Security Stds – Data Stds ENGINEERING EXCELLENCE FMEA – Quality – Testability COMPLIANCE REQUIREMENTS HIPAA – PCI – Accessibility – Patriot act - Privacy OPERATIONAL EXCELLENCE SLA – Performance - Availability Customers Developers Partners BizOps Customer Success ARCHITECTURE HOW I SEE THE SOFTWARE ARCHITECTURE
  • 6. Intuit Confidential and Proprietary 5 HOW DO WE STRUCTURE OURSELVES TO SOLVE THIS PROBLEM PEOPLE TECHNOLOGY PROCESS COST (TCO)P T Pr C Engineers (Dev, DevOps, QE) Analyst / Data Science Other actors Application / Services / Database AI/ML & Warehouse Cloud & Hosting technologies Agile, Kanban … Development Build / Deploy Process Development Cost Maintenance Cost Hosting Cost
  • 7. Intuit Confidential and Proprietary 6 ARCHITECTURE PRINCIPLES Keep compute tier stateless1 Resilient to failures and work in a dynamic environment and No Single point of failures (reduce number of FCI) 2 Low latency and high performing systems 3 Security is number one concern 4 Fault Isolation by decreasing the blast radius 5 Zero downtime deployment - using Canary, Blue/Green Deployment 6
  • 8. Intuit Confidential and Proprietary 7 SLA’S THAT WE ARE SOLVING FOR … AVAILABILITY 4 9’s ~ 52 mins downtime per year. LATENCY TP50: 1 Sec. TP90: 2 Secs. TP99: 5 Secs. SITE RECYCLE FREQUENCY 15 days FAULT TOLERANCE FCI: 0.02% RPO: 5 mins RTO: 20 mins SECURITY SLA ZERO SECURITY DEFECTS P1 DEFECTS MUST BE FIXED & DEPLOYED IN 48 HOURS TEST COVERAGE 100% AUTOMATION DEPLOYMENT TIME 45 Mins after code is committed Blast Radius No more than 10% user - Understand Traffic Patterns (daily, weekly, monthly, …) - Measure Daily, Weekly, Monthly, and Yearly Active users - Identify most used features, How much time the users are spending in a feature, Hotspots in the system - Build Operational rigour to support the users and system behaviours - Be Cost aware. How much each request costs
  • 10. Intuit Confidential and Proprietary 9 API & MicroServices Data Lake Applications Hosting Logging Instrumentation Monitoring Alerting Content Source Control Analyzer Build Artifact & Packaging Deploy ABSTRACT TECHNOLOGY STACK Technology Stack ● Typical stack contains many micro services, many databases, many applications along with several utility functions, hosting and monitoring. ● In Mint, ○ AWS is the hosting platform ○ Java and Restful services for the middle layer ○ Single page application for the browser app ○ Native applications for the mobile devices (iOS and Android). DEVELOPMENT RUNTIME
  • 11. Intuit Confidential and Proprietary 10 API & MicroServices Data Lake Applications Hosting Logging Instrumentation Monitoring Alerting Content Source Control Analyzer Build Artifact & Packaging Deploy ABSTRACT TECHNOLOGY STACK Application Stack ● User facing features ● Typically running in the internet ● Built for multiple platforms (Web Browser, Desktop, Mobile devices, and so on)
  • 12. Intuit Confidential and Proprietary 11 API & MicroServices Data Lake Applications Hosting Logging Instrumentation Monitoring Alerting Content Source Control Analyzer Build Artifact & Packaging Deploy ABSTRACT TECHNOLOGY STACK Services Stack ● Capabilities built and deployed in the server side ● Typically runs in the data center behind Firewall ● Should be horizontally scalable ● Solves for lots compliance requirements
  • 13. Intuit Confidential and Proprietary 12 API & MicroServices Data Lake Applications Hosting Logging Instrumentation Monitoring Alerting Content Source Control Analyzer Build Artifact & Packaging Deploy ABSTRACT TECHNOLOGY STACK Data Lake ● Ingest click-stream data to understand user behaviors ● Ingest all data and analyse to gain business insights ● Develop & Train ML models
  • 15. Intuit Confidential and Proprietary 14 MicroService - 1 Gateway authentication Microservices Strategy Modern systems cannot be built as a single monolithic service. Split the concerns into functional areas. In Mint, the splits are as follows, Budgets, Credit Reports, Investments, Goals, Notifications, Insights and so on. Common Capabilities: - Within the services there are horizontal concerns like how to communicate between Databases, API’s, Brokers, etc. Scale per functionality: - This allows us to design them independent of each other, based on their scale. For example, Users will have 1000’s of transactions, but there will be only one credit report per month. Separation of concerns: - Delivery of services per their own schedule. Credit report team’s cadence can be different from Budget service cadence. - In case of any issues in Budget service must not impact Credit service or other services. This is also known as control the blast radius. ORIENTATION SCALING FUNCTIONALITIES MicroService - 2 MicroService - 3 MicroService - 4 MicroService - 5
  • 16. Intuit Confidential and Proprietary 15 Business Logic Proxy Layer (Routing & Stack Picking) API Broker Database Layer Offline Process Gateway authentication Authenticate any requests to microservices. This is critical security layer. Restful API layer exposes various CRUD resources operations to it clients. This defines endpoints and resource models. Service layer where all the business logic is implemented. There are two different aspects, online and offline process. Databases, Caches and Data Access Layer. Platform Developer Role Technologies API Backend Developer JaxRS, Jersey Broker ActiveMQ, Kafka Cache Redis, MemCache Business Logic Java Database MySQL, C*, DynamoDB Service Template A representation of a Microservice. Though each service can customize per its needs a typical template would be like this so that there is uniform approach and easy to understand, move talents between services, and easy to troubleshoot, etc. MICROSERVICES ARCHITECTURE Cache ORIENTATION
  • 17. Intuit Confidential and Proprietary 16 RUN TIME & NETWORK COMMUNICATIONS ELB Proxy API Broker Business Database Sharded RDS MySQL:: Each DB contains set of users data. Business logic, Caching and Data access logic. REST API, Data Transform to Resource model, Distributed Caching for sessions EC2 Instance RDS MySQL
  • 18. Intuit Confidential and Proprietary 17 RUN TIME & NETWORK COMMUNICATIONS ELB Proxy API Broker Business Database Sharded RDS MySQL:: Each DB contains set of users data. Typically compute, I/O intensive and scale this layer based on the load. REST API instances can be scaled horizontally. Add new EC2 nodes to support load. ActiveMQ Brokers are typically will work as single Master instance and Slave instance. This layer is used as RMI over JMS. Alternate would be - using Kafka Cluster. - using Vert.x infrastructure. Can be a separate topics!!
  • 19. Intuit Confidential and Proprietary 18 Availability Zone 1 Proxy Layer (Routing & Stack picking) Web, Broker, and Business logic Layer Database Layer Availability Zone 1 Proxy Layer (Routing & Stack picking) S1 S2 S3 S4 WHAT IS SL? Availability Zone 1 Proxy Layer (Routing & Stack picking) S1 S2 S3 S4 WHAT IS INSIDE A SL? EC2 RDS for MySQL HORIZONTAL SCALING & DEPLOYMENT ARCHITECTURE Strategies for Service deployment Pick a strategy for partitioning the data. For example, one DB shard could hold data for n users. For a given service, all the data will be available in that shard. Another service could use very different partitioning strategy. Alternate: Cassandra or DynamoDB could be an alternate, but choose proper persistence strategy for the problem. Stacks (or Swimlanes) where the services are deployed can communicate to within the boundary. Avoid Cross Stack Communication. Central Stack (not shown in the diagram) contains the configuration of which user data belongs to which shard and which shard belongs to which stack. AWS RegionElastic Load Balancer
  • 20. Intuit Confidential and Proprietary 19 Data Center 2 Availability Zone 1 Proxy Layer (Routing & Stack picking) S1 S2 S3 S4 Data Center 1 HIGH AVAILABILITY AWS RegionElastic Load Balancer HA Strategies Services are deployed in Multiple Availability Zones (AZ) so that they are highly available. Each Stack is distributed in multiple AZs. Primary database is one AZ. Slaves (real-time replication) of the data is distributed in the 2nd and 3rd AZ. Compute tier will reach out to the Primary database. Benefits of this model: - If there is an outage on an AZ other two AZs will still serve the requests for our customers. - Reduce the blast radius. If there is an issues in the system it could only affect smallest scope of the users. Operations procedures: Stack rebalancing, Data model rollouts, Blue/Green Deployments, Canary deployments. Availability Zone 2 Proxy Layer (Routing & Stack picking) S1 S2 S3 S4 Availability Zone 3 Proxy Layer (Routing & Stack picking) S1 S2 S3 S4 Data Center 3
  • 22. Intuit Confidential and Proprietary 21 Plugins Utilities (Logging, Instrumentation …) Sandbox API App Shell Shell Service Plugin Reg + Personalization Plugin - 1 Plugin - 3 Platform Developer Role Technologies Web Application Web app developer Java Script, ReactJS, HTML5, CSS3. iOS (phone, tablet, wearables) iOS Developer Swift, XCode Android (phone, tablet, wearables) Android Developer Kotlin, Android Studio Experience Designers, Customer research, Product Managers Accessibility experts. Plugin - 2 Plugin - 4 A Software infrastructure that helps register and render Plugins, packages the common libraries avoid loading them multiple times, etc. Plugins are set of customer facing capabilities that can be reused in multiple apps. Think of Login, Shopping cart, Payment, etc. as plugins. APPLICATION ARCHITECTURE Common utilities can be used across all the plugins. Uniform method of logging and collecting metrics and more. Scalability in App Architecture What are the strategies for multiple platforms, Web, iOS, Android, Tablets, Wearables, IoT devices? What are the customer base? Do they expect native experience? Does your product demand native experience? For example, does your product need any of the device capabilities, like activating camera? ORIENTATION
  • 23. Intuit Confidential and Proprietary 22 Q & A