deployment patterns for fusion middleware · pdf file deployment patterns for fusion...

Click here to load reader

Post on 18-Mar-2020

4 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Deployment patterns for Fusion Middleware

    a best practice session by Simon 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

    http://oraclemva.wordpress.com http://oraclemva.wordpress.com

  • `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

    http://simonhaslam.co.uk http://simonhaslam.co.uk

  • 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 Process 1. 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 B AdminServer

    Cluster Managed 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 RAC

    See 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

  • Maintaining the 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 Place Upgrades

    48

    maandag 10 oktober 2011

  • Grid Control

    • Stack monitoring • SLA checks • Corrective action library

    49

    maandag 10 oktober 2011

  • MOS Configurations

    • Not OCM per-se • Faster SR handling

    50

    maandag 10 oktober 2011

  • Summar