deployment patterns for fusion middleware - oracle mva · pdf filedeployment patterns for...

54
Deployment patterns for Fusion Middleware a best practice session by Simon Haslam & Jacco H. Landlust 1 maandag 10 oktober 2011

Upload: vonhi

Post on 10-Mar-2018

263 views

Category:

Documents


2 download

TRANSCRIPT

Deployment patterns for Fusion Middleware

a best practice session bySimon Haslam & Jacco H. Landlust

1

maandag 10 oktober 2011

`id jacco`

• Oracle Since 2000, Linux since 2001

• Independent Red Stack Administrator

• Oracle ACE since 2006

• Infrastructure: Architecture, High Availability, Troubleshooting & Performance

• http://oraclemva.wordpress.com

2

maandag 10 oktober 2011

`id simon`

• Oracle since 1996 (UNIX since 1989)

• Founded Veriton in 1996

• Oracle ACE Director since 2009

• Arhitecture, Design, Installation

• http://simonhaslam.co.uk

3

maandag 10 oktober 2011

Disclaimer

• Best practices of our (Limited) experience

• We are not working for Oracle

• We do not pretend this list is complete

• We are not ‘native’ American speakers

4

maandag 10 oktober 2011

Agenda

Best Practices for Designing a Fusion Middleware 11g Infrastructure

5

maandag 10 oktober 2011

Normal Design Process1. Some product is bought (or build in-house) that

runs on FMW 11g

2. Buy some kit

3. a DBA is sent to OU to get training

4. The week after training DBA has to build and maintain a production platform with help from one or more developers

5. Start running production (and into trouble... )

6

maandag 10 oktober 2011

Gartner

• 8 - 12 % TCO in Design + Develop + Test

• 88 - 92 % TCO in Maintaining

7

maandag 10 oktober 2011

Middleware is not Trivial

• It’s (mission) critical

• Complicated: lots of moving parts

• Get involved in projects from the start

8

maandag 10 oktober 2011

Domain

Node Manager Node Manager

Machine A Machine BAdminServer

ClusterManaged Server Managed Server

Managed Server

9

maandag 10 oktober 2011

Real Agenda

1. Logical Design

2. Physical Implementation

3. Maintaining, the Full Life Cycle

10

maandag 10 oktober 2011

Logical Design

11

maandag 10 oktober 2011

Decide upon Definitions

• Before you design the infrastructure

• Brief your whole team (including management)

• Clear naming convention

12

maandag 10 oktober 2011

Document your Train of Thought

• Tedious but usefull for future use

• Don’t wait till after the project / implementation

• Mark facts as facts and opinions as opinion

• Formulas and rules

13

maandag 10 oktober 2011

We Love Pictures

Node 2Node 1

SOA ClusterSOA

CRS

SOA

CRS

SAN 2SAN 1

ACFS

WLS WLS

If it’s to complicated too draw on a diagram, it’s most likely wrong

14

maandag 10 oktober 2011

Segregation between Environments

• DTAP & SOD

• Separation of servers & network

15

maandag 10 oktober 2011

Design for Security

• SOD

• SSL whenever possible

• Also in DEV

• Firewall

• Connection Filters

16

maandag 10 oktober 2011

Don’t mix Layered Products in One

Domain

• oracle_common scripts

• dependencies on upgrade / patching

17

maandag 10 oktober 2011

Nodemanager:Domain vs Node

• Node specific: settings are domain wide

• Domain specific configuration

• Separation of OS users

• SSL trust-stores

18

maandag 10 oktober 2011

Separate System Components

from Java Components

• Automatic network separation

• Different purpose

19

maandag 10 oktober 2011

Never run Apps in AdminServer

• Mixture of management tooling & customer applications

• Difficult troubleshooting

20

maandag 10 oktober 2011

Cluster Everything

• From the start (one node cluster)

• Find unexpected behaviour because of cluster as soon as possible

• Extending clusters is easy

21

maandag 10 oktober 2011

Separate Directories

• Use personal accounts for administrators

