SlideShare a Scribd company logo
Building a Scalable,
Global SaaS Offering
Lessons from Intuit’s
QuickBooks Online Team
Nilendu Misra, Lead Architect, Intuit
Anshu Verma, Architect, Intuit
1494 … 2 Years after “New World”
 Monk
 Mathematician
 Professor
 Private Tutor to Leonardo da Vinci
 First book on chess
 Father of double-entry accounting
 First documented use of logarithm
 Treatise on “juggle, eat fire & coins
dance”
Luca Pacioli
QuickBooks Online snapshot
 Used by businesses from “cradle to grave” –
daycare for infants to undertaker
 Over 400,000 small business subscribers
 ~100K transactions per minute; spike of “firsts” –
year, quarter, month, week
 Available via Web, native mobile/tablet apps,
3rd-party apps built on exposed APIs
Scale Cube
Split users
(geography, size,
type, SKU)
Split data (read vs. write,
active standby, shards)
Split code
(SOA, nouns/verbs)
2 DB Read-Slaves (X)
Doing Search (Y)
Australia/APAC Subscribers (Z)
Scale Out: Commodity Capacity where it’s needed
1. Swim lane architecture
App Servers……..
Databases….
Swim Lane – Fault Tolerant & Self-Contained Domains
2. The bigger they are, the harder they fall
"You can drop a mouse down a thousand-yard
mine shaft and, on arriving at the bottom, it gets
a slight shock and walks away.”
J. B. S. Haldane,"On Being the Right Size"
Fail small
5 swim lanes,
20% traffic each
20 swim lanes,
5% traffic each
100s of swim lanes,
~1% traffic each
3. Workload isolation (“bulkhead”)
Workload isolation
Transaction
load
Batch
load
Server
UI load API load
Server
pool1
Server
pool2
Workloads have a hidden dependency on each other.
If one triggers a bug or outage in service, all others
will be impacted.
5 types of workloads:
 UI Service calls
 API calls from apps
 Batch
 External sync
 Administrative
