Collaborate 2012 session : Free Loadbalancing Of JD Edwards EnterpriseOne

Post on 22-Nov-2014

2.107 views 3 download

description

This was my presentation for Collaborate 2012 - introducing Zen LoadBalancer - an open-source, free to distribute load balancer with built in clustering capability that provides an easy load-balancing solution for Oracle EnterpriseOne customers.

Transcript of Collaborate 2012 session : Free Loadbalancing Of JD Edwards EnterpriseOne

97960 – “Free” Loadbalancing of JD Edwards EnterpriseOne

Jonathan Steel

EnterpriseOne / SOA Technical Architect

Agenda

• Introduction

• Introduce concepts of load balancing

• Introduce an alternative to commercial hardware load balance solutions

• Provide information on setting up a load balancer for JDE Services

• Demonstration activities of an actual Load Balanced Farm

• Questions ?!

• EnterpriseOne Technical Specialist and Project Manager• 5 years at JD Edwards

• Created Technical Section of “OneMethodology” – the replacement to REP• Introduced Citrix to OneWorld• Managed the Scalability Group – a part of WWATG• Performed the first customer upgrades

• 12 years as Independent Consultant• Assisted with more than 50 implementations and upgrades• Lots of “best practices” whitepapers

• www.erpsourcing.com• Frequent contributor to “JDEList” as “altquark” !!

Who is Jon Steel

Why do you need a load balancer ?

• Server Load Balancing scales “horizontally” to accommodate higher volume work by distributing client requests amongst several servers.

• Having Fault Resilience means alternative server can take over when a sever crashes or needs maintenance

• Spreading the application across more than one machine allows for maintenance to occur without affecting the application to the end users

Load Balancing vs Clustering• Clustering is the use of multiple computers to provide a single service.

Intra-transactional failover

Requires shared resources to monitor transactions

Difficult to set up / maintain

• Load balancing is a technique to spread load between alike computers for service availability

Session failover

No requirement for shared resources

Easy to set up / maintain

• A Cluster is an Object, Load Balancing is a method

History of Load Balancing within JDE

• ReplicationWorkgroup Servers were originally used to offload static data

• CitrixCitrix provided true load-balancing of ICA clients

• Arrowpoint & Cisco Content Services switchArrowpoint created a network switch that balanced a Virtual IP. This was bought by Cisco and became the Cisco Content Services Switch – the first “hardware” load balancer – but required learning a “language” to modify

• F5 Big IPF5 came out with the “Big IP” – a network appliance that was based on Open Source OS with a simpler web front end. Still the predominant player today

What Services can Fail ?• Interfaces

Ensure availability of Interfaces and Transactional Integrity

• WebSimple enough – but requires persistence “inside the session”

• CallObjectKernel Services require persistence between users

• BatchEnsure critical batch queues keep processing

• DatabaseUsually performed by the RDBMS using Clustering

Typical JDE Network

DatabaseCallObject/Batch

Users

JDE

BSSV

JDE

HTM

L

SOA

Citrix

/R

DP

CL

L

LC

L• Clustered

Anything that has “batches” of mission critical transactions should be clustered

• Load BalancedUser sessions should be load balanced rather than clustered to reduce cost of High Availability

ExternalTransactions

C

L

Why look for an Open Source replacement ?

• Clustering is expensive !

• The F5 device, while is an excellent device, is expensive

• Hardware based firewalls can also be expensive

• Smaller companies with lower budgets can still provide load balancing through available Open Source solutions

Setting up a Zen LoadBalancer

• Download ISO from www.zenloadbalancer.com

• Install to a machine with the following specifications :

1Gb RAM, 1Gb/s NIC, 20Gb HD

After install log into machine using web brower on port 444 –

user ID : admin, password : admin

Don’t forget to change the admin password !!!

Create LoadBalanced Farm

• Click on “Manage” / “Farms”

• Click on the button

• Provide a farm description name and what port to use externally (virtual port)

• Edit the Farm Global Parameters

Choose the Load Balance Algorithm

• Add “real IP Servers” – point to the physical server and the physical port

LoadBalance Algorithm

• Choose the correct load balancing algorithm required for the service

• Round RobinPersistence Client-time ensures sessions return to the original real server after originally being provided a session. Equal sharing doesn’t have persistence.

• HashThe farm will create a hash string for each IP Client and send each connection from that hash to the same real server

• WeightLoosely balance connections based on the weight value

• PriorityBalance all connections to the same highest priority server

Farmguardian

• Use Farmguardian to monitor backend services• By default, Zen checks the tcp backend port status – but often this is not enough

• Using Farmguardian provides a more advanced monitoring state for certain services. When a problem is detected, the real server is automatically disabled and will be marked as blacklisted.

• Four programs are provided

check_http

check_ldap

check_smtp

check_tcp

Example for checking OHS for Weblogic :

check_http –l {host} –p {port} –w 10 –c 15 –t 15 –s ‘<!DOCTYPE’

This can be confirmed from the command prompt (/usr/local/zenloadbalancer/app/libexec)

A word about Batch Queues

• Currently, Batch Processes CAN be load balanced• Create EnterpriseOne Datasource for Virtual IP

• UBE’s are submitted to “Virtual” IP – physical server will then take over and run UBE

• Single Threaded Queue Loadbalancing• MORE than one SINGLE threaded Queue means the queue is multi-threaded !

• Map Single Threaded Jobs to specific Servers’ Single Threaded Queue (not load balanced)

• For shops that require True Queue Loadbalancing across multiple application servers – development of a “Load Balancing Daemon” is required

• The LBD monitors “fake” queues for Waiting jobs, and compares against an internal table and existing running jobs to identify what to do with the job

• Future JDE Functionality• Rumor is that Oracle WAS going to provide “Virtual Queues” in Tools Release 9.1 – but this has been delayed for

a future release – watch this space !!!!

What about SOA?

• Oracle SOA Suite should be clustered, not load-balanced• Batches (large numbers of Transactions) are mission critical

• Oracle SOA Suite is designed to run on a true clustered Weblogic Server

• BSSV Servers CAN be load-balanced• Provide failover at the Web Service Level

• BSSV Servers should be a separate servers from SOA Suite

JDE

BSSV

SOA

LC

Questions ?Jonathan SteelEnterpriseOne Technical SpecialisterpSOURCING LLC1781 Bayside Boulevard, Jacksonville, FL(904) 382 5701http://www.erpsourcing.com

INFOCUS is a new, replacing Quest Regional events, offering in-depth education for the most popular JD Edwards EnterpriseOne modules.

The JD Edwards INFOCUS call for presentations is open now! We are looking for deep-dive sessions into JD Edwards EnterpriseOne. For more information visit QuestDirect.org/INFOCUS

November 7-9, 2012Omni Interlocken Resort

Broomfield, Colorado USA