SlideShare a Scribd company logo
Architectural
design choices
to support
DevOps for
PeopleSoft
systems
Session ID CON4199
September 2016
2© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Brennan Folmer
Director/KPMG
bfolmer@kpmg.com
Presenter
Join the conversation
@KPMG_US
#KPMGoow
3© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
— DevOps concepts for PeopleSoft
— Standardization
— Infrastructure design
— Automation
— Developer enablement
— Change control
Agenda
Some or all of the services described herein may not be permissible for KPMG audit clients and their affiliates. Code samples are
presented as examples only. Sample designs are intended to represent observed good practices, and KPMG does not represent
that these configurations are applicable to any specific client situation.
DevOps
concepts for
PeopleSoft
5© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
DevOps definition
• IT cultural shift intended to improve collaboration across the service lifecycle
• Dev = Developers, product managers, QA
• Ops = System engineers, operations staff, DBAs, network engineers, security
• Emphasizes people and process changes, not specific technology
• Technology is used to facilitate DevOps concepts, but DevOps is not a technology
What is DevOps?
6© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Goals:
1. Deploy/refresh PS environments in minutes-to-hours
2. Automate repetitive administrative tasks
3. Empower developers to handle common tasks
4. Standardize the process of releasing changes to production
DevOps support for PeopleSoft
Standardizati
on
Establish a solid foundation for operational excellence
8© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
A region is a logical grouping of environments whose use is similar from a migration and
testing perspective
Useful regions:
• DEMO
• DEVELOPMENT
• TEST
• QAT
• PRODUCTION
• PROJECT
Regions
9© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Environment naming convention
Application pillar Prefix
Financials/Supply Chain FS
Human Capital Management HR
Interaction Hub IH
Campus Solutions CS
Customer Relationship
Management
CR
Enterprise Learning
Management
EL
Enterprise Performance
Management
EP
PeopleTools PT
Environment Abbreviation
Development DEV
Test TST
Quality Assurance
Testing
QAT
Production PRD
Conversion CNV
Configuration CFG
10© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Proliferation of environments require a pattern for port management (5-digit ports)
Port matrix pattern
Application (HCM, FMS, IH, etc.)
Service (JSL, WSL, PIA HTTP/HTTPS, etc.)
Environment (DEV, TST, PRD, etc.)
External/Internal Increment for web domains
11© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Sample port matrix
Application
Tuxedo Jolt Listeners (JSL)
Non-production
PROD
region PROJECT regionDEMO region DEV region TEST region QAT region
DMO SBX DEV Reserved TST Reserved QAT TRN Reserved PRD CFG CNV PRE
Interaction Hub 9.1 (IH) 34000 34010 34020 34030 34040 34050 34060 34070 34080 34060 34060 34070 34080
CS 9.2 (CS) 34100 34110 34120 34130 34140 34150 34160 34170 34080 34160 34160 34170 34180
HCM 9.2 (HR) 34200 34210 34220 34230 34240 34250 34260 34270 34080 34260 34260 34270 34280
FMS 9.2 (FS) 34300 34310 34320 34330 34340 34350 34360 34370 34080 34360 34360 34370 34380
Application
Tuxedo Workstation Listeners (WSL)
Non-production
PROD
region PROJECT regionDEMO region DEV region TEST region QAT region
DMO SBX DEV Reserved TST Reserved QAT TRN Reserved PRD CFG CNV PRE
Interaction Hub 9.1 (IH) 35000 35010 35020 35030 35040 35050 35060 35070 35080 35060 35060 35070 35080
CS 9.2 (CS) 35100 35110 35120 35130 35140 35150 35160 35170 35080 35160 35160 35170 35180
HCM 9.2 (HR) 35200 35210 35220 35230 35240 35250 35260 35270 35080 35260 35260 35270 35280
FMS 9.2 (FS) 35300 35310 35320 35330 35340 35350 35360 35370 35080 35360 35360 35370 35380
12© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Sample port matrix (continued)
Application
PeopleCode Debugger
Non-production
PROD
region PROJECT regionDEMO region DEV region TEST region QAT region
DMO SBX DEV Reserved TST Reserved QAT TRN Reserved PRD CFG CNV PRE
Interaction Hub 9.1 (IH) 36000 36010 36020 36030 36040 36050 36060 36070 36080 36060 36060 36070 36080
CS 9.2 (CS) 36100 36110 36120 36130 36140 36150 36160 36170 36080 36160 36160 36170 36180
HCM 9.2 (HR) 36200 36210 36220 36230 36240 36250 36260 36270 36080 36260 36260 36270 36280
FMS 9.2 (FS) 36300 36310 36320 36330 36340 36350 36360 36370 36080 36360 36360 36370 36380
Application
PIA HTTP
Non-production
PROD
region PROJECT regionDEMO region DEV region TEST region QAT region
DMO SBX DEV Reserved TST Reserved QAT TRN Reserved PRD CFG CNV PRE
Interaction Hub 9.1 (IH) 27000 27010 27020 27030 27040 27050 27060 27070 27080 27060 27060 27070 27080
CS 9.2 (CS) 27100 27110 27120 27130 27140 27150 27160 27170 27080 27160 27160 27170 27180
HCM 9.2 (HR) 27200 27210 27220 27230 27240 27250 27260 27270 27080 27260 27260 27270 27280
FMS 9.2 (FS) 27300 27310 27320 27330 27340 27350 27360 27370 27080 27360 27360 27370 27380
13© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Sample port matrix (continued)
Application
Realtime Event Notification (REN)
Non-production
PROD
region PROJECT regionDEMO region DEV region TEST region QAT region
DMO SBX DEV Reserved TST Reserved QAT TRN Reserved PRD CFG CNV PRE
Interaction Hub 9.1 (IH) 29002 29012 29022 29032 29042 29052 29062 29072 29082 29062 29062 29072 29082
CS 9.2 (CS) 29102 29112 29122 29132 29142 29152 29162 29172 29082 29162 29162 29172 29182
HCM 9.2 (HR) 29202 29212 29222 29232 29242 29252 29262 29272 29082 29262 29262 29272 29282
FMS 9.2 (FS) 29302 29312 29322 29332 29342 29352 29362 29372 29082 29362 29362 29372 29382
Application
PIA HTTPS
Non-production
PROD
region PROJECT regionDEMO region DEV region TEST region QAT region
DMO SBX DEV Reserved TST Reserved QAT TRN Reserved PRD CFG CNV PRE
Interaction Hub 9.1 (IH) 28001 28011 28021 28031 28041 28051 28061 28071 28081 28061 28061 28071 28081
CS 9.2 (CS) 28101 28111 28121 28131 28141 28151 28161 28171 28081 28161 28161 28171 28181
HCM 9.2 (HR) 28201 28211 28221 28231 28241 28251 28261 28271 28081 28261 28261 28271 28281
FMS 9.2 (FS) 28301 28311 28321 28331 28341 28351 28361 28371 28081 28361 28361 28371 28381
14© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
The goal is to provide developers and testers a platform that is as similar as
possible to production.
— Load balancing – Use load balancer for all PIA domains
— SSL/Certificates – Purchase (wildcard) certificates for all environments
— DNS names – Match the DNS name to the environment name, e.g.,
fsdev.domain.com, hrtst.domain.com
— Hostnames – Establish a naming convention for the servers, e.g.,
xxx-yyy#.domain.com
xxx = Region Membership = {DEMO, DEV, TEST, QAT, PROD, etc.}
yyy = Server Role = {web, app, win}
Consistent setup between regions
Infrastructure
design
Organize the PeopleSoft ecosystem
16© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
A region is a logical grouping of environments whose use is similar from a migration and testing perspective
Peoplesoft regions
DEMO DEV TEST QAT PROD PROJECT
HRDMO
HRSBX
FSDMO
FSSBX
CSDMO
CSSBX
IHDMO
IHSBX
HRDEV
FSDEV
CSDEV
IHDEV
HRTST
FSTST
CSTST
IHTST
HRQAT
HRTRN
FSQAT
FSTRN
CSQAT
CSTRN
IHQAT
IHTRN
HRPRD
FSPRD
CSPRD
IHPRD
HRCFG
FSCFG
CSCFG
IHCFG
HRSEC
FSSEC
CSSEC
IHSEC
HRCNV
FSCNV
CSCNV
etc...
Migration Path
17© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Establish a consistent directory layout to facilitate automation of common tasks
such as refreshes and patching. Security and segregation of duties can also be
enforced via separate homes.
— PS_HOME – Contains the PeopleTools 8.5x.xx binaries. Shared between multiple
application installations in a given region.
— PS_CFG_HOME – Contains domain definitions (PIA, app server, process scheduler)
and logs
— PS_APP_HOME – Contains all delivered, application-specific files. e.g., SQRs,
COBOL, Crystal reports, etc.
— PS_CUST_HOME – Contains customized application-specific files
PeopleSoft homes
Directory layout
18© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Each region would have an individually allocated disk with the following layout:
/psft/middleware – WebLogic, Tuxedo, Oracle DB connectivity, and JRockit binaries
/psft/psreports – Reports for all environments in the region
/psft/pt855 – Contains the PeopleTools 8.55.xx binary files
/psft/cfg/xx – All domain configurations: PIA, app, and process scheduler
/psft/app/xx – Contains the delivered app-specific files (SQR, COBOL, Crystal, etc.)
/psft/cust/xx – Customized app-specific files (SQRs, inbound, outbound, COBOL, etc.)
NOTE: xx represents the application abbreviation, e.g., cs, hr, fs, ih…
The example above is for Posix-style file systems; Windows would follow a similar
pattern.
Software layout
Directory layout
19© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Examples to illustrate the concept:
Environments
Directory layout
Environment Region PS_CFG_HOME PS_APP_HOME PS_CUST_HOME
IHDMO DEMO /psft/cfg/ih /psft/app/ih/IHDMO n/a*
FSDMO DEMO /psft/cfg/fs /psft/app/fs/FSDMO n/a*
IHDEV DEV /psft/cfg/ih /psft/app/ih/IHDEV /psft/cust/ih/IHDEV
FSDEV DEV /psft/cfg/fs /psft/app/fs/FSDEV /psft/cust/fs/FSDEV
IHTST TEST /psft/cfg/ih /psft/app/ih/IHTST /psft/cust/ih/IHTST
FSTST TEST /psft/cfg/fs /psft/app/fs/FSTST /psft/cust/fs/FSTST
IHQAT QAT /psft/cfg/ih /psft/app/ih/IHQAT /psft/cust/ih/IHQAT
FSQAT QAT /psft/cfg/fs /psft/app/fs/FSQAT /psft/cust/fs/FSQAT
IHPRD PROD /psft/cfg/ih /psft/app/ih/IHPRD /psft/cust/ih/IHPRD
FSPRD PROD /psft/cfg/fs /psft/app/fs/FSPRD /psft/cust/fs/FSPRD
* The demo environments do not include any customizations and therefore do not require a PS_CUST_HOME directory.
20© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
In this design, the shared disk is mounted on multiple servers. Reliability is the
highest priority for the mounted file system.
Options:
— Highly Available NFS
— Clustered File System such as Oracle Cluster File System (OCFS)
— Elastic File System (Amazon Web Services offering with using EC2)
References:
— http://www.oracle.com/ocom/groups/public/@otn/documents/webcontent/2011281.pdf
— http://www.oracle.com/us/technologies/linux/025995.htm
— https://aws.amazon.com/efs/
Shared disk
Directory layout
21© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Document the shape for the VMs per region
Server templates
Region Tier Memory (GB) vCPUs VM server count
DEMO Web 8 2 1
AppBatch 8 2 1
DEV Web 8 2 1
AppBatch 16 4 1
TEST Web 8 2 1
AppBatch 16 4 1
QAT Web 24 4 3
AppBatch 48 8 4
PROD Web 24 4 3
AppBatch 48 8 4
PROJECT Web 16 4 1
AppBatch 48 4 1
22© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Document the size for the domains per region
Domain sizing
Region Application
PSAPPSRV
process count
(Per domain)
JOLT listener
handlers
(Per domain)
JOLT listener max
clients per handler
(Per domain)
PubSub handlers
(Per domain)
Domain count
(Max one domain
per server per app)
DEMO All Min=Max=2 Min=2
Max=2
20 Min=Max=3 for
pub, sub, and
broker
1
DEV All Min=Max=2 Min=2
Max=2
20 Min=Max=3 for
pub, sub, and
broker
1
TEST All Min=Max=2 Min=2
Max=2
20 Min=Max=3 for
pub, sub, and
broker
1
QAT FS Min=Max=3 Min=25
Max=25
20 Min=Max=3 4
IH Min=Max=6 Min=Max=5
CS Min=Max=8 Min=Max=5
HR Min=Max=6 Min=Max=5
23© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Document the size for the domains per region (continued)
Domain sizing (continued)
Region Application
PSAPPSRV
process count
(Per domain)
JOLT listener
handlers
(Per domain)
JOLT listener max
clients per handler
(Per domain)
PubSub handlers
(Per domain)
Domain count
(Max one domain
per server per app)
PROD FS Min=Max=3 Min=25
Max=25
20 Min=Max=3 4
IH Min=Max=6 Min=Max=5
CS Min=Max=8 Min=Max=5
HR Min=Max=6 Min=Max=5
PROJECT All Min=Max=4 Min=5
Max=5
20 Min=Max=3 1
24© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
VMs are associated with an individual region. PeopleSoft domains are build and run on the server associated with their region assignment.
Server associations
DEMO DEV TEST PROJECT
Web Server
demo-web1.domain.com
— CSDMO
— HRDMO
— FSDMO
— IHDMO
AppBatch Server
demo-app1.domain.com
— CSDMO
— HRDMO
— FSDMO
— IHDMO
Web Server
dev-web1.domain.com
— CSDEV
— HRDEV
— FSDEV
— IHDEV
AppBatch Server
dev-app1.domain.com
— CSDEV
— HRDEV
— FSDEV
— IHDEV
Windows Server for PSNT
dev-win1.domain.com
— CSDEV
— HRDEV
— FSDEV
Web Server
test-web1.domain.com
— CSTST
— HRTST
— FSTST
— IHTST
App Server
test-app1.domain.com
— CSTST
— HRTST
— FSTST
— IHTST
Windows Server for PSNT
test-win1.domain.com
— CSTST
— HRTST
— FSTST
Web Server
proj-web1.domain.com
— CSCNV
— CSCFG
— CSSEC
— HRCNV
— HRCFG
— HRSEC…
AppBatch Server
proj-app1.domain.com
— CSCNV
— CSCFG
— CSSEC
— HRCNV
— HRCFG
— HRSEC…
Windows Server for PSNT
proj-win1.domain.com
— TBD
Windows Server for PSNT
demo-win1.domain.com
— CSDMO
— HRDMO
— FSDMO
25© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Multi-server regions
Server associations
QAT QAT PROD PROD
Web Server 1
qat-web1.domain.com
— CSQAT1
— HRQAT1
— FSQAT1
— IHQAT1
Web Server 2
qat-web2.domain.com
— CSQAT2
— HRQAT2
— FSQAT2
— IHQAT2
Web Server n
qat-webn.domain.com
— CSQATn
— HRQATn
— FSQATn
— IHQATn
AppBatch Server 1
qat-app1.domain.com
— CSQAT1
— HRQAT1
plus
PSUNX
— FSQAT1
— IHQAT1
AppBatch Server 2
qat-app2.domain.com
— CSQAT2
— HRQAT2
— FSQAT2 plus
PSUNX
— IHQAT2
AppBatch Server 3
qat-app3.domain.com
— CSQAT3
plus
PSUNX
— HRQAT3
— FSQAT3
— IHQAT3
AppBatch Server n
qat-appn.domain.com
— CSQATn
— HRQATn
— FSQATn
— IHQATn plus
PSUNX
Windows Server for PSNT
qat-win1.domain.com
— CSQAT
— HRQAT
— FSQAT
Web Server 1
prod-web1.domain.com
— CSPRD1
— HRPRD1
— FSPRD1
— IHPRD1
Web Server 2
prod-web2.domain.com
— CSPRD2
— HRPRD2
— FSPRD2
— IHPRD2
Web Server n
prod-webn.domain.com
— CSPRDn
— HRPRDn
— FSPRDn
— IHPRDn
AppBatch Server 1
prod-app1.domain.com
— CSPRD1
— HRPRD1
plus
PSUNX
— FSPRD1
— IHPRD1
AppBatch Server 2
prod-app2.domain.com
— CSPRD2
— HRPRD2
— FSPRD2 plus
PSUNX
— IHPRD2
AppBatch Server 3
prod-app3.domain.com
— CSPRD3
plus
PSUNX
— HRPRD3
— FSPRD3
— IHPRD3
AppBatch Server n
prod-appn.domain.com
— CSPRDn
— HRPRDn
— FSPRDn
— IHPRDn plus
PSUNX
Windows Server for PSNT
prod-win1.domain.com
— CSPRD
— HRPRD
— FSPRD
26© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Database platform choice
On premise Cloud/PaaS
Oracle Database 12c
Oracle Database 11g
Microsoft SQL server
IBM DB2
Oracle Cloud Database
Amazon Relational Database Service (RDS)
Microsoft SQL Azure
27© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
One Container Database (CDB) per region. PS environments would be separate Pluggable Databases (PDBs).
Oracle 12c multitenant
DEMO
DEMOCDB12102
— CSDMO
— CSSBX
— HRDMO
— HRSBX
— FSDMO
— IHDMO
— IHSBX
— IHSYS…
DEV
DEVCDB12102
— CSDEV
— HRDEV
— FSDEV
— IHDEV
TEST
TESTCDB12102
— CSTST
— HRTST
— FSTST
— IHTST
QAT
QATCDB12102
— CSQAT
— HRQAT
— FSQAT
— IHQAT
PROD
PRODCDB12102
— CSPRD
— HRPRD
— FSPRD
— IHPRD
PROJECT
PROJCDB12102
— CSCFG
— CSCNV
— CSSEC
— HRCFG
— HRCNV
— HRSEC
— FSCNV
— etc...
Migration Path
28© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
What are the most common DB tasks for PeopleSoft? How can a DB platform choice
simplify operations?
Cloning:
— Refresh one PS environment from another
— Build new PS environments based on existing environments
Backup/recovery:
— Automate backups
— Quickly restore databases after a failure
Patching:
— Applying periodic security patches
— Minor version updates
Database tasks
29© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
— Oracle 12c multitenant: On premise installation or DBaaS from Oracle Cloud, AWS RDS
Clone in minutes
Goal
Reference: Oracle Magazine April 2014: Oracle 12c Multitenant Overview:
http://www.oracle.com/technetwork/issue-archive/2014/14-mar/o24asktom-2147206.html
Provision databases rapidly
Existing database architecture:
Multiple steps to clone a database
Oracle multitenant:
Single step to clone a database
Before After
30© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
— Database-as-a-Service (DBaaS):
- Oracle Cloud Database Backup: Tie into cloud backup with Recovery Manager (RMAN) for backup
and recovery
- Amazon Web Services RDS: Take DB snapshots and spin up a separate instance
- Microsoft SQL Azure: Take snapshots and perform point-in-time restore
Clone in minutes (continued)
Goal
31© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Simplify backup & recovery
Goal
— Oracle 12c multitenant: On premise installation or DBaaS from Oracle Cloud, AWS RDS
Backup many databases as one
Existing database architecture:
Backup multiple databases
Oracle multitenant:
Backup one multitenant container database
Before After
Reference: Oracle Magazine April 2014: Oracle 12c Multitenant Overview:
http://www.oracle.com/technetwork/issue-archive/2014/14-mar/o24asktom-2147206.html
32© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
— Database-as-a-Service (DBaaS): Oracle Cloud, AWS RDS, Microsoft SQL Azure
All three DBaaS offerings offer automated backup scheduling and point-in-time recovery options
Simplify backup & recovery
(continued)
Goal
33© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Simplify patching
Goal
— Oracle 12c multitenant: On premise installation or DBaaS from Oracle Cloud, AWS RDS
Manage many databases as one
Existing database architecture:
Patch and upgrade multiple databases
Oracle multitenant:
Patch and upgrade one multitenant container
database
Before After
Reference: Oracle Magazine April 2014: Oracle 12c Multitenant Overview:
http://www.oracle.com/technetwork/issue-archive/2014/14-mar/o24asktom-2147206.html
34© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
— Database-as-a-Service (DBaaS):
- Oracle Cloud Database:
— User-controlled patching performed through the DB Cloud Service Console
- AWS RDS (Oracle DB or SQL Server):
— Automatic application of minor-version upgrades
— User-controlled major-version upgrades
- Microsoft SQL Azure:
— Patching handled by Microsoft Azure with no down-time
— User-controlled patching options also available
Simplify patching (continued)
Goal
Automation
Avoid repetitive manual tasks
36© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Remember the first two goals:
1. Deploy/refresh PS environments in minutes-to-hours, not days-to-weeks
2. Automate repetitive administrative tasks
Automate PS build and patching
37© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Starting with PeopleTools 8.55, Deployment Packages (DPKs) are the delivery
mechanism.
PS code, middleware, and (Oracle) database can all be provisioned on bare metal or
virtual servers via DPKs
— Run from command line
— Scriptable
— Customizable
— Controlled with Puppet
PeopleSoft deployment packages
38© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
The delivered properties used by Puppet are found in a series of psft_*.yaml files
— psft_configuration.yaml: PS domain properties, PS users, passwords, etc.
— psft_deployment.yaml: Properties used to deploy Tuxedo, WebLogic, Oracle DB
client
— psft_unix_system.yaml: Set up OS users, groups, sysctl parameters, ulimit, etc.
— psft_ses.yaml: Properties Secure Enterprise Search
DPK modifications
39© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
To modify default properties, change the file psft_customizations.yaml.
— Example for Financials development (FSDEV) environment:
peoplesoft_base: “/psft”
db_platform: ORACLE
ps_home_location: “/psft/pt855”
inventory_location: “/psft/middleware/oracle/oraInventory”
oracle_client_location: “/psft/middleware/oracle/12.1.0.2”
jdk_location: “/psft/middleware/jdk1.7.0_95”
weblogic_location: “/psft/middleware/weblogic”
tuxedo_location: “/psft/middleware/tuxedo”
db_name: FSDEV
db_user: VP1
db_user_pwd: <some-pw>
ps_config_home: “/psft/cfg/fs/FSDEV”
ps_app_home:
location: “/psft/app/fs/FSDEV”
DPK modifications (continued)
Reference: My Oracle Support Doc ID 1641843.2
40© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
PeopleSoft delivers Automated Configuration Management (ACM) to simplify the
configuration of environments after a refresh.
Delivered templates include:
— Integration Broker
— Web Profile
— Process Scheduler
— SES configuration
ACM can be run via command line, enabling the configuration to be added as a
scriptable step in a refresh.
Automate PeopleSoft configuration
41© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
The ACM templates and customized YAML files should be treated as source code
(Infrastructure as Code) and versioned appropriately. This allows for tracking and
replication of infrastructure setups.
Version control for ACM and puppet
files
ACM-FSDEV.txt
ACM-HRDEV.txt
psft_customizations.yaml
ACM-HRTST.txt
ACM-FSTST.txt
Developer
enablement
Allow developers to do what they do best
43© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Remember the third goal:
…
3. Empower developers to handle common tasks
…
Developer enablement
44© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
— Problem:
- Developers need to stage files or access files produced by PeopleSoft
- Developers need to access trace files
— Options:
- Establish a Samba server on the AppBatch to expose the inbound/outbound directories.
Developers can securely mount the Linux directories as Windows drives on their desktops and
directly access files.
- Establish a periodic/cron job to move trace files (*.tracesql, etc.) every few minutes to an
accessible location
Access to inbound/outbound
directories, trace files
45© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
— Problem:
- Developers/testers need to exercise outbound email functionality without sending emails to ‘real’
users
— Option:
- Establish a distribution email list for PS developers
- Create a Perl (or similar) script to act as a local SMTP server and change the ‘to’ address to the
distribution list before forwarding the email message
- Run the Perl script as a service on a local machine
- Point the app and batch domains at the local Perl SMTP server (psappsrv.cfg and psprcs.cfg)
See Appendix for an example Perl script
Intercept outbound PeopleSoft
email
46© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
— Problem:
- Developers have to request app domain cache clear
— Option:
- Use PHP and a shell script to execute the psadmin utility command line option to clear cache:
PHP (clear-cache.php):
<?php
$output = shell_exec(‘sh /home/psoft/clear-cache.sh’);
echo “<pre>$output</pre>”;
?>
Script (/home/psoft/clear-cache.sh):
#!/bin/sh
sudo -i -u psoft psadmin –c purge –d APPDOMAIN –noarch –log “cache purge”
Modify sudoers file (using visudo):
www-data ALL=NOPASSWD: /home/psoft/clear-cache.sh
Facilitate app domain cache clear
via web page
Change
control
Establish a reliable process to update production
48© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Remember the fourth goal:
…
4. Standardize the process of releasing changes to production
Change control
49© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
The migration path is the ‘pipeline’ to production. Changes should only flow in one
direction.
Migration path
DEV TEST QAT PROD
50© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Region purpose
Region Primary activities Primary audience
Refresh frequency
(Form production)
DEV — Development
— Unit testing
— Testing of Oracle-
delivered
patches/features
Developers Infrequently/on-demand
TEST Business user testing and
verification
Business Users Monthly
QAT Final quality assurance
testing just prior to migrations
to production
QA Testers
Tech Services
Semi-weekly
PROD Production All end-users N/A
51© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Sample change control schedule
Mon Tues Wed Thurs Fri Sat Sun
Week1
9am:
Biz/Dev/Ops
status meeting;
review previous
release
9am:
Biz/Dev/Ops
status meeting;
review issue
tracking system
Phase activities:
Development/unit testing in DEV region (Developers)
User testing in TEST region (Business Users)
Migrations done between DEV and TEST (Operations)
Quality Assurance/User Acceptance Testing in QAT region
Perform production maintenance in PROD
Mon Tues Wed Thurs Fri Sat Sun
Week2
9am:
Biz/Dev/Ops
status meeting;
review issue
tracking system
5pm:
Deadline to
identify candidate
items for release
All day:
Refresh QAT and
migrate candidate
items
9am:
QA team confirms
final items for
release
6am-noon:
PRODUCTION
maintenance
window
52© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
— Business Users have visibility and input into development priorities
— Developers have a reliable release schedule to plan development efforts
— Testers understand what is in the pipeline for verification
— Operations can plan application-specific and non-application maintenance in a reliable
manner
Organization interaction
Questions
Thank you
Brennan Folmer
Director/KPMG
bfolmer@kpmg.com
Join the conversation
@KPMG_U.S.
#KPMGoow
Appendix
56© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Prerequisites:
— Install a Perl run-time (ActivePerl for Windows, various distributions for Linux)
— Install the SMTP-Perl and Net-DNS packages
smtp-redirect.pl
Intercept outbound PS email
##############################################################
# Description: This script listens for incoming SMTP
# traffic, accepts the message, and resends
# the message after switching the recipient's
# address with the command line parameters
#
# Note: This software is provided as-is with no warranty of any kind.
#
# Usage: # smtp-redirect.pl <port> email1@domain.com[,email2@domain.com]
#
# Replace mail.domain.com with a valid SMTP server, and domain.com as appropriate
#
##############################################################
# Retrieve the command line arguments and validate them
$port = $ARGV[0];
$to = $ARGV[1];
if (!$port || !$to)
{
print "Usage: $0 port user1@domain.com[,user2@domain.com,user3@domain.com]n";
print "Use a port > 1024. This will NOT send outside of *domain.comn";
exit;
}
57© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Intercept outbound PS email
(continued)if ($port !~ /^(d+)$/)
{
die "$port is not a valid port numbern";
}
if ($to !~ /^(.*?)@(.*)$/ig)
{
die "$to is not a valid email address (should be user@domain.com or user1@domain.com,user2@domain.comn" ;
}
print "Listening on port $port, sending ALL MAIL to: ";
# Validate that the TO addresses all match the proper domain
foreach $addr (split(",",$to))
{
if ($addr !~ /(.*)@*domain.com$/) { die "$addr is not in domain.com domain, I will not send mail there.n"; }
else { print "$addr "; }
}
print "nrn";
use Carp;
use Net::SMTP::Server;
use Net::SMTP::Server::Client;
use Net::SMTP::Server::Relay;
use Net::SMTP;
# Initiate an SMTP server on the local machine to listen for incoming traffic
$server = new Net::SMTP::Server("localhost",$port) || croak("Unable to handle client connection: $!n");
58© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International
Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652
Intercept outbound PS email
(continued)# Process incoming client requests
while($conn = $server->accept())
{
print "new clientn";
my $client = new Net::SMTP::Server::Client($conn)||croak("Unable to handle client connection: $!n");
print "about to ->processn";
$client->process|| next;
print "processed..n";
++$i;
# Configure the destination SMTP server
$smtp = Net::SMTP->new('mail.domain.com', debug => 1);
# Set the FROM address (unchanged from the incoming message)
$smtp->mail($client->{FROM});
# Set the TO address(es) from the command line arguments
foreach $addr (split(",",$to))
{
$smtp->to($addr);
}
# Include the original message. The original TO addresses are also included at the top of the message.
$smtp->data("*********************nOriginal TO address(es): $client->{TO}[0] n*****************nn $client->{MSG}");
$smtp->dataend();
# End the SMTP session (send the mail)
$smtp->quit;
print ":[$i] $client->{FROM} -> ".join(",",@{$client->{TO}})."..n";
}
© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent
member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved.
NDPPS 589652
The KPMG name and logo are registered trademarks or trademarks of KPMG International.
Some or all of the services described herein may not be permissible for KPMG audit clients and their affiliates.
The information contained herein is of a general nature and is not intended to address the circumstances of any particular
individual or entity. Although we endeavor to provide accurate and timely information, there can be no guarantee that such
information is accurate as of the date it is received or that it will continue to be accurate in the future. No one should act on
such information without appropriate professional advice after a thorough examination of the particular situation. Some or all of
the services described herein may not be permissible for KPMG audit clients and their affiliates.
kpmg.com/socialmedia