Partial service in the face of failures …
Strategic server reserve
4. Ensure performance
Requirement Measure
No major degradation Median response time for any workflow should not deviate >10% from
past
Minimal variability 2 standard deviations should span across the same % of executions for
each workflow
Correct sampling At least, 10% of overall production concurrency tested for a true RAS
measurement
Worst case projection Most expensive workflow to be tested at 2x concurrency than at
production
5. Piloting
Piloting
Roll out a new feature/function or even system call to a limited sample of clients based on some
criteria – allows us to test out new features or interactions before fully rolling them out.
Piloting logic check should allow us to completely shut the new feature off, or gradually roll out to
more customers with preferably no required deployment events.
Pilot
configuration
Pilot
factory
Obj Request()
In pilot group?
Client
If pilot return newObj
If control return oldObj
If no return noObject
“The new set up sucks. Now I can't even open a
new window. You've changed way too much
from the desktop and took away features people
need. I can't wait to get away from your product
for good!”
Customer feedback (pre-piloting)
“THANK YOU THANK YOU THANK YOU for
adding the facility to attach files to emails. I will
use it, and even more important, you have
made my "billing guy" extremely happy! This
will save him several hours each
week. Whoever is reading this, please go
kiss the feet of whoever implemented this
feature!”
Customer feedback (post-piloting)
Access
Data APIs
Product data Business data 3rd-party data
Analytics Cloud
(Netezza, Hadoop, Splunk)
Log; transactions; tax forms &
codes; Web/mobile click-stream
Orders, subscriptions,
cancellations, care
Managers Ops/Engineers
Firmographic data,
social data, D&B data
Self-service tools
Products EmployeesIdentify
Capture
Act
Aggregate
Analyze
6. Data … measure … act
Data about Data
Executes Server-side tolerance threshold
1000 times/hr 250 ms
10,000 times/hr 120 ms
100,000 times/hr 50 ms
1,000,000 times/hr 15 ms
Bad gets worse faster than good gets better …
References
Luca, my
friend!!
1. No borders, no boundaries, no flags
2. Globalization is reality …
SB Purchasing
$3.8T in Spend
75% outside US
Used in 70 languages
Social engagement:
US : ranked #11
21% of global population
uses Twitter every day
English growing @ 301%
Spanish @ 807%
Chinese @ 1478%
Russian @ 1825%
3. Small business spread
22M
(US)
500M
(rest of
the world)
20X!! … case rested?
1  160 countries 1  46 languages 1  140 currencies
Leapfrog journey – the 4 leaps
How did we do it ?
Guiding Principle : Build a global platform
True global platform via a single
codebase; US is a locale
“FROM” state “TO” state
Worldwide hosting, multi-tenant, 24x7
ops, SLAs
Multi-byte, multi-language
Open APIs, integrations
Built via network effects: 3rd-party
developers & users
Worldwide-localized marketing/SEO,
care model
US-only hosting, ops & SLAs
English-only
US-only app
US-only marketing/SEO, care
Developed by Intuit
Non-globalized services, APIs
Built a global platform
True global platform via a single
codebase; US is a locale
“FROM” state “TO” state
Worldwide hosting, multi-tenant, 24x7
ops, SLAs
Multi-byte, multi-language
Open APIs, integrations
Built via network effects: 3rd-party
developers & users
Worldwide-localized marketing/SEO,
care model
US-only hosting, ops & SLAs
English-only
US-only app
US-only marketing/SEO, care
Developed by Intuit
Non-globalized services, APIs
While growing 40% YoY
… and avoiding thisMid-air with passengers …
Step1 : Re-engineering
24x7 ops & care
Global ecosystem – Internationalized and Localized
Deploy
(multi-tenant, secure)
Pricing, branding
Functionality, formatting
Base
Core
US UK …
Akamai (CDNs, WAA)
Perf SLA monitoring
(Gomez, KeyNote, RUM)
Partner integrations ExperimentsMarketing websites
Personalization
Business services
Single
codebase
Locale
sensitive
Infrastructure
Channels
Culturization
The first leap
4 additional countries
Effort, time-consuming
Localizing country by country
Problems in the mirror are larger than they appear
80+ year problem
Eureka moment!!
From “us” to “users”
We were localizing country
by country
Users localize themselves
(currency, formatting, taxes, reports, etc.)
Pet Store, Brazil sets up QBO for his business
Product can be used by anyone, anywhere
Finland
.. Even from moon .. Really ??
Leap #2
150 countries in ~8 weeks!!
Local(host) not found ?
Delightful experience
Speak my language Personalize for me
(Another) eureka moment !!
Using network effects for delight
1 refers a few Few collectively get
many
Speak my language : New way for translation
Machine Users contribute/customize
In-product, in-context
Leap #3
46 languages (machine translated) in
4 weeks. User contribution
personalizes where we fall short!!
Personalize for me
Products are made to be relevant for a majority audience,
but they are largely irrelevant for the individual user
Personalization is the NEW localization
Tax rates Reports
Settings,
preferences
Forms
customization
Business terms Workflows, …
Who is the user ?
Where is s/he from ?
1
Crunching similar users’
data (non-anonymously)
2Personalized based
on similar profiles
3
1
(another) Pet Store, Brazil – now personalized automagically
… enabling personalization for each individual …
1-800-ultra-personalization
Cecilia, florist Alex, coffee house Liang, gardener Vijay, merchantCraig, landscape & furnishing
One offering, automagically configured into 1000s while we sleep!!
Leap #4
Personalized QBO for every user
worldwide while we sleep!!
Cia
o
Priv
etHello
HiHola
Aloha Bon Jour
Hallo
Merhaba
Sayonara
1
I18N Ready
2
4
Network effects via
users & 3rd-party
developers
Localized
Global expansion via rapid L10N
Network-advantaged
Value delivery via enabling others
L10Ns by Intuit developers
I18Nized
Ability to localize
Configurable
Supporting cultures w/o country
specific localizations
3
Users localize for
themselves
Technology evolution via building a blue print for
global maturity – use it !!
Test , validate
4 countries
Acceleration
150 countries
Personalized using
user’s interactions
150 countries
46 languages
143 currencies
Thank you!!
anshu_verma@intuit.com
nilendu_misra@intuit.com

