32
CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017 - LYRA B

CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH

DEPLOYMENT PACKAGES AND PUPPET SESSION 31449

JUNE 20, 2017 - LYRA B

Page 2: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

PRESENTERS

Wayde Nie

Manager IT - Servers, Storage and Architecture

Paul Laurent

Oracle DBA/PSAdmin

McMaster University

[email protected]

McMaster University

[email protected]

Page 3: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

MCMASTER UNIVERSITY, HAMILTON, CANADA

McMaster University,

founded in 1887, is a mid

size Canadian University

with approximately 28000

full time students.

Page 4: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

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

Page 5: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

MCMASTERS PEOPLESOFT EXPERIENCE FROM PROJECT TO PRODUCTION SUPPORT

Page 6: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

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

Page 7: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

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.

Page 8: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

PUPPET FOR ORCHESTRATION

Page 9: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

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.

Page 10: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

PUPPET ▪ The good thing about puppet…

Page 11: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

PUPPET ▪ The bad thing about puppet…

Page 12: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017
Page 13: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

VCS REPO - GITLAB • Configuration as code

• “production” branch

• “staging” branch

• “feature” branches

Page 14: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

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

▪Branches:

• Production

• Staging

• <features>

Page 15: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

KEY PUPPET IDEAS

• Infrastructure as Code

• Roles and profiles

• One role ; multiple profiles “Lingaroo”

• Idempotency

• Declarative rather than imperative

• Dependency awareness

Page 16: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

PUPPET CONTROL REPO

Page 17: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

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 => '[email protected]:cnf/mcm-pt_psib.git',

▪ :ref => 'master'

Page 18: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

ORACLE DPK AND PUPPET

Page 19: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

DPK MODULES

Dependencies:

•Puppetlabs/stdlib

•Puppetlabs/concat

• Fiddyspence/sysctl

•Hajee/easy_type

Page 20: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

DPK MODULES

Oracle:

•pt_config

•pt_deploy

•pt_profile

•pt_role

•pt_setup

Page 21: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

ENC NODE CLASSIFICATION

▪ MCM_Base

▪ MCM_MOSAIC – fact mcm_ismosaic=[y|n]

▪ MCM_Mosaic_<ENVTYPE>

Page 22: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

UPDATE PRODUCTION FROM FEATURE BRANCH (NEW DPK VERSION)

Page 23: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

MCMASTER’S PUPPET EXPERIENCE

Page 24: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

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).

Page 25: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

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.

Page 26: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

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.

Page 27: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

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!

Page 28: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

NEXT STEPS

Page 29: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

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!

Page 30: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017

PUPPET LEARNING RESOURCES

Page 32: CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ... · CENTRALLY DEPLOY AND CONFIGURE PEOPLESOFT CLOUD ARCHITECTURE WITH DEPLOYMENT PACKAGES AND PUPPET SESSION 31449 JUNE 20, 2017