More Related Content

Similar to CON4199-Architectural Design Choices to Support DevOps for PeopleSoft Systems_FINAL

Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
SAP Cloud Platform
 
Presentation
PresentationPresentation
GAURAV_MISHRA_CV
GAURAV_MISHRA_CV GAURAV_MISHRA_CV
GAURAV_MISHRA_CV
Gaurav Mishra
 
Tech Talk: Don't Forget Operations in Your Continuous Delivery Practice
Tech Talk: Don't Forget Operations in Your Continuous Delivery PracticeTech Talk: Don't Forget Operations in Your Continuous Delivery Practice
Tech Talk: Don't Forget Operations in Your Continuous Delivery Practice
CA Technologies
 
EMC World 2016 - DevOps-at-Scale Session
EMC World 2016 - DevOps-at-Scale SessionEMC World 2016 - DevOps-at-Scale Session
EMC World 2016 - DevOps-at-Scale Session
Bart Driscoll
 
Guruprasad_Testing_TM_7.5yrs
Guruprasad_Testing_TM_7.5yrsGuruprasad_Testing_TM_7.5yrs
Guruprasad_Testing_TM_7.5yrs
Guru Prasad Hosahalli
 
Resume_Jegatheesan-JKT
Resume_Jegatheesan-JKTResume_Jegatheesan-JKT
Resume_Jegatheesan-JKT
Jag Jagdeesh
 