More Related Content

Similar to Velocity Conference: Building a Scalable, Global SaaS Offering: Lessons from Intuit's QuickBooks Online Team

Eventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkEventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalk
confluent
 
AI at Scale in Enterprises
AI at Scale in Enterprises AI at Scale in Enterprises
AI at Scale in Enterprises
Ganesan Narayanasamy
 
Gala Webminar September 2013
Gala Webminar September 2013Gala Webminar September 2013
Gala Webminar September 2013
pangeanic
 
When Worlds Collide: UX Design of Data-Centric Apps
When Worlds Collide: UX Design of Data-Centric AppsWhen Worlds Collide: UX Design of Data-Centric Apps
When Worlds Collide: UX Design of Data-Centric Apps
Taylor B.
 
Making Observability Actionable At Scale - DBS DevConnect 2019
Making Observability Actionable At Scale - DBS DevConnect 2019Making Observability Actionable At Scale - DBS DevConnect 2019
Making Observability Actionable At Scale - DBS DevConnect 2019
Squadcast Inc
 
Python & Serverless: Refactor your monolith piece by piece
Python & Serverless: Refactor your monolith piece by piecePython & Serverless: Refactor your monolith piece by piece
Python & Serverless: Refactor your monolith piece by piece
Giuseppe Vallarelli
 
Directi Information Session on Campus @ IITD
Directi Information Session on Campus @ IITDDirecti Information Session on Campus @ IITD
Directi Information Session on Campus @ IITDDirecti Group
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
Brian Henerey
 
Developing backoffices
Developing backofficesDeveloping backoffices
Developing backoffices
Gonçalo Chaves
 
RedisConf18 - Common Redis Use Cases for Cloud Native Apps and Microservices
RedisConf18 - Common Redis Use Cases for Cloud Native Apps and MicroservicesRedisConf18 - Common Redis Use Cases for Cloud Native Apps and Microservices
RedisConf18 - Common Redis Use Cases for Cloud Native Apps and Microservices
Redis Labs
 
Real-time big data analytics based on product recommendations case study
Real-time big data analytics based on product recommendations case studyReal-time big data analytics based on product recommendations case study
Real-time big data analytics based on product recommendations case study
deep.bi
 
Natural Language Processing at Scale
Natural Language Processing at ScaleNatural Language Processing at Scale
Natural Language Processing at Scale
Andrei Lopatenko
 
DataScientist Job : Between Myths and Reality.pdf
DataScientist Job : Between Myths and Reality.pdfDataScientist Job : Between Myths and Reality.pdf
DataScientist Job : Between Myths and Reality.pdf
Jedha Bootcamp
 
How to explain DevOps to your mom
How to explain DevOps to your momHow to explain DevOps to your mom
How to explain DevOps to your mom
Andreas Grabner
 
Actminds Outsourcing Summit 07
Actminds Outsourcing Summit 07Actminds Outsourcing Summit 07
Actminds Outsourcing Summit 07cnetto
 
Making the Most of Customer Data
Making the Most of Customer DataMaking the Most of Customer Data
Making the Most of Customer DataWSO2
 
Guiding Principles for the Low Code Revolution – Intuit QuickBase EMPOWER2015...
Guiding Principles for the Low Code Revolution – Intuit QuickBase EMPOWER2015...Guiding Principles for the Low Code Revolution – Intuit QuickBase EMPOWER2015...
Guiding Principles for the Low Code Revolution – Intuit QuickBase EMPOWER2015...
QuickBase, Inc.
 
