Mr. Pradeep Ballal works as a Senior Architect in the Core Service Product Development with specific focus on Compliance and Risk products with PayPal Singapore. Mr. Ballal is a software generalist with 13 years of technology experience and has special interest in decision management, business rules, enterprise software and architectures.Mr. Staale Nerboe (email@example.com) works as a Senior Architect in the Core Service Product Development organization withPayPal Singapore. Mr. Nerboe has 15+ years of Technology Consulting and Software Architecture experience for large global companies world-wide.Mr. Greg Berry (firstname.lastname@example.org) works as a Principal Architect at PayPal in the Core Services organization. Greg has been an architect in the payments industry for more than 15 years.
A pattern for organizing design time database parts A pattern for organizing decision configuration parts A pattern for organizing decision runtime parts A pattern for organizing decision runtime data parts
Transcript of "PayPal Decision Management Architecture"
June 2013Risk & Compliance Engineering, PayPalPradeep BallalStaale NerboeGreg BerryThis deck contains generic architecture information, and does notreflect the exact details of current or planned systems.Decisions as a Service
Confidential and Proprietary2• Encompasses processes to improve, streamline andautomate operational decision making within organizations.• Use all available organizational resources to increaseprecision, consistency and agility of decisions.• Treat decisions as reusable assets and leverage technologyat key decision points to automate the process.• Uses tools such asPredictive AnalyticsBusiness IntelligenceBusiness RulesAdaptive ControlArtificial IntelligenceDECISION MANAGEMENT
Confidential and Proprietary4DecisionSimulationDecisionOptimi-zationBusinessIntelligenceBusinessRulesOptimiz-ationPredictivemodelsDECISION MANAGEMENT CYCLEInsights intoImprovementOperational DecisionDataBusiness DataOperational Strategic
Confidential and Proprietary5AN ARCHITECTURE FOR DECISIONMANAGEMENTDatawarehouseExternalDataIndustryDataAnalyticWorkbenchModelsRulesOperationalData storesRulesManagementRulesPolicyDocumentsCodeDataBusinessExpertsAdaptive ControlBusiness DecisionsInsightsFeedback LoopOperational SystemsChannels – web, mobile, contact center etc.DecisionServiceAnalytic process Decision Modeling
Confidential and Proprietary6COMPONENTS OF A DECISION ENGINEDesignerConfigurationcenterRepositoryDeployment Containerrules rules rules rulesDecisionServiceDecisionServiceDecisionServiceClient applicationsDesign timeRun time• Distinct components targeted todistinct roles• Design time− Define frameworks within whichoperational decisions are managed− Configure models and rules that make upthe decision− E.g. setting up data models, rulestructures, invocation models etc.• Run time− Managed execution of business rules tooutput decisions− Consumed by client applications via“Decision Services” Developers Business usersEnd usersSystemAdmins
Confidential and Proprietary7• Clients - internal cloud or external cloud?• Self service – all components need to be provisioned on a self service basis. Provideflexibility to cherry pick from various available components.• Multi-tenancy – for internal cloud, each team/domain can be a tenant within thecloud decision management infrastructure. Each tenant is isolated and gets all theservices in the cloud based decisioning infrastructure.• Web based rules & models management – Web based interface to managepolicies that lead up to the decision as well perform verification & validation.• Managed APIs – Provide REST APIs to interact with both design time aspects(repository, rule definitions, data models etc.) and run time (execute rules, ruleanalytics etc.).• Simulations – Invoke decisions against a sample set of input data to determineimpact and optimize decisions.• Data Mining – Capture decisions for adaptive controls or correctionsDECISION ENGINE IN THE CLOUD -CONSIDERATIONS
Confidential and Proprietary8MULTI-TENANCYPaaSIaaSTenant1Tenant2Tenant3• One instance of thesoftware systemserves one tenant.• Tenant data fullyisolated and notvisible to each other.• Configuration centershould have muchof the functionality toenable self-service.• No technicaldevelopment effortis required.• Rules can beconfiguredimmediately.DesignerAutomationInterfaceConfigurationcenterRepositoryDeployment Containerrules rules rules rulesDecisionServiceDecisionServiceDecisionServiceClient applicationsDesign timeRun timeDevelopers Business usersEnd usersSystemAdminsTenant4
Confidential and Proprietary9Decision ServerINDIVIDUAL TENANT ORGANIZATIONRulesRepositoryUser &PreferencesStoreSimulation(In/out data)Decision Management PortalUserManagementRulesManagementSimulationControllerDecisionWarehouseDecisionSvc 1DecisionSvc 2DecisionSvc 3Deployment ManagerServer MonitorRulesSourceDecision ServerDecisionWarehouseDecisionSvc 1DecisionSvc 2DecisionSvc 3Deployment ManagerServer MonitorRulesSourcedeploy deploy Design data pattern Decision configuration pattern Decision server pattern Decision server data pattern Decision server pattern Decision server data patternStageLive DevJSONJSONJSONJSONClient applicationsModelManagementCEPServiceFramework
Confidential and Proprietary10• Each tenant should be configurable by adding parts• Built with parts− A database part (for user, preferences, rules, simulation data etc.)− A simulation application part for running simulations on eligible decision services− A rules maintenance part for managing decisions and creating new.• Group parts into patterns− A pattern for design time authoring. Some patterns may omit parts (for e.g.simulation not required all the time)− Another pattern for executing decisions (runtime).• Group patterns into virtual systems deployed in virtual environments− The design time data pattern and app pattern assembled together to form a virtualsystem for decision maintenance.INDIVIDUAL TENANT ORGANIZATION
Confidential and Proprietary11HadoopDATA PROCESSING FOR DECISIONINGDataCacheEvent DataRollupOfflineVariablesClients• Transparently mergesreal time event datawith offline data• Combined data blendsthe reliability of offlinewith the low latency ofonline data• Heavy calculations andlarge rollups are alldone offline.• All data stored in highlyavailable cache for fastaccessDataWarehouse DataEventsDS DS DSCEPFilterAggregateDataWindowPatternJoinVariablesPaaS
Confidential and Proprietary12DECISION SERVICE DEVELOPMENTWORKFLOWDevelopment workflowCloudliveCloudstagingAnalysis&DesignCloudenvironmentSelect pattern andprovisionIs data modelavailable?Design a datamodelImport data modelinto environmentCreate newdecision serviceusing the datamodelnoyesConfiguredecisions & testTest REST endpoint fromapplicationReady todeploynoyesReady todeploynoDeploy decisionserviceyesDeploy decisionserviceDesign a decisionmodel, identifydecision pointsAll environment settingsare preconfigured in thepattern.Development processstarts here early!One click deployprocess reduceadmin overheadOperationalize strategies,models and business rulesquickly and scale them to meetmarket demands.
13 Confidential and ProprietaryWE ARE HIRINGIf you are interested in helping us solvethese problems, you can contact us at:email@example.com://www.ebaycareers.com