MPLS/SDN 2013 Intercloud Standardization and Testbeds - Sill
MPLS/SDN 2013 Intercloud Standardization and Testbeds - SillMPLS/SDN 2013 Intercloud Standardization and Testbeds - Sill
MPLS/SDN 2013 Intercloud Standardization and Testbeds - Sill
Alan Sill
 
Automation Test Lead With 9 Years
Automation Test Lead With 9 YearsAutomation Test Lead With 9 Years
Automation Test Lead With 9 Years
senthil kumar
 
Skytap parasoft webinar new years resolution- accelerate sdlc
Skytap parasoft webinar new years resolution- accelerate sdlcSkytap parasoft webinar new years resolution- accelerate sdlc
Skytap parasoft webinar new years resolution- accelerate sdlc
Skytap Cloud
 
Srinivas Functional Consultant CV
Srinivas Functional Consultant CVSrinivas Functional Consultant CV
Srinivas Functional Consultant CV
Srinivas M
 
Cloud Crowd - Mandhir Gidda Razorfish " Building a Public / Private Hybrid Cl...
Cloud Crowd - Mandhir Gidda Razorfish " Building a Public / Private Hybrid Cl...Cloud Crowd - Mandhir Gidda Razorfish " Building a Public / Private Hybrid Cl...
Cloud Crowd - Mandhir Gidda Razorfish " Building a Public / Private Hybrid Cl...
jimliddle
 
