Implementing Siebel 7 for High Availability Richard Sands
68 Slides3.35 MB
Implementing Siebel 7 for High Availability Richard Sands Siebel Expert Services Siebel Systems 2003 – Do not distribute or re-use without permission
Who are Siebel Expert Services? Siebel Systems 2003 – Do not distribute or re-use without permission
Siebel Customer Care Model Technical Account Management Understand customer’s business objectives and IT landscape Lead customers toward success using Siebel best practice methodology Help customer deploy licences in timeframe to achieve business benefit through product, technical implementation and project advice Review and monitor key project milestones Implementation and Technical Advice Customer Se p rv ert ic es Deep Technical Advice Ensure optimal use of Siebel technology, and architecture Technical Support Technical advice and support via Siebel support web Manage product change requests Manage customer support profile Support & Maintenance Te Su chn pp ica or l t Te De c e Ad hn p Ex viceical Pr Su od pp uct or t Expert Services TAM & Expert Services Package Technical Account Manager
Expert Services—Deep Technical Expertise Expert Services Skills Technical Workshops Define Sizing Review Technical Workshops Design Design Review Technical Workshops Config Test Deploy Run Production Production Config Performance Readiness Health Review Review Review Check Proactive Technical Assistance Experts in Siebel technology and architecture: Architecture Platform Configuration Integration Performance Experts in optimal use of Siebel application Leverage experience of 3000 implementations and direct engineering relationship Direct involvement in new product development cycle Deep understanding of technical best practices Extensive training in Siebel technology and platforms Experience in creating many practical technical solutions for specific and complex needs
Implementing Siebel 7 for High Availability Richard Sands Siebel Expert Services Siebel Systems 2003 – Do not distribute or re-use without permission
Session Overview and Objectives The purpose of this session is To provide an overview of Siebel High Availability Architectures on the Microsoft Platform. This session will cover Different High Availability Architectures How they can be applied with Siebel When each architecture is suitable How architectures can be combined in a single Siebel Enterprise New features in Siebel 7
High Availability Mechanisms Distributed Services (Resilient Processing) Scalable Services (Load Balancing) Similar to Load Balancing but implemented differently and workload is not considered. Siebel services are running concurrently on different servers. If one server goes down, then the service will find a process running on a different server to continue it’s work. Distributing multiple instances of a service to different servers based on workload A good example of this is IIS Load Balanced Web Servers Failover Services (Clustered Servers) We are strictly speaking of Failover Clusters in the Siebel Environment. Failover is for those services that can only run on a single server and so High Availability is achieved by failover using Microsoft Cluster Server and in the case of the Database using SQL Server’s fully cluster aware architecture.
High Availability Distributed Services Scalable Services Failover Services Delivering High Availability
Distributed Services – What they are Service available from many servers Many requests for service Requests automatically assigned No consideration of server loading Use for Internal Requests (from within Siebel Enterprise)
Distributed Services are used for Service available from many servers Multiple requests for service Requests originate with other Siebel Server component Use for components which can run on multiple servers Can run on clustered or load balanced siebel servers Siebel implement through Server Request Broker task Examples: Workflow Processes File System Manager
Distributed Services – How they work New Component – Server Request Broker (SRBroker) Replaces Server Request Manager (SRMSynch) Accepts server requests If requested component is running on local server, then runs request locally If requested component is running on other servers, then routes request to each server in turn If one server fails, but component is available on other server(s) then will run on remaining servers Can control which servers perform which functions by how components are assigned
Distributed Services illustrated Web Client Web Server Web client request Assignment Task Siebel Enterprise Server Assignment Manager SRBroke r Workflow Process Manager Service Request Broker determines if Assignment Task is available locally Object Manager SRBroke r Assignment Manager If yes, then the task is run SRBroke locally r Workflow Process Manager
Distributed Services providing scalability Web Client Web Server Web client request Workflow Process Siebel Enterprise Server Assignment Manager SRBroker Workflow Process Manager Object Manager SRBroker Assignment Manager Service Request Broker determines if Workflow Process Mgr is available locally No, the tasks is assigned SRBroker basis to on a round-robin servers that do have the Workflow Process Mgr. Workflow running. Process Manager
Distributed Services provide High Availability of components Web Client Web Server Siebel Enterprise Server Assignment Manager SRBroker Workflow Process Manager Object Manager SRBroker Assignment Manager SRBroker Workflow Process Manager
Distributed Services – Where they apply Server Web Wireless Mobile Handheld Dedicated Distributed only within Siebel Servers: Manager GUI Services Client ClientapplyWeb Client Client Web Client Support for all components that use Server Request Broker (synchronous requests) Wireless Gateway Server This includes Server SQL Request Processor Mobile CE DB (asynchronous requests) Servers with SWSE (Workflow Process Manager, Business Web Workflow Processes Integration Manager) Siebel File System (File System Manager) Siebel Gateway Resonate Central Dispatch Siebel Enterprise Server Siebel Servers Siebel file System Gateway Name Server Server Manager cmd line interface EAI & Data Loading SQL Server Database
High Availability Distributed Services Scalable Services Failover Services Delivering High Availability
Scalable Services – What they are Load balanced services Service available from many servers Many requests for service Requests automatically assigned Assignment considers server loading Use for External Requests (originating outside load balanced Servers) Implemented through Resonate Central Dispatch for Siebel Servers
Scalable Services – What they are used for Siebel Object Managers Ideal candidates for load balancing Can use failover clusters for small deployments Can load balance all object managers (except eConfigurator Object Manager) Cannot directly load balance other components Can implicitly load balance requests Requests from load balanced OM will run on the same Siebel Server whenever possible Sessions remain fixed to object manager instance
Scalable Services – What they’re used for Web Servers Ideal candidates for load balancing Can use failover clusters if only one web server Can use any load balancing solution Sessions can be distributed across multiple web servers Stateless Web Servers
Scalable Services – How they’re used Siebel Server Load Balancing Must use Resonate Central dispatch Can only load balance Object Managers Supplied with Siebel Use is mandatory when: Load balanced web servers More than one Siebel Server running same Object Manager NAT used across Siebel Servers Only installed on load balanced servers Never installed on failover clusters Dedicated Static Virtual IP Address (VIP) Used for all access to load balanced components Not accessible from load balanced servers Use servers nominated as “schedulers” to allocate connections across load balanced servers. Schedulers can be on dedicated or load balanced servers
Scalable Services illustrated in the Siebel Environment Server Manager GUI Web Client Wireless Client Wireless Gateway Server Mobile Web Client Mobile DB Handheld Client Dedicated Web Client SQL CE Web Servers with SWSE Gateway Name Server Resonate Central Dispatch Resonate Schedulers Siebel Enterprise Server Siebel Servers Siebel file System Server Manager cmd line interface EAI & Data Loading SQL Server Database
Scalable Services and their flow through the environment IIS Server Manager GUI Network Web Client Load Balancing Wireless Client Wireless Gateway Server Mobile Web Client Mobile DB Handheld Client Dedicated Web Client SQL CE Web Servers with SWSE Resonate Central Dispatch Resonate Central Dispatch Resonate Schedulers Siebel Enterprise Server Siebel Servers Siebel file System Gateway Name Server Server Manager cmd line interface EAI & Data Loading SQL Server Database
Scalable Services and what happens when a web server crashes Server Manager GUI Web Client Wireless Client Wireless Gateway Server Mobile Web Client Mobile DB Handheld Client Dedicated Web Client SQL CE Web Servers with SWSE Gateway Name Server Resonate Central Dispatch Resonate Schedulers Siebel Enterprise Server Siebel Servers Siebel file System Server Manager cmd line interface EAI & Data Loading SQL Server Database
Scalable Services and what happens when a Siebel server crashes Server Manager GUI Web Client Wireless Client Wireless Gateway Server Mobile Web Client Mobile DB Handheld Client Dedicated Web Client SQL CE Web Servers with SWSE Gateway Name Server Resonate Central Dispatch Resonate Schedulers Siebel Enterprise Server Siebel Servers Siebel file System Server Manager cmd line interface EAI & Data Loading SQL Server Database
Scalable Services illustrating a Siebel Server Crash Recovery IIS Server Manager GUI Network Web Client Load Balancing Wireless Client Wireless Gateway Server Mobile Web Client Mobile DB Handheld Client Dedicated Web Client SQL CE Web Servers with SWSE Resonate Central Dispatch Resonate Central Dispatch Resonate Schedulers Siebel Enterprise Server Siebel Servers Siebel file System Gateway Name Server Server Manager cmd line interface EAI & Data Loading SQL Server Database
Scalable Services and what happens when a Scheduler Crashes Server Manager GUI Web Client Wireless Client Wireless Gateway Server Mobile Web Client Mobile DB Handheld Client Dedicated Web Client SQL CE Web Servers with SWSE Gateway Name Server Resonate Central Dispatch Resonate Schedulers Siebel Enterprise Server Siebel Servers Siebel file System Server Manager cmd line interface EAI & Data Loading SQL Server Database
Scalable Services – Indirect load balancing Web Client Only Object Managers an be directly load balanced Some functions called by Object Managers can be indirectly load balanced Must run on all Object Manager Siebel Servers Resonate load balancing takes into account total CPU load on server, includes all Components Some components can be indirectly load balanced without SRBroker (Comms Manager, Chart Server, etc) Web Client Resonate Central Dispatch Siebel Enterprise Server Object Manager Object Manager SRBroker SRBroker Workflow Process Manager Workflow Process Manager
Scalable Services - eConfigurator Special Case – Does not use Server Request Broker or Resonate Uses Second-level routing New feature in Siebel 7.5.2.212 Enables load balancing of Remote eConfigurator requests across a pool of eConfigurator servers Defined through the ‘Produce Configurator – Remote Server’ component parameter Load assessed on number of active eConfigurator sessions on each server
Scalable Services – Where they apply Server Web apply Wireless Mobile Scalable Services to Siebel ServersHandheld and WebDedicated Servers Manager GUI Client Client Web Client Client Web Client Siebel Server only for load balanced Siebel Components (object managers) Resonate used to load balance Siebel Servers Wireless Gateway Server Mobile DB SQL CE Web Servers with SWSE Gateway Name Server Resonate Central Dispatch Resonate Schedulers Siebel Enterprise Server Siebel Servers Siebel file System Server Manager cmd line interface EAI & Data Loading SQL Server Database
High Availability Distributed Services Scalable Services Failover Services Delivering High Availability
Failover Services – What they are Service available from one server No consideration of server loading Siebel implement through failover clusters Siebel services restart on other physical server Can be accessed through same network name / IP address on either physical server
Failover Services – How they work Logical Server Disk Storage Network Processes Siebel Server Siebel Tasks Siebel Gateway Physical Servers Disk Storage Network Processes Shared Disk Logical Server Disk Storage Network Processes Siebel Server Siebel Tasks Siebel Gateway
Failover Services – Cluster Deployment Models Active-Passive Application only live on one host in cluster Other host acts as warm standby only No performance degradation on failover Low return on investment on second server Logical Server Active-Active Applications live on both hosts in cluster Performance degraded on failover due to additional load Better return on investment on second server Logical Server Logical Server
Failover Services – Cluster Deployment Models Logical Server Logical Server Siebel Gateway Name Server Physical Servers Siebel File System Logical Server Disk Storage Network Processes Logical Server Siebel Server 1 Siebel Server 2 Shared Disk
Failover Services – What they’re used for Can Only be Clustered: Siebel Database Siebel Gateway Siebel File System Siebel Remote / Replication Most Background Mode Siebel Components Can optionally be Clustered Object Managers Web Servers (not on NT/MSCS) Can’t Cluster Batch Components Will run but won’t failover Some Third Party (i.e. Actuate)
Which Clusters do Siebel support? Microsoft Cluster Server (Windows NT & 2000) Windows Server 2003 support with Siebel 7.7 Cluster hardware must be on the Certified Hardware list. Each component as well as the combination of components Special Agents not Required Siebel Server and Gateway use Generic Service resource type Improved Installation Support Install on first node Run automatically generated script on second node Documented in Bookshelf
Failover Services – Where they apply The Siebel functions that must be clustered are: Handheld Server Web Wireless Mobile Siebel Server Web Client Manager GUI Gateway Client Name Client Client Dedicated Web Client Siebel Server Only specificWireless Gateway such as Siebel Remote or components Server SQL Mobile Workflow Policies. CE DB Siebel File System Web Servers with SWSE SQL Server Database Other Siebel functions can be clustered Gateway Name Server Siebel Web Server Extensions Resonate Load Balancing preferred Resonate Schedulers Central Dispatch Siebel Server Other components. Siebel Enterprise Server Siebel Servers Siebel file System Server Manager cmd line interface EAI & Data Loading SQL Server Database
High Availability Distributed Services Scalable Services Failover Services Delivering High Availability
Installing Siebel on Clusters Clustered Software must always be installed on clustered disks Do not use quorum disk Clustered IP Addresses/Network names must always be used to access clustered Siebel resources Otherwise resource can’t be accessed after failover Always give clustered Gateway IP/Name Cluster Groups should be configured before installing Siebel Use separate group to Administration/Quorum group Each group must have: Disk(s) IP Address Network Name Always use domain accounts
Installing Siebel on MSCS Non-Standard Cluster Resource Settings Siebel Server Services Restarts - Threshold: 10 Try & restart the Siebel Server 10 times before failing over. Gives any time needed for a Gateway to start. Pending Timeout – 300 seconds Allows 300 seconds for a Siebel Server to shutdown before being marked as failed
Integration with MSCS “Cluster-Aware” applications have special ‘dll’ defining custom application-specific resource types for MSCS Used to start/stop/monitor application None available for Siebel Siebel uses Generic Service resource type Each siebel item (Gateway/Server) has simple interaction with NT Can be controlled through single Process (siebsvc) run as service No need for custom resource type, and no plans to provide Get service name from Registry or service properties [HKEY LOCAL MACHINE\System\CurrentControlSet\Services] Gateway : gtwyns Server : siebsrvr Ent Srvr i.e. siebsrvr EntSieb752 srvr1
Sample Cluster Resources – Siebel Server
Installing Siebel on Clusters - Issues Siebel Server Host Parameter Set to physical hostname of server installed upon Prevents Server Manager from connecting when server on other node Change through Server Manager: change param Host virtualhost name for serverlogical Siebel Server name
Installing Siebel on Clusters - Issues Network Name Siebel must use cluster network name If use server name then remote/replication/server manager errors Can lead to data corruption Must ensure that ‘Use Network Name for Computer Name’ tick box selected in Siebel Server service resource Can only be set on resource creation Requires Network Name and IP Address resource dependencies (NT Only)
Clustering the Database Siebel support specific database versions Siebel support any failover cluster for a supported database version that is supported by the database vendor All recent SQL Server Enterprise versions support MSCS For SQL Server can also consider Log Shipping Keep secondary server in standby Copy across log files to secondary May lose most recent transactions after failover If still have tail of transaction log then can manually apply most recent transactions Need to automate failing over network connections Can be automated by Database Maintenance Wizard
Clustering the Siebel File System Just need a clustered network share Use the ‘File Share’ cluster resource type Siebel File System must reside on a clustered disk
Delivering Siebel High Availability What Siebel settings affect High Availability Component Recovery What happens if a component fails Aim to maintain the function of the component Mechanisms Database reconnect Built into Object Manager components If database connection lost then automatically tries to re-establish Not configurable Retries Available in certain other components Configurable Restarts Available in all components Not suitable for some components (i.e. EIM, Workflow Processes) If component exits with error then automatically restarts Configurable
Delivering Siebel High Availability Must ensure HA solution for every critical component Failover Scalable User Connections Web Servers Object Managers Thin Client Users Tasks that can only run in one place Database Gateway Name Server File System Workflow Policies Remote Replication Distributed Requests from Siebel Server Components File System Manager Workflow Processes Interactive Assignment Document Server
Minimal Siebel High-Availability Configuration Database Server Gateway / Siebel Server / Siebel File System/ Web Server - Cluster Note: No load-balancing
Small-Medium Siebel High-Availability Configuration Web Server Web Server Load Balanced Gateway/File System Object Manager Remote/EIM Object Manager Load Balanced Cluster Database Server Cluster - Cluster - Load balanced Note: Minimum of four application servers needed for load-balancing and high availability
Large Siebel High-Availability Configuration Web Server Web Server Load Balanced Primary Secondary Resonate Schedulers File Gateway / System / Assignment ClusterWorkflow Object Manager Object Manager Object Manager Remote Remote Cluster Load Balanced Database Server Cluster - Cluster - Load balanced
Delivering Siebel High Availability Holistic approach is essential Need to consider all areas of your deployment Data Resilience is vital If you lose your data, you lose your application, and information essential to your business None of the techniques discussed protect data They just ensure it can be accessed Always store all data on resilient disk volumes i.e. RAID1, RAID5, RAID1 0, etc
New Features in 7.5.3 and 7.7 Enhanced resilience for network communications (7.7) No need for persistent load balancing No session loss on web server failure Change component parameters without restart (7.7) Selected parameters only Online updates (7.7) Can load new entries to entities such as List-Of-Values, Personalisation Rules and Web Services Definitions without any restart Enhanced Component Auto-Restart (7.7) Automated component recycling (7.5.3) Can trigger component recycle on memory consumption threshold
New Features in 7.5.3 and 7.7 (contd.) Resonate not required for Load Balancing Siebel Servers (7.7) Siebel will support the use of other third-party load balancers Siebel internal load balancing Round-Robin Only
High Availability Distributed Services Scalable Services Failover Services Delivering High Availability
Questions and Answers
Implementing Siebel 7 for High Availability Richard Sands Siebel Expert Services Siebel Systems 2003 – Do not distribute or re-use without permission
Installing Siebel on Clusters Clustered Software must always be installed on clustered disks Do not use quorum disk Clustered IP Addresses/Network names must always be used to access clustered Siebel resources Otherwise resource can’t be accessed after failover Always give clustered Gateway IP/Name Cluster Groups should be configured before installing Siebel Use separate group to Administration/Quorum group Each group must have: Disk(s) IP Address Network Name Always use domain accounts
Installing Siebel on MSCS Non-Standard Cluster Resource Settings Siebel Server Services Restarts - Threshold: 10 Try & restart the Siebel Server 10 times before failing over. Gives any time needed for a Gateway to start. Pending Timeout – 300 seconds Allows 300 seconds for a Siebel Server to shutdown before being marked as failed
Integration with MSCS “Cluster-Aware” applications have special ‘dll’ defining custom application-specific resource types for MSCS Used to start/stop/monitor application None available for Siebel Siebel uses Generic Service resource type Each siebel item (Gateway/Server) has simple interaction with NT Can be controlled through single Process (siebsvc) run as service No need for custom resource type, and no plans to provide Get service name from Registry or service properties [HKEY LOCAL MACHINE\System\CurrentControlSet\Services] Gateway : gtwyns Server : siebsrvr Ent Srvr i.e. siebsrvr EntSieb752 srvr1
Sample Cluster Resources – Siebel Server
Installing Siebel on Clusters - Issues Siebel Server Host Parameter Set to physical hostname of server installed upon Prevents Server Manager from connecting when server on other node Change through Server Manager: change param Host virtualhost name for serverlogical Siebel Server name
Installing Siebel on Clusters - Issues Network Name Siebel must use cluster network name If use server name then remote/replication/server manager errors Can lead to data corruption Must ensure that ‘Use Network Name for Computer Name’ tick box selected in Siebel Server service resource Can only be set on resource creation Requires Network Name and IP Address resource dependencies (NT Only)
Clustering the Database Siebel support specific database versions Siebel support any failover cluster for a supported database version that is supported by the database vendor All recent SQL Server Enterprise versions support MSCS For SQL Server can also consider Log Shipping Keep secondary server in standby Copy across log files to secondary May lose most recent transactions after failover If still have tail of transaction log then can manually apply most recent transactions Need to automate failing over network connections Can be automated by Database Maintenance Wizard
Clustering the Siebel File System Just need a clustered network share Use the ‘File Share’ cluster resource type Siebel File System must reside on a clustered disk
Delivering Siebel High Availability What Siebel settings affect High Availability Component Recovery What happens if a component fails Aim to maintain the function of the component Mechanisms Database reconnect Built into Object Manager components If database connection lost then automatically tries to re-establish Not configurable Retries Available in certain other components Configurable Restarts Available in all components Not suitable for some components (i.e. EIM, Workflow Processes) If component exits with error then automatically restarts Configurable