The Rationale for Continuous Delivery
The Rationale for Continuous DeliveryThe Rationale for Continuous Delivery
The Rationale for Continuous Delivery
Perforce
 
Splunk for ITOps
Splunk for ITOpsSplunk for ITOps
Splunk for ITOps
Splunk
 

Similar to Velocity Conference: Building a Scalable, Global SaaS Offering: Lessons from Intuit's QuickBooks Online Team (20)

Eventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkEventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalk
 
AI at Scale in Enterprises
AI at Scale in Enterprises AI at Scale in Enterprises
AI at Scale in Enterprises
 
Gala Webminar September 2013
Gala Webminar September 2013Gala Webminar September 2013
Gala Webminar September 2013
 
RAJATBATHWAL
RAJATBATHWALRAJATBATHWAL
RAJATBATHWAL
 
When Worlds Collide: UX Design of Data-Centric Apps
When Worlds Collide: UX Design of Data-Centric AppsWhen Worlds Collide: UX Design of Data-Centric Apps
When Worlds Collide: UX Design of Data-Centric Apps
 
Making Observability Actionable At Scale - DBS DevConnect 2019
Making Observability Actionable At Scale - DBS DevConnect 2019Making Observability Actionable At Scale - DBS DevConnect 2019
Making Observability Actionable At Scale - DBS DevConnect 2019
 
Python & Serverless: Refactor your monolith piece by piece
Python & Serverless: Refactor your monolith piece by piecePython & Serverless: Refactor your monolith piece by piece
Python & Serverless: Refactor your monolith piece by piece
 
Directi Information Session on Campus @ IITD
Directi Information Session on Campus @ IITDDirecti Information Session on Campus @ IITD
Directi Information Session on Campus @ IITD
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
 
Developing backoffices
Developing backofficesDeveloping backoffices
Developing backoffices
 
RedisConf18 - Common Redis Use Cases for Cloud Native Apps and Microservices
RedisConf18 - Common Redis Use Cases for Cloud Native Apps and MicroservicesRedisConf18 - Common Redis Use Cases for Cloud Native Apps and Microservices
RedisConf18 - Common Redis Use Cases for Cloud Native Apps and Microservices
 
Real-time big data analytics based on product recommendations case study
Real-time big data analytics based on product recommendations case studyReal-time big data analytics based on product recommendations case study
Real-time big data analytics based on product recommendations case study
 
Natural Language Processing at Scale
Natural Language Processing at ScaleNatural Language Processing at Scale
Natural Language Processing at Scale
 
DataScientist Job : Between Myths and Reality.pdf
DataScientist Job : Between Myths and Reality.pdfDataScientist Job : Between Myths and Reality.pdf
DataScientist Job : Between Myths and Reality.pdf
 
How to explain DevOps to your mom
How to explain DevOps to your momHow to explain DevOps to your mom
How to explain DevOps to your mom
 
Actminds Outsourcing Summit 07
Actminds Outsourcing Summit 07Actminds Outsourcing Summit 07
Actminds Outsourcing Summit 07
 
Making the Most of Customer Data
Making the Most of Customer DataMaking the Most of Customer Data
Making the Most of Customer Data
 
Guiding Principles for the Low Code Revolution – Intuit QuickBase EMPOWER2015...
Guiding Principles for the Low Code Revolution – Intuit QuickBase EMPOWER2015...Guiding Principles for the Low Code Revolution – Intuit QuickBase EMPOWER2015...
Guiding Principles for the Low Code Revolution – Intuit QuickBase EMPOWER2015...
 
The Rationale for Continuous Delivery
The Rationale for Continuous DeliveryThe Rationale for Continuous Delivery
The Rationale for Continuous Delivery
 
Splunk for ITOps
Splunk for ITOpsSplunk for ITOps
Splunk for ITOps
 

More from Intuit Inc.