CloudCrowd - RazorFish Presentation on Building Hybrid Public/Private Cloud
CloudCrowd - RazorFish Presentation on Building Hybrid Public/Private CloudCloudCrowd - RazorFish Presentation on Building Hybrid Public/Private Cloud
CloudCrowd - RazorFish Presentation on Building Hybrid Public/Private Cloud
Nati Shalom
 
How to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
How to build unified Batch & Streaming Pipelines with Apache Beam and DataflowHow to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
How to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
Daniel Zivkovic
 
M_Amjad_Khan_resume
M_Amjad_Khan_resumeM_Amjad_Khan_resume
M_Amjad_Khan_resume
Amjad Khan
 
Rational Development & Test for z Systems 9.5 Webinar with Rogers Communications
Rational Development & Test for z Systems 9.5 Webinar with Rogers CommunicationsRational Development & Test for z Systems 9.5 Webinar with Rogers Communications
Rational Development & Test for z Systems 9.5 Webinar with Rogers Communications
Sherri Hanna
 
TADHack Oracle Alerant Optare Webinar
TADHack Oracle Alerant Optare WebinarTADHack Oracle Alerant Optare Webinar
TADHack Oracle Alerant Optare Webinar
Alan Quayle
 
SAP Cloud Infrastructure Strategy @ Virtualization Week
SAP Cloud Infrastructure Strategy @ Virtualization WeekSAP Cloud Infrastructure Strategy @ Virtualization Week
SAP Cloud Infrastructure Strategy @ Virtualization Week
Frank Stienhans
 
