2018 jk

38
© 2013 IBM Corporation 2018 Designing a Scalable and High Performing Portal Infrastructure Hide Details James Krueger – WXS Development Nitin Gaur – Application Infrastructure and Mobility With Thanks to Benjamin Parees – WXS Development Paul Chen – WXS Development

Transcript of 2018 jk

Page 1: 2018 jk

© 2013 IBM Corporation

2018 Designing a Scalable and High Performing Portal Infrastructure Hide Details

James Krueger – WXS DevelopmentNitin Gaur – Application Infrastructure and Mobility

With Thanks toBenjamin Parees – WXS DevelopmentPaul Chen – WXS Development

Page 2: 2018 jk

2 © 2013 IBM Corporation

Please note:

IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion.

Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision.

The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion.

Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.

Page 3: 2018 jk

Primary Market Drivers

• The competition is only a click away in today's web-facing world.

• Response times are critical to giving customers a good experience and generating revenue.

• Customer sessions are becoming more critical.

• The cost of attracting new customers to your web site for enrollment is significant.

• Losing the data that they have entered will likely create a negative impression and result much higher abandonment rates

Page 4: 2018 jk

4 © 2013 IBM Corporation

Agenda

Motivation

Portal Topologies – Conventional and Farm

Overview of DynaCache and the Portal Advanced Cache

Review Performance Results

Configuration Overview

eXtreme Scale and XC10 Background

Page 5: 2018 jk

Portal Topology : Conventional or Farm?

© 2013 IBM Corporation

Conventional Topology Portal Farm Topology

Page 6: 2018 jk

6

What is a Portal Farm?■ A series of identically configured, stand-alone portal instances

■ No managed cell, no clustering, no Deployment Manager – Just Stand-Alone Application Servers runtimes!

■ Workload management handled using any load balancer– HTTP Server plug-in can be used with manual configuration

■ Server instances treated as commodities– Rip-n-replace– Can more easily mix/match maintenance levels

■ Extremely simple to grow/shrink capacity based on demand

■ Particularly well suited for cloud-based deployments

WP

WP

WP

WP

WP

WP

WP

WP

WP

WP

WP

WP

WP

WP

WP

WP

WP

WP

Page 7: 2018 jk

7

Typical Customers who is using Portal Farms

• Banks

• HR services providers

• Companies that need continuous availability

• Companies that are using LPARs or virtual images and SANs to run their Portal and want to simplify maintenance.

• Companies that do not wish to set up and maintain multiple Portal clusters.

WAS Extended Deployment

• Keep it simple and make it work.

Page 8: 2018 jk

8

Portal Farming – What is Missing?

• Ultimate simplicity at the loss of some functionality

DB or grid-based session persistence and failover only* No distributed cache management*No distributed EJB usageNo synchronized configuration (without the aid of file system utilities)No coordinated task schedulingNo cluster-scoped administrative actions

Start/stop applications Can be replaced by “flexible administration” or scripting

• Customers need to understand these limitations before considering a farm-based deployment

Page 9: 2018 jk

Why Choose Farming?

•Farming is a simple architecture with just a series of identical stand-alone portal instances with load balanced by a HTTP plug-in or any load balancer

•Server farms are effective way to build and maintain a highly scalable, highly available server environment

•Farms allows Dynamic Server Expansion and contraction of size without complex cluster configurations which are usually time consuming

•Sourcing additional servers using cloning or virtualization is very rapid. With WP7 Shared configuration it is much more rapid and simple

•Client had a very tight maintenance window. Deployments on clusters, Synchronizing clusters is stretching maintenance window

•Though administrative actions need to be repeated on each server independently, this can be achieved automation scripts or tools

• Customer understood the limitations of Farming – like Distributed caching, EJB, cluster administration etc.

Unique install Portal Farm

Requests

LB

Portal

Node

Portal1

Node

Portal1

Node

REL JCR

CUS COM

REL JCR REL JCR

Page 10: 2018 jk

10

Multi-Tenant Design Features

• Hosting Multiple clients on shared infrastructure

• All the customers are hosted on a huge infrastructure cloud

• Dynamic launching of clients enabled

• Clients are allowed to choose services from list of available services

• Provide complete client isolation so each client operate in its own SILO

•Resource sharing is enabled at various levels but not transparent to clients – Shared resources are

• Hardware

• Server and JVM resource – CPU, Memory, Disk Space

• Portal instances

• Client identity (Branding) is handled by providing custom personalization at application design

Page 11: 2018 jk

11

Web Tier

Portal

App Tier

DB Tier

Gateway Security

A Client

SILO