State of Small Business – Growth and Success Report
State of Small Business – Growth and Success ReportState of Small Business – Growth and Success Report
State of Small Business – Growth and Success Report
Intuit Inc.
 
The State of Small Business Cash Flow
The State of Small Business Cash FlowThe State of Small Business Cash Flow
The State of Small Business Cash Flow
Intuit Inc.
 
Small Business in the Age of AI
Small Business in the Age of AI Small Business in the Age of AI
Small Business in the Age of AI
Intuit Inc.
 
Get financially Fit: Tips for Using QuickBooks
Get financially Fit: Tips for Using QuickBooksGet financially Fit: Tips for Using QuickBooks
Get financially Fit: Tips for Using QuickBooks
Intuit Inc.
 
SEO, Social, and More: Digital Marketing for your Business
SEO, Social, and More: Digital Marketing for your BusinessSEO, Social, and More: Digital Marketing for your Business
SEO, Social, and More: Digital Marketing for your Business
Intuit Inc.
 
Why Building Your Brand is Key to Getting Customers
Why Building Your Brand is Key to Getting CustomersWhy Building Your Brand is Key to Getting Customers
Why Building Your Brand is Key to Getting Customers
Intuit Inc.
 
Get Found Fast: Google AdWords Strategies for Growth
Get Found Fast: Google AdWords Strategies for GrowthGet Found Fast: Google AdWords Strategies for Growth
Get Found Fast: Google AdWords Strategies for Growth
Intuit Inc.
 
Giving Clients What They Want
Giving Clients What They WantGiving Clients What They Want
Giving Clients What They Want
Intuit Inc.
 
What Accounting Will Look Like in 2030
What Accounting Will Look Like in 2030What Accounting Will Look Like in 2030
What Accounting Will Look Like in 2030
Intuit Inc.
 
Pricing in the Digital Age
Pricing in the Digital Age Pricing in the Digital Age
Pricing in the Digital Age
Intuit Inc.
 
Handbook: Power Panel on Apps you need to give you more time to serve your cl...
Handbook: Power Panel on Apps you need to give you more time to serve your cl...Handbook: Power Panel on Apps you need to give you more time to serve your cl...
Handbook: Power Panel on Apps you need to give you more time to serve your cl...
Intuit Inc.
 
Handbook: Advanced QuickBooks Online - Handling Tricky Transactions
Handbook: Advanced QuickBooks Online - Handling Tricky TransactionsHandbook: Advanced QuickBooks Online - Handling Tricky Transactions
Handbook: Advanced QuickBooks Online - Handling Tricky Transactions
Intuit Inc.
 
Advanced QuickBooks Online - Handling Tricky Transactions
Advanced QuickBooks Online - Handling Tricky TransactionsAdvanced QuickBooks Online - Handling Tricky Transactions
Advanced QuickBooks Online - Handling Tricky Transactions
Intuit Inc.
 
Handling tricky transactions in QuickBooks Online
Handling tricky transactions in QuickBooks OnlineHandling tricky transactions in QuickBooks Online
Handling tricky transactions in QuickBooks Online
Intuit Inc.
 
Social media is social business
Social media is social business  Social media is social business
Social media is social business
Intuit Inc.
 
Conversation guide: Forming deep relationships with your clients
Conversation guide: Forming deep relationships with your clientsConversation guide: Forming deep relationships with your clients
Conversation guide: Forming deep relationships with your clients
Intuit Inc.
 
Making tax digital
Making tax digital  Making tax digital
Making tax digital
Intuit Inc.
 
Giving clients what they want
Giving clients what they want Giving clients what they want
Giving clients what they want
Intuit Inc.
 
100 percent cloud your action plan for success
100 percent cloud your action plan for success 100 percent cloud your action plan for success
100 percent cloud your action plan for success
Intuit Inc.
 
Attracting and retaining top talent
Attracting and retaining top talent Attracting and retaining top talent
Attracting and retaining top talent
Intuit Inc.
 