Carrenza advantages-high-performance-cloud-storage
Carrenza advantages-high-performance-cloud-storageCarrenza advantages-high-performance-cloud-storage
Carrenza advantages-high-performance-cloud-storage
Carrenza
 
GFT Webinar - IAC
GFT Webinar - IACGFT Webinar - IAC
GFT Webinar - IAC
Felipe Campos
 

Similar to CON4199-Architectural Design Choices to Support DevOps for PeopleSoft Systems_FINAL (20)

Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
 
Presentation
PresentationPresentation
Presentation
 
GAURAV_MISHRA_CV
GAURAV_MISHRA_CV GAURAV_MISHRA_CV
GAURAV_MISHRA_CV
 
Tech Talk: Don't Forget Operations in Your Continuous Delivery Practice
Tech Talk: Don't Forget Operations in Your Continuous Delivery PracticeTech Talk: Don't Forget Operations in Your Continuous Delivery Practice
Tech Talk: Don't Forget Operations in Your Continuous Delivery Practice
 
EMC World 2016 - DevOps-at-Scale Session
EMC World 2016 - DevOps-at-Scale SessionEMC World 2016 - DevOps-at-Scale Session
EMC World 2016 - DevOps-at-Scale Session
 
Guruprasad_Testing_TM_7.5yrs
Guruprasad_Testing_TM_7.5yrsGuruprasad_Testing_TM_7.5yrs
Guruprasad_Testing_TM_7.5yrs
 
Resume_Jegatheesan-JKT
Resume_Jegatheesan-JKTResume_Jegatheesan-JKT
Resume_Jegatheesan-JKT
 
MPLS/SDN 2013 Intercloud Standardization and Testbeds - Sill
MPLS/SDN 2013 Intercloud Standardization and Testbeds - SillMPLS/SDN 2013 Intercloud Standardization and Testbeds - Sill
MPLS/SDN 2013 Intercloud Standardization and Testbeds - Sill
 
Automation Test Lead With 9 Years
Automation Test Lead With 9 YearsAutomation Test Lead With 9 Years
Automation Test Lead With 9 Years
 
Skytap parasoft webinar new years resolution- accelerate sdlc
Skytap parasoft webinar new years resolution- accelerate sdlcSkytap parasoft webinar new years resolution- accelerate sdlc
Skytap parasoft webinar new years resolution- accelerate sdlc
 
Srinivas Functional Consultant CV
Srinivas Functional Consultant CVSrinivas Functional Consultant CV
Srinivas Functional Consultant CV
 
Cloud Crowd - Mandhir Gidda Razorfish " Building a Public / Private Hybrid Cl...
Cloud Crowd - Mandhir Gidda Razorfish " Building a Public / Private Hybrid Cl...Cloud Crowd - Mandhir Gidda Razorfish " Building a Public / Private Hybrid Cl...
Cloud Crowd - Mandhir Gidda Razorfish " Building a Public / Private Hybrid Cl...
 
CloudCrowd - RazorFish Presentation on Building Hybrid Public/Private Cloud
CloudCrowd - RazorFish Presentation on Building Hybrid Public/Private CloudCloudCrowd - RazorFish Presentation on Building Hybrid Public/Private Cloud
CloudCrowd - RazorFish Presentation on Building Hybrid Public/Private Cloud
 
How to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
How to build unified Batch & Streaming Pipelines with Apache Beam and DataflowHow to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
How to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
 
M_Amjad_Khan_resume
M_Amjad_Khan_resumeM_Amjad_Khan_resume
M_Amjad_Khan_resume
 
Rational Development & Test for z Systems 9.5 Webinar with Rogers Communications
Rational Development & Test for z Systems 9.5 Webinar with Rogers CommunicationsRational Development & Test for z Systems 9.5 Webinar with Rogers Communications
Rational Development & Test for z Systems 9.5 Webinar with Rogers Communications
 
TADHack Oracle Alerant Optare Webinar
TADHack Oracle Alerant Optare WebinarTADHack Oracle Alerant Optare Webinar
TADHack Oracle Alerant Optare Webinar
 
SAP Cloud Infrastructure Strategy @ Virtualization Week
SAP Cloud Infrastructure Strategy @ Virtualization WeekSAP Cloud Infrastructure Strategy @ Virtualization Week
SAP Cloud Infrastructure Strategy @ Virtualization Week
 
Carrenza advantages-high-performance-cloud-storage
Carrenza advantages-high-performance-cloud-storageCarrenza advantages-high-performance-cloud-storage
Carrenza advantages-high-performance-cloud-storage
 
GFT Webinar - IAC
GFT Webinar - IACGFT Webinar - IAC
GFT Webinar - IAC
 