Web Tier

Portal

App Tier

DB Tier

Gateway Security

A Client

SILO

Web Tier

Portal

App Tier

DB Tier

Gateway Security

A Client

SILO

Web Tier

Portal

App Tier

DB Tier

Gateway Security

A Client

SILO

Web Tier

Portal

App Tier

DB Tier

Gateway Security

A Client

SILO

57K Clients

Web Tier

Portal

App Tier

DB Tier

Gateway Security

A Client

SILO

Client isolation and insulation – Conceptual model

• Every customer needs to be in his own virtual environment and completely isolated

• Insulated from information spill and Load fluctuations• Is physical isolation a reasonable solution?

Page 12: 2018 jk

Need for a Common Tier : Conventional OR Farm Topology•Need for a common tier

•Keep State Information

•Tier for HTTP session caching

• Efficient WCM cache

•Other common redundant cache

•Off-load Dyncache

•Lighter Portal JVMs

•Reduce CPU utilization due to GC

•Efficient CPU Utilization – reduced complex cache activity.

•Efficient middleware Growth

© 2013 IBM Corporation

Page 13: 2018 jk

Elastic Caching minimizes the impact of Transaction Overload

Web Server Tier Back-end SystemsDatabase Tier

App Server Tier Elastic Cache

IBM HTTP ServerWebSphere

Application ServerDB2 UDB

Improve Performance, Scalability & Availability

Highly Scalable Web Applications

Data-intensive Applications

Extreme Performance

Page 14: 2018 jk

14

Innovative Elastic Caching Solutions

“Data Oriented”

“Application Oriented”

Session management

Elastic DynaCache

Web side cache

Event Processing

In-memory OLTP

Worldwide cache

Petabyte analytics

Data buffer

In-memory SOA

eXtreme Scale

DataPower XC10 Appliance

• Ultimate flexibility across a broad range of caching scenarios

• In-memory capabilities for application oriented scenarios

• Drop-in cache solution optimized and hardened for data oriented scenarios

• High density, low footprint improves datacenter efficiency

Elastic caching for linear scalabilityHigh availability data replication

Simplified management, monitoring and administration

Page 15: 2018 jk

Session Caching for WebSphere Portal

Page 16: 2018 jk

16

Applications using DynaCache

Each JVM has a private disk based cache to support caches much larger than possible with a memory only conventional cache

2 tier cache: JVM has a small local cache, then the disk file.

Cached content is redundant across JVMs

Page 17: 2018 jk

During a recent ‘News’ application promotion, the customer response to the new portlet overwhelmed the web-site. The web-site became painfully slow under the significant load. The result, not a happy customer…

Welcome, User!

!#*!

… too slow!

DynaCache disk-offload

DynaCache disk-offload

DynaCache disk-offload

DynaCache disk-offload

WPS

News Portlet Deployment - Failure

WPS

WPS

WPS

Page 18: 2018 jk

18

Scalability: Off-loading Dynamic cache to WXS/XC10

Much larger cache capacity

WebSphere Portal JVMs run more efficiently

– Lower local memory requirements

– Faster start-up time

Improved consistency of performance

– Improved cache and environment stability

– High availability of cached data

Page 19: 2018 jk

Welcome, User!

WXS

Elastic cache

WPS

WPS

WPS

WPS

During a recent ‘News’ application promotion, the customer response to the new portlet was very high. However, with addition of an elastic cache the web-site was able to handle the significant increase in load. The customers did not perceive any slow down of the web-site. The result, happy customers and a successful content promotion…

News Portlet Deployment - Success

With WXS DynaCache Grid configured, disk-offload is no longer required

Page 20: 2018 jk

Welcome, User!

WXS

Elastic cache

WPS

WPS

WPS

WPS

Fast start-up when adding more capacity – on the fly

WPS

New Server

New WebSphere Portal servers can be brought on-line quickly to meet increased capacity needs. When start-up is complete, the new server has immediate access to a warm cache provided by eXtreme Scale.

Page 21: 2018 jk

Welcome, User!

WXS

Elastic cache

WPS

WPS

WPS

WPS

Maintain consistent user experience during site maintenance

WPS Down for maintenance

If a WebSphere Portal server needs to be restarted after applying an iFix, eXtreme Scale can provide up to 54% improvement in time to reach steady-state

Page 22: 2018 jk

Scenario Details

Two Portal Servers with Web Content Manager

Single WCM DB Server

Two XC10 Caching Appliances

Advanced Cache maximum entries

Using App Server heap: 5000 per server

Offloading to XC10: 1,000,000 shared available (Observed ~9 gigs)