More from Intuit Inc. (20)

State of Small Business – Growth and Success Report
State of Small Business – Growth and Success ReportState of Small Business – Growth and Success Report
State of Small Business – Growth and Success Report
 
The State of Small Business Cash Flow
The State of Small Business Cash FlowThe State of Small Business Cash Flow
The State of Small Business Cash Flow
 
Small Business in the Age of AI
Small Business in the Age of AI Small Business in the Age of AI
Small Business in the Age of AI
 
Get financially Fit: Tips for Using QuickBooks
Get financially Fit: Tips for Using QuickBooksGet financially Fit: Tips for Using QuickBooks
Get financially Fit: Tips for Using QuickBooks
 
SEO, Social, and More: Digital Marketing for your Business
SEO, Social, and More: Digital Marketing for your BusinessSEO, Social, and More: Digital Marketing for your Business
SEO, Social, and More: Digital Marketing for your Business
 
Why Building Your Brand is Key to Getting Customers
Why Building Your Brand is Key to Getting CustomersWhy Building Your Brand is Key to Getting Customers
Why Building Your Brand is Key to Getting Customers
 
Get Found Fast: Google AdWords Strategies for Growth
Get Found Fast: Google AdWords Strategies for GrowthGet Found Fast: Google AdWords Strategies for Growth
Get Found Fast: Google AdWords Strategies for Growth
 
Giving Clients What They Want
Giving Clients What They WantGiving Clients What They Want
Giving Clients What They Want
 
What Accounting Will Look Like in 2030
What Accounting Will Look Like in 2030What Accounting Will Look Like in 2030
What Accounting Will Look Like in 2030
 
Pricing in the Digital Age
Pricing in the Digital Age Pricing in the Digital Age
Pricing in the Digital Age
 
Handbook: Power Panel on Apps you need to give you more time to serve your cl...
Handbook: Power Panel on Apps you need to give you more time to serve your cl...Handbook: Power Panel on Apps you need to give you more time to serve your cl...
Handbook: Power Panel on Apps you need to give you more time to serve your cl...
 
Handbook: Advanced QuickBooks Online - Handling Tricky Transactions
Handbook: Advanced QuickBooks Online - Handling Tricky TransactionsHandbook: Advanced QuickBooks Online - Handling Tricky Transactions
Handbook: Advanced QuickBooks Online - Handling Tricky Transactions
 
Advanced QuickBooks Online - Handling Tricky Transactions
Advanced QuickBooks Online - Handling Tricky TransactionsAdvanced QuickBooks Online - Handling Tricky Transactions
Advanced QuickBooks Online - Handling Tricky Transactions
 
Handling tricky transactions in QuickBooks Online
Handling tricky transactions in QuickBooks OnlineHandling tricky transactions in QuickBooks Online
Handling tricky transactions in QuickBooks Online
 
Social media is social business
Social media is social business  Social media is social business
Social media is social business
 
Conversation guide: Forming deep relationships with your clients
Conversation guide: Forming deep relationships with your clientsConversation guide: Forming deep relationships with your clients
Conversation guide: Forming deep relationships with your clients
 
Making tax digital
Making tax digital  Making tax digital
Making tax digital
 
Giving clients what they want
Giving clients what they want Giving clients what they want
Giving clients what they want
 
100 percent cloud your action plan for success
100 percent cloud your action plan for success 100 percent cloud your action plan for success
100 percent cloud your action plan for success
 
Attracting and retaining top talent
Attracting and retaining top talent Attracting and retaining top talent
Attracting and retaining top talent
 

Recently uploaded

Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 

Recently uploaded (20)

Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 

