CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT...

Preview:

Citation preview

CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH

DEPLOYMENT PACKAGES AND PUPPET SESSION 31449

JUNE 20, 2017 - LYRA B

PRESENTERS

Wayde Nie

Manager IT - Servers, Storage and Architecture

Paul Laurent

Oracle DBA/PSAdmin

McMaster University

niew@mcmaster.ca

McMaster University

laurenp@mcmaster.ca

MCMASTER UNIVERSITY, HAMILTON, CANADA

McMaster University,

founded in 1887, is a mid

size Canadian University

with approximately 28000

full time students.

PRESENTATION OVERVIEW 1. McMasters PeopleSoft Experience From Project to Production Support • McMaster’s PeopleSoft footprint.

• The current state of McMaster’s PeopleSoft infrastructure configuration.

2. Puppet for Orchestration • Why Puppet?

• Puppet architectural overview.

• Classification is king.

• Code vs config.

3. McMaster’s Puppet Experience • PeopleTools 8.55 upgrades.

• Challenges in using Puppet for deployments.

• Next steps on the Puppet journey.

4. Puppet Learning Resources

MCMASTERS PEOPLESOFT EXPERIENCE FROM PROJECT TO PRODUCTION SUPPORT

MCMASTER’S PEOPLESOFT FOOTPRINT McMaster began its PeopleSoft journey in 2013 and re-platformed all its core administrative systems.

2013

• PeopleSoft Interaction Hub 9.1 (PT 8.53.06)

• PeopleSoft Financials 9.2 (PT 8.53.06)

• PeopleSoft EPM 9.0 (PT 8.53.06)

2014

• PeopleSoft HR 9.2 (PT 8.53.06)

• PeopleSoft Campus Solutions 9.0 (PT 8.53.06) – Phase I and Phase II

• PeopleSoft Bolt On Environment (PT 8.53.06)

2015

• PeopleSoft Campus Solutions 9.0 (PT 8.53.06) – Phase III

PEOPLESOFT CONFIGURATION – CURRENT STATE The Problem:

• During the project approximately eleven contract and full time PSAdmins managed these environments.

• Aggressive timelines - Two and half year window to implement six PeopleSoft streams.

• Enormous workload meant that documentation and standardization slipped to meet deadlines

• Configuration knowledge held by stream specific DBAs/PSAdmins and, in some cases, by contract resources who took that knowledge with them as they cycled off the project

The Result

• Configuration drift across PeopleSoft streams and in some cases in down rev environments within streams.

PUPPET FOR ORCHESTRATION

PUPPET FOR PEOPLESOFT, WHY?

• University had an existing investment in Puppet for orchestration.

• Departmental experience using Puppet for the deployment of configuration objects (NTP, common users by support area).

• Oracle’s utilizes a “local” implementation of Puppet in DPK’s for deployment of standalone stacks.

PUPPET ▪ The good thing about puppet…

PUPPET ▪ The bad thing about puppet…

VCS REPO - GITLAB • Configuration as code

• “production” branch

• “staging” branch

• “feature” branches

CHANGE WORKFLOW ▪ Adapted “Gitflow”(https://datasift.github.io/gitflow/IntroducingGitFlow.html )

▪Branches:

• Production

• Staging

• <features>

KEY PUPPET IDEAS

• Infrastructure as Code

• Roles and profiles

• One role ; multiple profiles “Lingaroo”

• Idempotency

• Declarative rather than imperative

• Dependency awareness

PUPPET CONTROL REPO

PUPPET CONTROL REPO - PUPPETFILE ▪ forge "http://forge.puppetlabs.com"

▪ # Modules from the Puppet Forge

▪ mod "puppetlabs/stdlib", "4.12.0"

▪ mod "puppetlabs/concat", "2.2.0"

▪ mod "fiddyspence/sysctl", "1.1.0"

▪ mod "hajee/easy_type", "0.15.5"

▪ mod 'mcm-pt_psib',

▪ :git => 'git@pinvcs01.uts.mcmaster.ca:cnf/mcm-pt_psib.git',

▪ :ref => 'master'

ORACLE DPK AND PUPPET

DPK MODULES

Dependencies:

•Puppetlabs/stdlib

•Puppetlabs/concat

• Fiddyspence/sysctl

•Hajee/easy_type

DPK MODULES

Oracle:

•pt_config

•pt_deploy

•pt_profile

•pt_role

•pt_setup

ENC NODE CLASSIFICATION

▪ MCM_Base

▪ MCM_MOSAIC – fact mcm_ismosaic=[y|n]

▪ MCM_Mosaic_<ENVTYPE>

UPDATE PRODUCTION FROM FEATURE BRANCH (NEW DPK VERSION)

MCMASTER’S PUPPET EXPERIENCE

GET CURRENT, PT 8.55 UPGRADE McMaster is in the midst of an effort to upgrade its PeopleSoft application and PeopleTools releases. As part of that effort, Puppet has been used to deploy the following:

• Interaction Hub production and pre production environments (total of fourteen servers with six different configuration patterns).

• PeopleSoft Finance production and pre production environments (total of eight servers with three different configuration patterns).

GET CURRENT, PT 8.55 UPGRADE Pre Puppet

• Prior to Puppet, deployment was scripted, but config moved back in by hand and compared against a stream specific golden config. Mean time to completion measured in hours.

• No single source of documentation that described configuration items within a given PeopleSoft stream.

• Process/workflow for configuration changes was spotty or non-existent.

• Limited accountability within the organization for configuration change.

GET CURRENT, PT 8.55 UPGRADE Post Puppet Implementation

• Puppet deployments done concurrently, but because config is vetted and standardized, little or no post deployment compares are required. Mean time to completion measured in minutes.

• Configuration is stored internally and is self documenting. Changes and exceptions captured in commit messages.

• Work flow can be built into process. Idempotency can enforce standard config if processes are not followed.

ORGANIZATIONAL CHALLENGES TO USING PUPPET Biggest challenge to uptake in our organization was cultural.

• Mistrust or misgivings with the tool.

• Concern relating to the capture and vetting of stream specific configuration information.

• Concern of losing control or oversight over an environment.

• Learning curve.

The Solution

• Engagement!

NEXT STEPS

NEXT STEPS

• Puppet agent run without restart or redeploy

• No more “safety valve”

• https://community.oracle.com/ideas/17205

• Better hiera hierarchy

• Use hiera_hash

• ACM for Application Configuration Management

• PUM21 update (in progress) ; onward to PT8.56

• Containers!

PUPPET LEARNING RESOURCES

Recommended