300 concurrent users simulating Wiki/Blog accesses

Web Content Manager DB content: 50 gigs

WPS+WCM

WPS+WCM

WCM DB

2 XC10 Collective

Proxy

Page 23: 2018 jk

Portal Customer Experience – Steady State Comparison

Enabling WebSphere Content Manager Advanced Cache using an offloaded eXtreme Scale/XC10 grid cache

With WXS/XC10 average throughput in our steady state/concurrent user scenario was consistently faster than with Default Advanced Cache

42% improvement over no Advanced Cache in our scenario

24% throughput improvement over default cache implementation using Application Server JVM heap in our scenario

Using the Default Advanced Cache implementation requires available Application Server heap, offloading the cache to WXS/XC10 does not require heap

Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. Actual performance in a user's environment may vary.

Throughput(requests/second)50556065707580859095

100

Default WCM Advanced Cache

WCM Advanced Cache Offloaded to XC10

Throughput(requests/second)50556065707580859095

100

No WCM Advanced Cache

WCM Advanced Cache Offloaded to XC10

Cache Offload Performance

Page 24: 2018 jk

Portal Customer Experience – Steady State Comparison

Cache Offload PerformanceWith WXS/XC10 average steady state response-times are consistently faster than with Default WebSphere Content Manager Advanced Cache

5.5 second improvement over no Advanced Cache in our scenario

3.4 second improvement over default cache implementation using Application Server JVM heap in our scenario

Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. Actual performance in a user's environment may vary.

Response Time(seconds)4

6

8

10

12

14

16

No WCM Advanced Cache

WCM Advanced Cache Offloaded to XC10

Response Time(seconds)4

6

8

10

12

14

16

Default WCM Advanced Cache

WCM Advanced Cache Offloaded to XC10

Page 25: 2018 jk

Reducing Portal warm-up time – Cold Start Results

With WXS/XC10 average throughput of a newly started server is consistently faster than with Default WebSphere Content Manager Advanced Cache

54% throughput improvement in our scenario

With WXS/XC10 average response-times are consistently faster than with Default Advanced Cache

4 second improvement observed in our scenario

With WXS/XC10 response times improve faster due to quicker cache hydration

Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. Actual performance in a user's environment may vary.

Cache Offload Performance

Throughput(requests/second)30

40

50

60

70

80

90

Default Advanced Cache

Advanced Cache Offloaded to XC10

Response Time(seconds)4

6

8

10

12

14

16

Default Advanced Cache

Advanced Cache Offloaded to XC10

Page 26: 2018 jk

Summary of Primary Benefits

WCM Advanced Cache implemented through the DynaCache, stores fully rendered pages that do not have to be pulled out of WCM DB. Today customers can enable Advanced Cache in the app server’s heap space. Technical goal is to avoid trips back to the WCM database to avoid building these pages. WXS plugin allows you to store the DynaCache content in a remote grid, so that the data being inserted into DynaCache does not consume app server heap space. 1. Caching is of highest importance with WCM. Complex WCM components

can be very CPU intensive2. WXS grid can store more data, have a larger hit percentage than

DynaCache and reduce trips to WCM DB which is more expensive. (More consistent Response times)

3. Benefits customers who are heaped constrained (no DynaCache) can leverage the Advanced Cache by not committing memory on their Portal server. The WXS scenario does not consume memory on the Portal server.

4. Shared cache, each portal JVM does not have to warm its cache on server restarts

5. Eliminates invalidation chatter.. critical in the farm topology

Page 27: 2018 jk

27

© 2013 IBM Corporation

Legal disclaimer

© IBM Corporation 2013. All Rights Reserved.

The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.

References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.

If the text contains performance statistics or references to benchmarks, insert the following language; otherwise delete: Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.

If the text includes any customer examples, please confirm we have prior written approval from such customer and insert the following language; otherwise delete: All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer.

Please review text for proper trademark attribution of IBM products. At first use, each product name must be the full name and include appropriate trademark symbols (e.g., IBM Lotus® Sametime® Unyte™). Subsequent references can drop “IBM” but should include the proper branding (e.g., Lotus Sametime Gateway, or WebSphere Application Server). Please refer to http://www.ibm.com/legal/copytrade.shtml for guidance on which trademarks require the ® or ™ symbol. Do not use abbreviations for IBM product names in your presentation. All product names must be used as adjectives rather than nouns. Please list all of the trademarks that you use in your presentation as follows; delete any not included in your presentation.Please review text for proper trademark attribution of IBM products. At first use, each product name must be the full name and include appropriate trademark symbols (e.g., IBM Lotus® Sametime® Unyte™). Subsequent references can drop “IBM” but should include the proper branding (e.g., Lotus Sametime Gateway, or WebSphere Application Server). Please refer to http://www.ibm.com/legal/copytrade.shtml for guidance on which trademarks require the ® or ™ symbol. Do not use abbreviations for IBM product names in your presentation. All product names must be used as adjectives rather than nouns. Please list all of the trademarks that you use in your presentation as follows; delete any not included in your presentation.

