Building a Scalable,Global SaaS OfferingLessons from Intuit’sQuickBooks Online TeamNilendu Misra, Lead Architect, IntuitAn...
1494 … 2 Years after “New World”
 Monk Mathematician Professor Private Tutor to Leonardo da Vinci First book on chess Father of double-entry accounti...
QuickBooks Online snapshot Used by businesses from “cradle to grave” –daycare for infants to undertaker Over 400,000 sma...
Scale CubeSplit users(geography, size,type, SKU)Split data (read vs. write,active standby, shards)Split code(SOA, nouns/ve...
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-yardmine shaft and, on arriving at the b...
Fail small5 swim lanes,20% traffic each20 swim lanes,5% traffic each100s of swim lanes,~1% traffic each
3. Workload isolation (“bulkhead”)
Workload isolationTransactionloadBatchloadServerUI load API loadServerpool1Serverpool2Workloads have a hidden dependency o...
4. Ensure performanceRequirement MeasureNo major degradation Median response time for any workflow should not deviate >10%...
5. Piloting
PilotingRoll out a new feature/function or even system call to a limited sample of clients based on somecriteria – allows ...
“The new set up sucks. Now I cant even open anew window. Youve changed way too muchfrom the desktop and took away features...
“THANK YOU THANK YOU THANK YOU foradding the facility to attach files to emails. I willuse it, and even more important, yo...
AccessData APIsProduct data Business data 3rd-party dataAnalytics Cloud(Netezza, Hadoop, Splunk)Log; transactions; tax for...
Data about DataExecutes Server-side tolerance threshold1000 times/hr 250 ms10,000 times/hr 120 ms100,000 times/hr 50 ms1,0...
References
Luca, myfriend!!1. No borders, no boundaries, no flags
2. Globalization is reality …SB Purchasing$3.8T in Spend75% outside USUsed in 70 languagesSocial engagement:US : ranked #1...
3. Small business spread22M(US)500M(rest ofthe world)20X!! … case rested?
1  160 countries 1  46 languages 1  140 currenciesLeapfrog journey – the 4 leaps
How did we do it ?
Guiding Principle : Build a global platformTrue global platform via a singlecodebase; US is a locale“FROM” state “TO” stat...
Built a global platformTrue global platform via a singlecodebase; US is a locale“FROM” state “TO” stateWorldwide hosting, ...
While growing 40% YoY… and avoiding thisMid-air with passengers …
Step1 : Re-engineering
24x7 ops & careGlobal ecosystem – Internationalized and LocalizedDeploy(multi-tenant, secure)Pricing, brandingFunctionalit...
The first leap4 additional countries
Effort, time-consumingLocalizing country by country
Problems in the mirror are larger than they appear
80+ year problem
Eureka moment!!
From “us” to “users”We were localizing countryby countryUsers localize themselves(currency, formatting, taxes, reports, et...
Pet Store, Brazil sets up QBO for his business
Product can be used by anyone, anywhereFinland
.. Even from moon .. Really ??
Leap #2150 countries in ~8 weeks!!
Local(host) not found ?
Delightful experienceSpeak my language Personalize for me
(Another) eureka moment !!
Using network effects for delight1 refers a few Few collectively getmany
Speak my language : New way for translationMachine Users contribute/customize
In-product, in-context
Leap #346 languages (machine translated) in4 weeks. User contributionpersonalizes where we fall short!!
Personalize for meProducts are made to be relevant for a majority audience,but they are largely irrelevant for the individ...
Personalization is the NEW localizationTax rates ReportsSettings,preferencesFormscustomizationBusiness terms Workflows, …W...
(another) Pet Store, Brazil – now personalized automagically
… enabling personalization for each individual …
1-800-ultra-personalizationCecilia, florist Alex, coffee house Liang, gardener Vijay, merchantCraig, landscape & furnishin...
Leap #4Personalized QBO for every userworldwide while we sleep!!CiaoPrivetHelloHiHolaAloha Bon JourHalloMerhabaSayonara
1I18N Ready24Network effects viausers & 3rd-partydevelopersLocalizedGlobal expansion via rapid L10NNetwork-advantagedValue...
Thank you!!anshu_verma@intuit.comnilendu_misra@intuit.com
Upcoming SlideShare
Loading in …5
×

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

1,746 views

Published on

QuickBooks Online is the no. 1 small business cloud accounting solution worldwide. In this session we discussed how we built a highly scalable, global SaaS offering and the lessons learnt along the way.

Published in: Technology, Business
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,746
On SlideShare
0
From Embeds
0
Number of Embeds
28
Actions
Shares
0
Downloads
36
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

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

  1. 1. Building a Scalable,Global SaaS OfferingLessons from Intuit’sQuickBooks Online TeamNilendu Misra, Lead Architect, IntuitAnshu Verma, Architect, Intuit
  2. 2. 1494 … 2 Years after “New World”
  3. 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 & coinsdance”Luca Pacioli
  4. 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. 5. Scale CubeSplit users(geography, size,type, SKU)Split data (read vs. write,active standby, shards)Split code(SOA, nouns/verbs)
  6. 6. 2 DB Read-Slaves (X)Doing Search (Y)Australia/APAC Subscribers (Z)
  7. 7. Scale Out: Commodity Capacity where it’s needed
  8. 8. 1. Swim lane architecture
  9. 9. App Servers……..Databases….Swim Lane – Fault Tolerant & Self-Contained Domains
  10. 10. 2. The bigger they are, the harder they fall"You can drop a mouse down a thousand-yardmine shaft and, on arriving at the bottom, it getsa slight shock and walks away.”J. B. S. Haldane,"On Being the Right Size"
  11. 11. Fail small5 swim lanes,20% traffic each20 swim lanes,5% traffic each100s of swim lanes,~1% traffic each
  12. 12. 3. Workload isolation (“bulkhead”)
  13. 13. Workload isolationTransactionloadBatchloadServerUI load API loadServerpool1Serverpool2Workloads have a hidden dependency on each other.If one triggers a bug or outage in service, all otherswill be impacted.5 types of workloads: UI Service calls API calls from apps Batch External sync AdministrativePartial service in the face of failures …Strategic server reserve
  14. 14. 4. Ensure performanceRequirement MeasureNo major degradation Median response time for any workflow should not deviate >10% frompastMinimal variability 2 standard deviations should span across the same % of executions foreach workflowCorrect sampling At least, 10% of overall production concurrency tested for a true RASmeasurementWorst case projection Most expensive workflow to be tested at 2x concurrency than atproduction
  15. 15. 5. Piloting
  16. 16. PilotingRoll out a new feature/function or even system call to a limited sample of clients based on somecriteria – 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 tomore customers with preferably no required deployment events.PilotconfigurationPilotfactoryObj Request()In pilot group?ClientIf pilot return newObjIf control return oldObjIf no return noObject
  17. 17. “The new set up sucks. Now I cant even open anew window. Youve changed way too muchfrom the desktop and took away features peopleneed. I cant wait to get away from your productfor good!”Customer feedback (pre-piloting)
  18. 18. “THANK YOU THANK YOU THANK YOU foradding the facility to attach files to emails. I willuse it, and even more important, you havemade my "billing guy" extremely happy! Thiswill save him several hours eachweek. Whoever is reading this, please gokiss the feet of whoever implemented thisfeature!”Customer feedback (post-piloting)
  19. 19. AccessData APIsProduct data Business data 3rd-party dataAnalytics Cloud(Netezza, Hadoop, Splunk)Log; transactions; tax forms &codes; Web/mobile click-streamOrders, subscriptions,cancellations, careManagers Ops/EngineersFirmographic data,social data, D&B dataSelf-service toolsProducts EmployeesIdentifyCaptureActAggregateAnalyze6. Data … measure … act
  20. 20. Data about DataExecutes Server-side tolerance threshold1000 times/hr 250 ms10,000 times/hr 120 ms100,000 times/hr 50 ms1,000,000 times/hr 15 msBad gets worse faster than good gets better …
  21. 21. References
  22. 22. Luca, myfriend!!1. No borders, no boundaries, no flags
  23. 23. 2. Globalization is reality …SB Purchasing$3.8T in Spend75% outside USUsed in 70 languagesSocial engagement:US : ranked #1121% of global populationuses Twitter every dayEnglish growing @ 301%Spanish @ 807%Chinese @ 1478%Russian @ 1825%
  24. 24. 3. Small business spread22M(US)500M(rest ofthe world)20X!! … case rested?
  25. 25. 1  160 countries 1  46 languages 1  140 currenciesLeapfrog journey – the 4 leaps
  26. 26. How did we do it ?
  27. 27. Guiding Principle : Build a global platformTrue global platform via a singlecodebase; US is a locale“FROM” state “TO” stateWorldwide hosting, multi-tenant, 24x7ops, SLAsMulti-byte, multi-languageOpen APIs, integrationsBuilt via network effects: 3rd-partydevelopers & usersWorldwide-localized marketing/SEO,care modelUS-only hosting, ops & SLAsEnglish-onlyUS-only appUS-only marketing/SEO, careDeveloped by IntuitNon-globalized services, APIs
  28. 28. Built a global platformTrue global platform via a singlecodebase; US is a locale“FROM” state “TO” stateWorldwide hosting, multi-tenant, 24x7ops, SLAsMulti-byte, multi-languageOpen APIs, integrationsBuilt via network effects: 3rd-partydevelopers & usersWorldwide-localized marketing/SEO,care modelUS-only hosting, ops & SLAsEnglish-onlyUS-only appUS-only marketing/SEO, careDeveloped by IntuitNon-globalized services, APIs
  29. 29. While growing 40% YoY… and avoiding thisMid-air with passengers …
  30. 30. Step1 : Re-engineering
  31. 31. 24x7 ops & careGlobal ecosystem – Internationalized and LocalizedDeploy(multi-tenant, secure)Pricing, brandingFunctionality, formattingBaseCoreUS UK …Akamai (CDNs, WAA)Perf SLA monitoring(Gomez, KeyNote, RUM)Partner integrations ExperimentsMarketing websitesPersonalizationBusiness servicesSinglecodebaseLocalesensitiveInfrastructureChannelsCulturization
  32. 32. The first leap4 additional countries
  33. 33. Effort, time-consumingLocalizing country by country
  34. 34. Problems in the mirror are larger than they appear
  35. 35. 80+ year problem
  36. 36. Eureka moment!!
  37. 37. From “us” to “users”We were localizing countryby countryUsers localize themselves(currency, formatting, taxes, reports, etc.)
  38. 38. Pet Store, Brazil sets up QBO for his business
  39. 39. Product can be used by anyone, anywhereFinland
  40. 40. .. Even from moon .. Really ??
  41. 41. Leap #2150 countries in ~8 weeks!!
  42. 42. Local(host) not found ?
  43. 43. Delightful experienceSpeak my language Personalize for me
  44. 44. (Another) eureka moment !!
  45. 45. Using network effects for delight1 refers a few Few collectively getmany
  46. 46. Speak my language : New way for translationMachine Users contribute/customize
  47. 47. In-product, in-context
  48. 48. Leap #346 languages (machine translated) in4 weeks. User contributionpersonalizes where we fall short!!
  49. 49. Personalize for meProducts are made to be relevant for a majority audience,but they are largely irrelevant for the individual user
  50. 50. Personalization is the NEW localizationTax rates ReportsSettings,preferencesFormscustomizationBusiness terms Workflows, …Who is the user ?Where is s/he from ?1Crunching similar users’data (non-anonymously)2Personalized basedon similar profiles31
  51. 51. (another) Pet Store, Brazil – now personalized automagically
  52. 52. … enabling personalization for each individual …
  53. 53. 1-800-ultra-personalizationCecilia, florist Alex, coffee house Liang, gardener Vijay, merchantCraig, landscape & furnishingOne offering, automagically configured into 1000s while we sleep!!
  54. 54. Leap #4Personalized QBO for every userworldwide while we sleep!!CiaoPrivetHelloHiHolaAloha Bon JourHalloMerhabaSayonara
  55. 55. 1I18N Ready24Network effects viausers & 3rd-partydevelopersLocalizedGlobal expansion via rapid L10NNetwork-advantagedValue delivery via enabling othersL10Ns by Intuit developersI18NizedAbility to localizeConfigurableSupporting cultures w/o countryspecific localizations3Users localize forthemselvesTechnology evolution via building a blue print forglobal maturity – use it !!Test , validate4 countriesAcceleration150 countriesPersonalized usinguser’s interactions150 countries46 languages143 currencies
  56. 56. Thank you!!anshu_verma@intuit.comnilendu_misra@intuit.com

×