Velocity Conference: Building a Scalable, Global SaaS Offering: Lessons from Intuit's QuickBooks Online Team

  • 1. Building a Scalable, Global SaaS Offering Lessons from Intuit’s QuickBooks Online Team Nilendu Misra, Lead Architect, Intuit Anshu Verma, Architect, Intuit
  • 2. 1494 … 2 Years after “New World”
  • 3.  Monk  Mathematician  Professor  Private Tutor to Leonardo da Vinci  First book on chess  Father of double-entry accounting  First documented use of logarithm  Treatise on “juggle, eat fire & coins dance” Luca Pacioli
  • 4. QuickBooks Online snapshot  Used by businesses from “cradle to grave” – daycare for infants to undertaker  Over 400,000 small business subscribers  ~100K transactions per minute; spike of “firsts” – year, quarter, month, week  Available via Web, native mobile/tablet apps, 3rd-party apps built on exposed APIs
  • 5. Scale Cube Split users (geography, size, type, SKU) Split data (read vs. write, active standby, shards) Split code (SOA, nouns/verbs)
  • 6. 2 DB Read-Slaves (X) Doing Search (Y) Australia/APAC Subscribers (Z)
  • 7. Scale Out: Commodity Capacity where it’s needed
  • 8. 1. Swim lane architecture
  • 9. App Servers…….. Databases…. Swim Lane – Fault Tolerant & Self-Contained Domains
  • 10. 2. The bigger they are, the harder they fall "You can drop a mouse down a thousand-yard mine shaft and, on arriving at the bottom, it gets a slight shock and walks away.” J. B. S. Haldane,"On Being the Right Size"
  • 11. Fail small 5 swim lanes, 20% traffic each 20 swim lanes, 5% traffic each 100s of swim lanes, ~1% traffic each
  • 12. 3. Workload isolation (“bulkhead”)
  • 13. Workload isolation Transaction load Batch load Server UI load API load Server pool1 Server pool2 Workloads have a hidden dependency on each other. If one triggers a bug or outage in service, all others will be impacted. 5 types of workloads:  UI Service calls  API calls from apps  Batch  External sync  Administrative Partial service in the face of failures … Strategic server reserve
  • 14. 4. Ensure performance Requirement Measure No major degradation Median response time for any workflow should not deviate >10% from past Minimal variability 2 standard deviations should span across the same % of executions for each workflow Correct sampling At least, 10% of overall production concurrency tested for a true RAS measurement Worst case projection Most expensive workflow to be tested at 2x concurrency than at production
  • 16. Piloting Roll out a new feature/function or even system call to a limited sample of clients based on some criteria – allows us to test out new features or interactions before fully rolling them out. Piloting logic check should allow us to completely shut the new feature off, or gradually roll out to more customers with preferably no required deployment events. Pilot configuration Pilot factory Obj Request() In pilot group? Client If pilot return newObj If control return oldObj If no return noObject
  • 17. “The new set up sucks. Now I can't even open a new window. You've changed way too much from the desktop and took away features people need. I can't wait to get away from your product for good!” Customer feedback (pre-piloting)
  • 18. “THANK YOU THANK YOU THANK YOU for adding the facility to attach files to emails. I will use it, and even more important, you have made my "billing guy" extremely happy! This will save him several hours each week. Whoever is reading this, please go kiss the feet of whoever implemented this feature!” Customer feedback (post-piloting)
  • 19. Access Data APIs Product data Business data 3rd-party data Analytics Cloud (Netezza, Hadoop, Splunk) Log; transactions; tax forms & codes; Web/mobile click-stream Orders, subscriptions, cancellations, care Managers Ops/Engineers Firmographic data, social data, D&B data Self-service tools Products EmployeesIdentify Capture Act Aggregate Analyze 6. Data … measure … act
  • 20. Data about Data Executes Server-side tolerance threshold 1000 times/hr 250 ms 10,000 times/hr 120 ms 100,000 times/hr 50 ms 1,000,000 times/hr 15 ms Bad gets worse faster than good gets better …
  • 22. Luca, my friend!! 1. No borders, no boundaries, no flags
  • 23. 2. Globalization is reality … SB Purchasing $3.8T in Spend 75% outside US Used in 70 languages Social engagement: US : ranked #11 21% of global population uses Twitter every day English growing @ 301% Spanish @ 807% Chinese @ 1478% Russian @ 1825%
  • 24. 3. Small business spread 22M (US) 500M (rest of the world) 20X!! … case rested?
  • 25. 1  160 countries 1  46 languages 1  140 currencies Leapfrog journey – the 4 leaps
  • 26. How did we do it ?
  • 27. Guiding Principle : Build a global platform True global platform via a single codebase; US is a locale “FROM” state “TO” state Worldwide hosting, multi-tenant, 24x7 ops, SLAs Multi-byte, multi-language Open APIs, integrations Built via network effects: 3rd-party developers & users Worldwide-localized marketing/SEO, care model US-only hosting, ops & SLAs English-only US-only app US-only marketing/SEO, care Developed by Intuit Non-globalized services, APIs
  • 28. Built a global platform True global platform via a single codebase; US is a locale “FROM” state “TO” state Worldwide hosting, multi-tenant, 24x7 ops, SLAs Multi-byte, multi-language Open APIs, integrations Built via network effects: 3rd-party developers & users Worldwide-localized marketing/SEO, care model US-only hosting, ops & SLAs English-only US-only app US-only marketing/SEO, care Developed by Intuit Non-globalized services, APIs
  • 29. While growing 40% YoY … and avoiding thisMid-air with passengers …
  • 31. 24x7 ops & care Global ecosystem – Internationalized and Localized Deploy (multi-tenant, secure) Pricing, branding Functionality, formatting Base Core US UK … Akamai (CDNs, WAA) Perf SLA monitoring (Gomez, KeyNote, RUM) Partner integrations ExperimentsMarketing websites Personalization Business services Single codebase Locale sensitive Infrastructure Channels Culturization
  • 32. The first leap 4 additional countries
  • 34. Problems in the mirror are larger than they appear
  • 37. From “us” to “users” We were localizing country by country Users localize themselves (currency, formatting, taxes, reports, etc.)
  • 38. Pet Store, Brazil sets up QBO for his business
  • 39. Product can be used by anyone, anywhere Finland
  • 40. .. Even from moon .. Really ??
  • 41. Leap #2 150 countries in ~8 weeks!!
  • 43. Delightful experience Speak my language Personalize for me
  • 45. Using network effects for delight 1 refers a few Few collectively get many
  • 46. Speak my language : New way for translation Machine Users contribute/customize
  • 48. Leap #3 46 languages (machine translated) in 4 weeks. User contribution personalizes where we fall short!!
  • 49. Personalize for me Products are made to be relevant for a majority audience, but they are largely irrelevant for the individual user
  • 50. Personalization is the NEW localization Tax rates Reports Settings, preferences Forms customization Business terms Workflows, … Who is the user ? Where is s/he from ? 1 Crunching similar users’ data (non-anonymously) 2Personalized based on similar profiles 3 1
  • 51. (another) Pet Store, Brazil – now personalized automagically
  • 52. … enabling personalization for each individual …
  • 53. 1-800-ultra-personalization Cecilia, florist Alex, coffee house Liang, gardener Vijay, merchantCraig, landscape & furnishing One offering, automagically configured into 1000s while we sleep!!
  • 54. Leap #4 Personalized QBO for every user worldwide while we sleep!! Cia o Priv etHello HiHola Aloha Bon Jour Hallo Merhaba Sayonara
  • 55. 1 I18N Ready 2 4 Network effects via users & 3rd-party developers Localized Global expansion via rapid L10N Network-advantaged Value delivery via enabling others L10Ns by Intuit developers I18Nized Ability to localize Configurable Supporting cultures w/o country specific localizations 3 Users localize for themselves Technology evolution via building a blue print for global maturity – use it !! Test , validate 4 countries Acceleration 150 countries Personalized using user’s interactions 150 countries 46 languages 143 currencies