If you reference Adobe® in the text, please mark the first use and include the following; otherwise delete: Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries.

If you reference Java™ in the text, please mark the first use and include the following; otherwise delete: Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.

If you reference Microsoft® and/or Windows® in the text, please mark the first use and include the following, as applicable; otherwise delete: Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both.

If you reference Intel® and/or any of the following Intel products in the text, please mark the first use and include those that you use as follows; otherwise delete: Intel, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

If you reference UNIX® in the text, please mark the first use and include the following; otherwise delete: UNIX is a registered trademark of The Open Group in the United States and other countries.

If you reference Linux® in your presentation, please mark the first use and include the following; otherwise delete: Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others.

If the text/graphics include screenshots, no actual IBM employee names may be used (even your own), if your screenshots include fictitious company names (e.g., Renovations, Zeta Bank, Acme) please update and insert the following; otherwise delete: All references to [insert fictitious company name] refer to a fictitious company and are used for illustration purposes only.

Page 28: 2018 jk

Back-Up Slides

© 2013 IBM Corporation

Page 29: 2018 jk

29

Related Key Features in Recent WXS Release (8.6)

• eXtremeIO (XIO)

• Replaces Object Request Broker (ORB)

• More efficient transport layer

• eXtreme Data Format (XDF)

• Serializes data for sharing between Java and C#/.NET applications.

• Index data on server without requiring user classes to be present.

• Automatic Versioning of classes

• Portal Farm Impacts

• Further performance improvements possible with XIO.

• The elimination of data serialization requirements will broaden Portal caches that are appropriate for offload to WXS.

Page 30: 2018 jk

Cache Instance Configuration

Page 31: 2018 jk

DynaCache Instance Configuration

Page 32: 2018 jk

Portal Advanced Cache

DynaCache instance used to store rendered content

Specifically content pulled from a Web Content Manager database

Configuration used

Site level caching (rendered content)

30 day expiration

Do not clear cache on startup

Page 33: 2018 jk

33

So, what are eXtreme Scale and XC10 anyway?

Page 34: 2018 jk

IBM WebSphere eXtreme Scale

• Proven mature product:– Fourth major release of product with V7.1– Public References– Private References– Used at some of the largest web

sites/companies in the world

• Lightweight runtime footprint (20MB jar)

• Integrates with all versions of WebSphere and almost any Java-based application container or Java Virtual Machine

• Proven multi-data center capabilities

• Proven low-latency access to data

Page 35: 2018 jk

IBM WebSphere DataPower XC10 V2

New Form Factor (2U)

Larger Cache (240 GB)

Better Performance (Faster SSD, Use of RAM)

Improved monitoring (SNMP Support)

Support for non-Java Applications (REST Gateway)

Grid Capping

Page 36: 2018 jk

36

Utilizing WebSphere DataPower XC10 for DynaCache

Clients can attach to the ‘cache’ using the network

No dependency on a large file system cache.

No disk dependency, no SAN required.

Cache is as large as the memory in the ‘grid’.

Each record is stored once in the grid and shared by all clients.

Network

XC10 Collective

Page 37: 2018 jk

37

HTTP Session data cache

No new code required

Extension of legacy session management caching mechanism in WebSphere Application Server

Extensions to WebSphere Application Server administrative console to support WebSphere DataPower XC10 session management caching and WebSphere eXtreme Scale session management caching

WebSphere Application Server connects seamlessly to the WebSphere DataPower XC10 appliance or WebSphere eXtreme Scale– Client code must be installed on WebSphere

Application Server systems

Easily configure WebSphere applications to store HTTP session data to a data cache on the WebSphere DataPower XC10 appliance through the WebSphere Application Sever administrative console

Replaces other session replication mechanisms (memory-to-memory replication)

Removes the need for Database traditionally used for persistence

Enables HTTP session failover between WebSphere Application Server cells

Page 38: 2018 jk

•Ability to share the profile & persist session

Manage the life cycles of HTTP sessions that are associated with the application

Improve QoS and Lower Memory footprint

Better guarantees of session availability during server failover

Topology spans multiple data centers across different physical locations

Farming: Shared installations & Session caching

Elastic Cache DataPower XC10