CON4199-Architectural Design Choices to Support DevOps for PeopleSoft Systems_FINAL

  • 1. Architectural design choices to support DevOps for PeopleSoft systems Session ID CON4199 September 2016
  • 2. 2© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Brennan Folmer Director/KPMG bfolmer@kpmg.com Presenter Join the conversation @KPMG_US #KPMGoow
  • 3. 3© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 — DevOps concepts for PeopleSoft — Standardization — Infrastructure design — Automation — Developer enablement — Change control Agenda Some or all of the services described herein may not be permissible for KPMG audit clients and their affiliates. Code samples are presented as examples only. Sample designs are intended to represent observed good practices, and KPMG does not represent that these configurations are applicable to any specific client situation.
  • 5. 5© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 DevOps definition • IT cultural shift intended to improve collaboration across the service lifecycle • Dev = Developers, product managers, QA • Ops = System engineers, operations staff, DBAs, network engineers, security • Emphasizes people and process changes, not specific technology • Technology is used to facilitate DevOps concepts, but DevOps is not a technology What is DevOps?
  • 6. 6© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Goals: 1. Deploy/refresh PS environments in minutes-to-hours 2. Automate repetitive administrative tasks 3. Empower developers to handle common tasks 4. Standardize the process of releasing changes to production DevOps support for PeopleSoft
  • 7. Standardizati on Establish a solid foundation for operational excellence
  • 8. 8© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 A region is a logical grouping of environments whose use is similar from a migration and testing perspective Useful regions: • DEMO • DEVELOPMENT • TEST • QAT • PRODUCTION • PROJECT Regions
  • 9. 9© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Environment naming convention Application pillar Prefix Financials/Supply Chain FS Human Capital Management HR Interaction Hub IH Campus Solutions CS Customer Relationship Management CR Enterprise Learning Management EL Enterprise Performance Management EP PeopleTools PT Environment Abbreviation Development DEV Test TST Quality Assurance Testing QAT Production PRD Conversion CNV Configuration CFG
  • 10. 10© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Proliferation of environments require a pattern for port management (5-digit ports) Port matrix pattern Application (HCM, FMS, IH, etc.) Service (JSL, WSL, PIA HTTP/HTTPS, etc.) Environment (DEV, TST, PRD, etc.) External/Internal Increment for web domains
  • 11. 11© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Sample port matrix Application Tuxedo Jolt Listeners (JSL) Non-production PROD region PROJECT regionDEMO region DEV region TEST region QAT region DMO SBX DEV Reserved TST Reserved QAT TRN Reserved PRD CFG CNV PRE Interaction Hub 9.1 (IH) 34000 34010 34020 34030 34040 34050 34060 34070 34080 34060 34060 34070 34080 CS 9.2 (CS) 34100 34110 34120 34130 34140 34150 34160 34170 34080 34160 34160 34170 34180 HCM 9.2 (HR) 34200 34210 34220 34230 34240 34250 34260 34270 34080 34260 34260 34270 34280 FMS 9.2 (FS) 34300 34310 34320 34330 34340 34350 34360 34370 34080 34360 34360 34370 34380 Application Tuxedo Workstation Listeners (WSL) Non-production PROD region PROJECT regionDEMO region DEV region TEST region QAT region DMO SBX DEV Reserved TST Reserved QAT TRN Reserved PRD CFG CNV PRE Interaction Hub 9.1 (IH) 35000 35010 35020 35030 35040 35050 35060 35070 35080 35060 35060 35070 35080 CS 9.2 (CS) 35100 35110 35120 35130 35140 35150 35160 35170 35080 35160 35160 35170 35180 HCM 9.2 (HR) 35200 35210 35220 35230 35240 35250 35260 35270 35080 35260 35260 35270 35280 FMS 9.2 (FS) 35300 35310 35320 35330 35340 35350 35360 35370 35080 35360 35360 35370 35380
  • 12. 12© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Sample port matrix (continued) Application PeopleCode Debugger Non-production PROD region PROJECT regionDEMO region DEV region TEST region QAT region DMO SBX DEV Reserved TST Reserved QAT TRN Reserved PRD CFG CNV PRE Interaction Hub 9.1 (IH) 36000 36010 36020 36030 36040 36050 36060 36070 36080 36060 36060 36070 36080 CS 9.2 (CS) 36100 36110 36120 36130 36140 36150 36160 36170 36080 36160 36160 36170 36180 HCM 9.2 (HR) 36200 36210 36220 36230 36240 36250 36260 36270 36080 36260 36260 36270 36280 FMS 9.2 (FS) 36300 36310 36320 36330 36340 36350 36360 36370 36080 36360 36360 36370 36380 Application PIA HTTP Non-production PROD region PROJECT regionDEMO region DEV region TEST region QAT region DMO SBX DEV Reserved TST Reserved QAT TRN Reserved PRD CFG CNV PRE Interaction Hub 9.1 (IH) 27000 27010 27020 27030 27040 27050 27060 27070 27080 27060 27060 27070 27080 CS 9.2 (CS) 27100 27110 27120 27130 27140 27150 27160 27170 27080 27160 27160 27170 27180 HCM 9.2 (HR) 27200 27210 27220 27230 27240 27250 27260 27270 27080 27260 27260 27270 27280 FMS 9.2 (FS) 27300 27310 27320 27330 27340 27350 27360 27370 27080 27360 27360 27370 27380
  • 13. 13© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Sample port matrix (continued) Application Realtime Event Notification (REN) Non-production PROD region PROJECT regionDEMO region DEV region TEST region QAT region DMO SBX DEV Reserved TST Reserved QAT TRN Reserved PRD CFG CNV PRE Interaction Hub 9.1 (IH) 29002 29012 29022 29032 29042 29052 29062 29072 29082 29062 29062 29072 29082 CS 9.2 (CS) 29102 29112 29122 29132 29142 29152 29162 29172 29082 29162 29162 29172 29182 HCM 9.2 (HR) 29202 29212 29222 29232 29242 29252 29262 29272 29082 29262 29262 29272 29282 FMS 9.2 (FS) 29302 29312 29322 29332 29342 29352 29362 29372 29082 29362 29362 29372 29382 Application PIA HTTPS Non-production PROD region PROJECT regionDEMO region DEV region TEST region QAT region DMO SBX DEV Reserved TST Reserved QAT TRN Reserved PRD CFG CNV PRE Interaction Hub 9.1 (IH) 28001 28011 28021 28031 28041 28051 28061 28071 28081 28061 28061 28071 28081 CS 9.2 (CS) 28101 28111 28121 28131 28141 28151 28161 28171 28081 28161 28161 28171 28181 HCM 9.2 (HR) 28201 28211 28221 28231 28241 28251 28261 28271 28081 28261 28261 28271 28281 FMS 9.2 (FS) 28301 28311 28321 28331 28341 28351 28361 28371 28081 28361 28361 28371 28381
  • 14. 14© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 The goal is to provide developers and testers a platform that is as similar as possible to production. — Load balancing – Use load balancer for all PIA domains — SSL/Certificates – Purchase (wildcard) certificates for all environments — DNS names – Match the DNS name to the environment name, e.g., fsdev.domain.com, hrtst.domain.com — Hostnames – Establish a naming convention for the servers, e.g., xxx-yyy#.domain.com xxx = Region Membership = {DEMO, DEV, TEST, QAT, PROD, etc.} yyy = Server Role = {web, app, win} Consistent setup between regions
  • 16. 16© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 A region is a logical grouping of environments whose use is similar from a migration and testing perspective Peoplesoft regions DEMO DEV TEST QAT PROD PROJECT HRDMO HRSBX FSDMO FSSBX CSDMO CSSBX IHDMO IHSBX HRDEV FSDEV CSDEV IHDEV HRTST FSTST CSTST IHTST HRQAT HRTRN FSQAT FSTRN CSQAT CSTRN IHQAT IHTRN HRPRD FSPRD CSPRD IHPRD HRCFG FSCFG CSCFG IHCFG HRSEC FSSEC CSSEC IHSEC HRCNV FSCNV CSCNV etc... Migration Path
  • 17. 17© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Establish a consistent directory layout to facilitate automation of common tasks such as refreshes and patching. Security and segregation of duties can also be enforced via separate homes. — PS_HOME – Contains the PeopleTools 8.5x.xx binaries. Shared between multiple application installations in a given region. — PS_CFG_HOME – Contains domain definitions (PIA, app server, process scheduler) and logs — PS_APP_HOME – Contains all delivered, application-specific files. e.g., SQRs, COBOL, Crystal reports, etc. — PS_CUST_HOME – Contains customized application-specific files PeopleSoft homes Directory layout
  • 18. 18© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Each region would have an individually allocated disk with the following layout: /psft/middleware – WebLogic, Tuxedo, Oracle DB connectivity, and JRockit binaries /psft/psreports – Reports for all environments in the region /psft/pt855 – Contains the PeopleTools 8.55.xx binary files /psft/cfg/xx – All domain configurations: PIA, app, and process scheduler /psft/app/xx – Contains the delivered app-specific files (SQR, COBOL, Crystal, etc.) /psft/cust/xx – Customized app-specific files (SQRs, inbound, outbound, COBOL, etc.) NOTE: xx represents the application abbreviation, e.g., cs, hr, fs, ih… The example above is for Posix-style file systems; Windows would follow a similar pattern. Software layout Directory layout
  • 19. 19© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Examples to illustrate the concept: Environments Directory layout Environment Region PS_CFG_HOME PS_APP_HOME PS_CUST_HOME IHDMO DEMO /psft/cfg/ih /psft/app/ih/IHDMO n/a* FSDMO DEMO /psft/cfg/fs /psft/app/fs/FSDMO n/a* IHDEV DEV /psft/cfg/ih /psft/app/ih/IHDEV /psft/cust/ih/IHDEV FSDEV DEV /psft/cfg/fs /psft/app/fs/FSDEV /psft/cust/fs/FSDEV IHTST TEST /psft/cfg/ih /psft/app/ih/IHTST /psft/cust/ih/IHTST FSTST TEST /psft/cfg/fs /psft/app/fs/FSTST /psft/cust/fs/FSTST IHQAT QAT /psft/cfg/ih /psft/app/ih/IHQAT /psft/cust/ih/IHQAT FSQAT QAT /psft/cfg/fs /psft/app/fs/FSQAT /psft/cust/fs/FSQAT IHPRD PROD /psft/cfg/ih /psft/app/ih/IHPRD /psft/cust/ih/IHPRD FSPRD PROD /psft/cfg/fs /psft/app/fs/FSPRD /psft/cust/fs/FSPRD * The demo environments do not include any customizations and therefore do not require a PS_CUST_HOME directory.
  • 20. 20© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 In this design, the shared disk is mounted on multiple servers. Reliability is the highest priority for the mounted file system. Options: — Highly Available NFS — Clustered File System such as Oracle Cluster File System (OCFS) — Elastic File System (Amazon Web Services offering with using EC2) References: — http://www.oracle.com/ocom/groups/public/@otn/documents/webcontent/2011281.pdf — http://www.oracle.com/us/technologies/linux/025995.htm — https://aws.amazon.com/efs/ Shared disk Directory layout
  • 21. 21© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Document the shape for the VMs per region Server templates Region Tier Memory (GB) vCPUs VM server count DEMO Web 8 2 1 AppBatch 8 2 1 DEV Web 8 2 1 AppBatch 16 4 1 TEST Web 8 2 1 AppBatch 16 4 1 QAT Web 24 4 3 AppBatch 48 8 4 PROD Web 24 4 3 AppBatch 48 8 4 PROJECT Web 16 4 1 AppBatch 48 4 1
  • 22. 22© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Document the size for the domains per region Domain sizing Region Application PSAPPSRV process count (Per domain) JOLT listener handlers (Per domain) JOLT listener max clients per handler (Per domain) PubSub handlers (Per domain) Domain count (Max one domain per server per app) DEMO All Min=Max=2 Min=2 Max=2 20 Min=Max=3 for pub, sub, and broker 1 DEV All Min=Max=2 Min=2 Max=2 20 Min=Max=3 for pub, sub, and broker 1 TEST All Min=Max=2 Min=2 Max=2 20 Min=Max=3 for pub, sub, and broker 1 QAT FS Min=Max=3 Min=25 Max=25 20 Min=Max=3 4 IH Min=Max=6 Min=Max=5 CS Min=Max=8 Min=Max=5 HR Min=Max=6 Min=Max=5
  • 23. 23© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Document the size for the domains per region (continued) Domain sizing (continued) Region Application PSAPPSRV process count (Per domain) JOLT listener handlers (Per domain) JOLT listener max clients per handler (Per domain) PubSub handlers (Per domain) Domain count (Max one domain per server per app) PROD FS Min=Max=3 Min=25 Max=25 20 Min=Max=3 4 IH Min=Max=6 Min=Max=5 CS Min=Max=8 Min=Max=5 HR Min=Max=6 Min=Max=5 PROJECT All Min=Max=4 Min=5 Max=5 20 Min=Max=3 1
  • 24. 24© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 VMs are associated with an individual region. PeopleSoft domains are build and run on the server associated with their region assignment. Server associations DEMO DEV TEST PROJECT Web Server demo-web1.domain.com — CSDMO — HRDMO — FSDMO — IHDMO AppBatch Server demo-app1.domain.com — CSDMO — HRDMO — FSDMO — IHDMO Web Server dev-web1.domain.com — CSDEV — HRDEV — FSDEV — IHDEV AppBatch Server dev-app1.domain.com — CSDEV — HRDEV — FSDEV — IHDEV Windows Server for PSNT dev-win1.domain.com — CSDEV — HRDEV — FSDEV Web Server test-web1.domain.com — CSTST — HRTST — FSTST — IHTST App Server test-app1.domain.com — CSTST — HRTST — FSTST — IHTST Windows Server for PSNT test-win1.domain.com — CSTST — HRTST — FSTST Web Server proj-web1.domain.com — CSCNV — CSCFG — CSSEC — HRCNV — HRCFG — HRSEC… AppBatch Server proj-app1.domain.com — CSCNV — CSCFG — CSSEC — HRCNV — HRCFG — HRSEC… Windows Server for PSNT proj-win1.domain.com — TBD Windows Server for PSNT demo-win1.domain.com — CSDMO — HRDMO — FSDMO
  • 25. 25© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Multi-server regions Server associations QAT QAT PROD PROD Web Server 1 qat-web1.domain.com — CSQAT1 — HRQAT1 — FSQAT1 — IHQAT1 Web Server 2 qat-web2.domain.com — CSQAT2 — HRQAT2 — FSQAT2 — IHQAT2 Web Server n qat-webn.domain.com — CSQATn — HRQATn — FSQATn — IHQATn AppBatch Server 1 qat-app1.domain.com — CSQAT1 — HRQAT1 plus PSUNX — FSQAT1 — IHQAT1 AppBatch Server 2 qat-app2.domain.com — CSQAT2 — HRQAT2 — FSQAT2 plus PSUNX — IHQAT2 AppBatch Server 3 qat-app3.domain.com — CSQAT3 plus PSUNX — HRQAT3 — FSQAT3 — IHQAT3 AppBatch Server n qat-appn.domain.com — CSQATn — HRQATn — FSQATn — IHQATn plus PSUNX Windows Server for PSNT qat-win1.domain.com — CSQAT — HRQAT — FSQAT Web Server 1 prod-web1.domain.com — CSPRD1 — HRPRD1 — FSPRD1 — IHPRD1 Web Server 2 prod-web2.domain.com — CSPRD2 — HRPRD2 — FSPRD2 — IHPRD2 Web Server n prod-webn.domain.com — CSPRDn — HRPRDn — FSPRDn — IHPRDn AppBatch Server 1 prod-app1.domain.com — CSPRD1 — HRPRD1 plus PSUNX — FSPRD1 — IHPRD1 AppBatch Server 2 prod-app2.domain.com — CSPRD2 — HRPRD2 — FSPRD2 plus PSUNX — IHPRD2 AppBatch Server 3 prod-app3.domain.com — CSPRD3 plus PSUNX — HRPRD3 — FSPRD3 — IHPRD3 AppBatch Server n prod-appn.domain.com — CSPRDn — HRPRDn — FSPRDn — IHPRDn plus PSUNX Windows Server for PSNT prod-win1.domain.com — CSPRD — HRPRD — FSPRD
  • 26. 26© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Database platform choice On premise Cloud/PaaS Oracle Database 12c Oracle Database 11g Microsoft SQL server IBM DB2 Oracle Cloud Database Amazon Relational Database Service (RDS) Microsoft SQL Azure
  • 27. 27© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 One Container Database (CDB) per region. PS environments would be separate Pluggable Databases (PDBs). Oracle 12c multitenant DEMO DEMOCDB12102 — CSDMO — CSSBX — HRDMO — HRSBX — FSDMO — IHDMO — IHSBX — IHSYS… DEV DEVCDB12102 — CSDEV — HRDEV — FSDEV — IHDEV TEST TESTCDB12102 — CSTST — HRTST — FSTST — IHTST QAT QATCDB12102 — CSQAT — HRQAT — FSQAT — IHQAT PROD PRODCDB12102 — CSPRD — HRPRD — FSPRD — IHPRD PROJECT PROJCDB12102 — CSCFG — CSCNV — CSSEC — HRCFG — HRCNV — HRSEC — FSCNV — etc... Migration Path
  • 28. 28© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 What are the most common DB tasks for PeopleSoft? How can a DB platform choice simplify operations? Cloning: — Refresh one PS environment from another — Build new PS environments based on existing environments Backup/recovery: — Automate backups — Quickly restore databases after a failure Patching: — Applying periodic security patches — Minor version updates Database tasks
  • 29. 29© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 — Oracle 12c multitenant: On premise installation or DBaaS from Oracle Cloud, AWS RDS Clone in minutes Goal Reference: Oracle Magazine April 2014: Oracle 12c Multitenant Overview: http://www.oracle.com/technetwork/issue-archive/2014/14-mar/o24asktom-2147206.html Provision databases rapidly Existing database architecture: Multiple steps to clone a database Oracle multitenant: Single step to clone a database Before After
  • 30. 30© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 — Database-as-a-Service (DBaaS): - Oracle Cloud Database Backup: Tie into cloud backup with Recovery Manager (RMAN) for backup and recovery - Amazon Web Services RDS: Take DB snapshots and spin up a separate instance - Microsoft SQL Azure: Take snapshots and perform point-in-time restore Clone in minutes (continued) Goal
  • 31. 31© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Simplify backup & recovery Goal — Oracle 12c multitenant: On premise installation or DBaaS from Oracle Cloud, AWS RDS Backup many databases as one Existing database architecture: Backup multiple databases Oracle multitenant: Backup one multitenant container database Before After Reference: Oracle Magazine April 2014: Oracle 12c Multitenant Overview: http://www.oracle.com/technetwork/issue-archive/2014/14-mar/o24asktom-2147206.html
  • 32. 32© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 — Database-as-a-Service (DBaaS): Oracle Cloud, AWS RDS, Microsoft SQL Azure All three DBaaS offerings offer automated backup scheduling and point-in-time recovery options Simplify backup & recovery (continued) Goal
  • 33. 33© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Simplify patching Goal — Oracle 12c multitenant: On premise installation or DBaaS from Oracle Cloud, AWS RDS Manage many databases as one Existing database architecture: Patch and upgrade multiple databases Oracle multitenant: Patch and upgrade one multitenant container database Before After Reference: Oracle Magazine April 2014: Oracle 12c Multitenant Overview: http://www.oracle.com/technetwork/issue-archive/2014/14-mar/o24asktom-2147206.html
  • 34. 34© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 — Database-as-a-Service (DBaaS): - Oracle Cloud Database: — User-controlled patching performed through the DB Cloud Service Console - AWS RDS (Oracle DB or SQL Server): — Automatic application of minor-version upgrades — User-controlled major-version upgrades - Microsoft SQL Azure: — Patching handled by Microsoft Azure with no down-time — User-controlled patching options also available Simplify patching (continued) Goal
  • 36. 36© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Remember the first two goals: 1. Deploy/refresh PS environments in minutes-to-hours, not days-to-weeks 2. Automate repetitive administrative tasks Automate PS build and patching
  • 37. 37© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Starting with PeopleTools 8.55, Deployment Packages (DPKs) are the delivery mechanism. PS code, middleware, and (Oracle) database can all be provisioned on bare metal or virtual servers via DPKs — Run from command line — Scriptable — Customizable — Controlled with Puppet PeopleSoft deployment packages
  • 38. 38© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 The delivered properties used by Puppet are found in a series of psft_*.yaml files — psft_configuration.yaml: PS domain properties, PS users, passwords, etc. — psft_deployment.yaml: Properties used to deploy Tuxedo, WebLogic, Oracle DB client — psft_unix_system.yaml: Set up OS users, groups, sysctl parameters, ulimit, etc. — psft_ses.yaml: Properties Secure Enterprise Search DPK modifications
  • 39. 39© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 To modify default properties, change the file psft_customizations.yaml. — Example for Financials development (FSDEV) environment: peoplesoft_base: “/psft” db_platform: ORACLE ps_home_location: “/psft/pt855” inventory_location: “/psft/middleware/oracle/oraInventory” oracle_client_location: “/psft/middleware/oracle/12.1.0.2” jdk_location: “/psft/middleware/jdk1.7.0_95” weblogic_location: “/psft/middleware/weblogic” tuxedo_location: “/psft/middleware/tuxedo” db_name: FSDEV db_user: VP1 db_user_pwd: <some-pw> ps_config_home: “/psft/cfg/fs/FSDEV” ps_app_home: location: “/psft/app/fs/FSDEV” DPK modifications (continued) Reference: My Oracle Support Doc ID 1641843.2
  • 40. 40© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 PeopleSoft delivers Automated Configuration Management (ACM) to simplify the configuration of environments after a refresh. Delivered templates include: — Integration Broker — Web Profile — Process Scheduler — SES configuration ACM can be run via command line, enabling the configuration to be added as a scriptable step in a refresh. Automate PeopleSoft configuration
  • 41. 41© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 The ACM templates and customized YAML files should be treated as source code (Infrastructure as Code) and versioned appropriately. This allows for tracking and replication of infrastructure setups. Version control for ACM and puppet files ACM-FSDEV.txt ACM-HRDEV.txt psft_customizations.yaml ACM-HRTST.txt ACM-FSTST.txt
  • 43. 43© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Remember the third goal: … 3. Empower developers to handle common tasks … Developer enablement
  • 44. 44© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 — Problem: - Developers need to stage files or access files produced by PeopleSoft - Developers need to access trace files — Options: - Establish a Samba server on the AppBatch to expose the inbound/outbound directories. Developers can securely mount the Linux directories as Windows drives on their desktops and directly access files. - Establish a periodic/cron job to move trace files (*.tracesql, etc.) every few minutes to an accessible location Access to inbound/outbound directories, trace files
  • 45. 45© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 — Problem: - Developers/testers need to exercise outbound email functionality without sending emails to ‘real’ users — Option: - Establish a distribution email list for PS developers - Create a Perl (or similar) script to act as a local SMTP server and change the ‘to’ address to the distribution list before forwarding the email message - Run the Perl script as a service on a local machine - Point the app and batch domains at the local Perl SMTP server (psappsrv.cfg and psprcs.cfg) See Appendix for an example Perl script Intercept outbound PeopleSoft email
  • 46. 46© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 — Problem: - Developers have to request app domain cache clear — Option: - Use PHP and a shell script to execute the psadmin utility command line option to clear cache: PHP (clear-cache.php): <?php $output = shell_exec(‘sh /home/psoft/clear-cache.sh’); echo “<pre>$output</pre>”; ?> Script (/home/psoft/clear-cache.sh): #!/bin/sh sudo -i -u psoft psadmin –c purge –d APPDOMAIN –noarch –log “cache purge” Modify sudoers file (using visudo): www-data ALL=NOPASSWD: /home/psoft/clear-cache.sh Facilitate app domain cache clear via web page
  • 47. Change control Establish a reliable process to update production
  • 48. 48© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Remember the fourth goal: … 4. Standardize the process of releasing changes to production Change control
  • 49. 49© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 The migration path is the ‘pipeline’ to production. Changes should only flow in one direction. Migration path DEV TEST QAT PROD
  • 50. 50© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Region purpose Region Primary activities Primary audience Refresh frequency (Form production) DEV — Development — Unit testing — Testing of Oracle- delivered patches/features Developers Infrequently/on-demand TEST Business user testing and verification Business Users Monthly QAT Final quality assurance testing just prior to migrations to production QA Testers Tech Services Semi-weekly PROD Production All end-users N/A
  • 51. 51© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Sample change control schedule Mon Tues Wed Thurs Fri Sat Sun Week1 9am: Biz/Dev/Ops status meeting; review previous release 9am: Biz/Dev/Ops status meeting; review issue tracking system Phase activities: Development/unit testing in DEV region (Developers) User testing in TEST region (Business Users) Migrations done between DEV and TEST (Operations) Quality Assurance/User Acceptance Testing in QAT region Perform production maintenance in PROD Mon Tues Wed Thurs Fri Sat Sun Week2 9am: Biz/Dev/Ops status meeting; review issue tracking system 5pm: Deadline to identify candidate items for release All day: Refresh QAT and migrate candidate items 9am: QA team confirms final items for release 6am-noon: PRODUCTION maintenance window
  • 52. 52© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 — Business Users have visibility and input into development priorities — Developers have a reliable release schedule to plan development efforts — Testers understand what is in the pipeline for verification — Operations can plan application-specific and non-application maintenance in a reliable manner Organization interaction
  • 54. Thank you Brennan Folmer Director/KPMG bfolmer@kpmg.com Join the conversation @KPMG_U.S. #KPMGoow
  • 56. 56© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Prerequisites: — Install a Perl run-time (ActivePerl for Windows, various distributions for Linux) — Install the SMTP-Perl and Net-DNS packages smtp-redirect.pl Intercept outbound PS email ############################################################## # Description: This script listens for incoming SMTP # traffic, accepts the message, and resends # the message after switching the recipient's # address with the command line parameters # # Note: This software is provided as-is with no warranty of any kind. # # Usage: # smtp-redirect.pl <port> email1@domain.com[,email2@domain.com] # # Replace mail.domain.com with a valid SMTP server, and domain.com as appropriate # ############################################################## # Retrieve the command line arguments and validate them $port = $ARGV[0]; $to = $ARGV[1]; if (!$port || !$to) { print "Usage: $0 port user1@domain.com[,user2@domain.com,user3@domain.com]n"; print "Use a port > 1024. This will NOT send outside of *domain.comn"; exit; }
  • 57. 57© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Intercept outbound PS email (continued)if ($port !~ /^(d+)$/) { die "$port is not a valid port numbern"; } if ($to !~ /^(.*?)@(.*)$/ig) { die "$to is not a valid email address (should be user@domain.com or user1@domain.com,user2@domain.comn" ; } print "Listening on port $port, sending ALL MAIL to: "; # Validate that the TO addresses all match the proper domain foreach $addr (split(",",$to)) { if ($addr !~ /(.*)@*domain.com$/) { die "$addr is not in domain.com domain, I will not send mail there.n"; } else { print "$addr "; } } print "nrn"; use Carp; use Net::SMTP::Server; use Net::SMTP::Server::Client; use Net::SMTP::Server::Relay; use Net::SMTP; # Initiate an SMTP server on the local machine to listen for incoming traffic $server = new Net::SMTP::Server("localhost",$port) || croak("Unable to handle client connection: $!n");
  • 58. 58© 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 Intercept outbound PS email (continued)# Process incoming client requests while($conn = $server->accept()) { print "new clientn"; my $client = new Net::SMTP::Server::Client($conn)||croak("Unable to handle client connection: $!n"); print "about to ->processn"; $client->process|| next; print "processed..n"; ++$i; # Configure the destination SMTP server $smtp = Net::SMTP->new('mail.domain.com', debug => 1); # Set the FROM address (unchanged from the incoming message) $smtp->mail($client->{FROM}); # Set the TO address(es) from the command line arguments foreach $addr (split(",",$to)) { $smtp->to($addr); } # Include the original message. The original TO addresses are also included at the top of the message. $smtp->data("*********************nOriginal TO address(es): $client->{TO}[0] n*****************nn $client->{MSG}"); $smtp->dataend(); # End the SMTP session (send the mail) $smtp->quit; print ":[$i] $client->{FROM} -> ".join(",",@{$client->{TO}})."..n"; }
  • 59. © 2016 KPMG LLP, a Delaware limited liability partnership and the U.S. member firm of the KPMG network of independent member firms affiliated with KPMG International Cooperative (“KPMG International”), a Swiss entity. All rights reserved. NDPPS 589652 The KPMG name and logo are registered trademarks or trademarks of KPMG International. Some or all of the services described herein may not be permissible for KPMG audit clients and their affiliates. The information contained herein is of a general nature and is not intended to address the circumstances of any particular individual or entity. Although we endeavor to provide accurate and timely information, there can be no guarantee that such information is accurate as of the date it is received or that it will continue to be accurate in the future. No one should act on such information without appropriate professional advice after a thorough examination of the particular situation. Some or all of the services described herein may not be permissible for KPMG audit clients and their affiliates. kpmg.com/socialmedia