• Separate application users from infrastructure users

22

maandag 10 oktober 2011

Physical Implementation

23

maandag 10 oktober 2011

x86

• We’ve only seen x86/x64 customers running Linux

• Buy the fasted kit you can get

24

maandag 10 oktober 2011

Scale-up vs Scale-out

• Larger JVM give more GC issues

• Our customers do scale-out

• SAME

25

maandag 10 oktober 2011

Virtualization

• Not for vmotion-like functionality

• Cloning (if you put the effort into it)

• Partition hardware

26

maandag 10 oktober 2011

Operating System

• Don’t adopt a new OS because of WLS

• The best OS is the one you’re an expert at

27

maandag 10 oktober 2011

Shared Storage

• NFS

• OCFS2

• GFS2

• ACFS

• rsync

28

maandag 10 oktober 2011

Shared Storage:take notice of

• HTTP lockfiles

• Large logfiles

• UCM tmpdirs

29

maandag 10 oktober 2011

Use VIP’s whenever Possible

• Faster failover upon node failure

• Easier to rebuild on new node

• Logical separation of application and machine

30

maandag 10 oktober 2011

Get a LoadBalancer

• Performance

• Stability

• SSL offloading

31

maandag 10 oktober 2011

oraInventory in MW_HOME

• oraInventory only used by installers & oPatch

• self-contained package

• easier backups

32

maandag 10 oktober 2011

Separate Binaries from Configuration

• Replace binaries more easy

• Local disk for binaries

• Backup configuration

33

maandag 10 oktober 2011

Only use Java-based Nodemanager

• Easier to setup

• Lots of bugs exist for script-based nodemanager

• SSL is a pain on script based nodemanager (if not impossible)

34

maandag 10 oktober 2011

Separate AS from MS

• On different boxes

• Easier upgrade path

• No interference of management tooling

• (if you have the licenses)

35

maandag 10 oktober 2011

Setup AdminChannel(and port)

• Separate admin traffic from application

• Dedicated listen thread

• Has to run over SSL

36

maandag 10 oktober 2011

JDBC

• min-connections = max-connections

• Statement cache size < open_cursors

• FAN (GridLink) when on RACSee session #20942 13:15 on Wednesday

37

maandag 10 oktober 2011

Centralize Configuration

• No configfiles that need to be changed in JAR/EAR files

• No environment dependent ear-files.

• Easier to maintain

38

maandag 10 oktober 2011

Logging

• Centralize logging

• Logrotation on size + time

• Easier troubleshooting

39

maandag 10 oktober 2011

Standardize

• Troughout all environments

• Easier troubleshooting (at 2 AM)

40

maandag 10 oktober 2011

Automate

• Standardizes installation

• No differences between prod and test

41

maandag 10 oktober 2011

Test Test Test

• Find bugs before go-live

• Benchmark

• Stress test until break

• Predictable performance

42

maandag 10 oktober 2011

Maintainingthe full life cycle

43

maandag 10 oktober 2011

Track Changes

• Audit provider

• Record changes with WLST

44

maandag 10 oktober 2011

Record Incidents

• adrci:

- Build-in fault diagnostibility infrastructure

- Health monitor reports

- Package incidents & problem information

45

maandag 10 oktober 2011

learn WLST

• mBeanbrowser

• Automating tasks

46

maandag 10 oktober 2011

Manage deployments

• Learn Ant

• CloningClient.jar

• No environment specific ear-files

• Plan.xml

47

maandag 10 oktober 2011

Out of PlaceUpgrades

48

maandag 10 oktober 2011

Grid Control

• Stack monitoring

• SLA checks

• Corrective action library

49

maandag 10 oktober 2011

MOSConfigurations

• Not OCM per-se

• Faster SR handling

50

maandag 10 oktober 2011

Summary

51

maandag 10 oktober 2011

first Think, then Act

52

maandag 10 oktober 2011

Standardize &

Automate

53

maandag 10 oktober 2011

Document & Test

54

maandag 10 oktober 2011