Automating Peoplesoft Environments in The Aws Cloud: April 2019
Automating Peoplesoft Environments in The Aws Cloud: April 2019
© 2019 Amazon Web Services, Inc. and The Burgundy Group, Inc. All rights reserved.
Contents
Automations Approach ........................................................................................................1
Benefits of Automating PeopleSoft Environments in the AWS Cloud ...............................2
Amazon Web Services Functionality in Use .......................................................................4
Network.............................................................................................................................4
Compute ...........................................................................................................................5
Storage .............................................................................................................................6
Database ..........................................................................................................................6
Automation Tools in Action .................................................................................................7
Docker ..............................................................................................................................7
AWS CloudFormation ......................................................................................................9
Amazon ECS ....................................................................................................................9
Amazon RDS....................................................................................................................9
Environment Architecture ..................................................................................................10
Amazon ECS Service Design ........................................................................................11
Scalable Production Deployment...................................................................................12
Scalable Production Deployment...................................................................................14
Development in Automated Environments .......................................................................16
Migrating Data ...................................................................................................................17
Network and Security Design ............................................................................................18
Deploying the Solution ......................................................................................................19
Managing the Solution .......................................................................................................20
Conclusion .........................................................................................................................21
Contributors .......................................................................................................................21
Document Revisions..........................................................................................................21
Abstract
This whitepaper describes an approach for automating the creation of Oracle
PeopleSoft (PeopleSoft) environments in the Amazon Web Services (AWS) Cloud. This
approach uses currently available AWS products and services whenever possible, and
uses AWS recommended tools to migrate client data and construct the environment-
creating automations. The approach has a material impact on the flexibility, consistency,
stability, scalability, security, and cost of PeopleSoft environments in the AWS Cloud.
Amazon Web Services Automating PeopleSoft Environments in the AWS Cloud
Automations Approach
Numerous enterprises have successfully migrated their Oracle PeopleSoft (PeopleSoft)
applications to the Amazon Web Services (AWS) Cloud. The majority of these
migrations have been lift-and-shift projects, which are projects in which a static
architecture, similar to the enterprise’s previous on-premises-based deployment, is
recreated in the AWS Cloud. Such enterprises have effectively used the AWS
infrastructure as a service (IaaS) offering to outsource their data centers to the AWS
Cloud.
This approach fails to fully benefit from the on-demand capabilities of AWS services.
The suggested approach outlined in this paper uses currently available AWS products
and services, with AWS-supported automation tools, to build fully automated PeopleSoft
environment-creating solutions (the Automations). After the enterprise’s data has been
migrated to the AWS Cloud, new PeopleSoft environments can be created in about 40
minutes. This includes restoring the database, building out and configuring the web,
app, and batch servers and the accompanying file systems, and properly integrating the
components all within a virtual private cloud in AWS.
Page 1
Amazon Web Services Automating PeopleSoft Environments in the AWS Cloud
Page 2
Amazon Web Services Automating PeopleSoft Environments in the AWS Cloud
7. Economics – Because AWS charges hourly for their services, and because
environments can be launched and scaled so quickly, clients can regularly right-
size their environments for ongoing or one-time needs. This also enables clients
to establish policies for terminating non-production environments on nights and
weekends. This flexibility saves money by reducing the AWS services consumed
to only what is required at any given time.
These Automations have a material, positive impact on an enterprise’s ability to
successfully and economically operate PeopleSoft environments in the AWS Cloud.
Page 3
Amazon Web Services Automating PeopleSoft Environments in the AWS Cloud
Network
Amazon Route 53
Amazon Route 53 is a highly available and scalable cloud Domain Name System (DNS)
web service. It is designed to give developers and businesses an extremely reliable and
cost-effective method to route end users to internet applications. DNS translates human
readable names (such as www.example.com) into the numeric IP addresses (such as
192.0.2.1) that computers use to connect to each other.
Amazon VPC
Amazon Virtual Private Cloud (Amazon VPC) lets you provision a logically isolated
section of the AWS Cloud where you can launch AWS resources in a virtual network
that you define. You have complete control over your virtual networking environment,
including selection of your own IP address range, creation of subnets, and configuration
of route tables and network gateways. You can use both IPv4 and IPv6 addresses in
your Amazon VPC for secure and easy access to resources and applications. You can
easily customize the network configuration for your Amazon VPC.
For example, you can create a public-facing subnet for your web servers that has
access to the internet, and place your backend systems, such as databases or
application servers, in a private-facing subnet with no internet access. You can leverage
multiple layers of security (including security groups and network access control lists) to
help control access to Amazon EC2 instances in each subnet. Additionally, you can
create a hardware virtual private network (VPN) connection between your corporate
data center and your Amazon VPC, and leverage the AWS Cloud as an extension of
your corporate data center.
Page 4
Amazon Web Services Automating PeopleSoft Environments in the AWS Cloud
Compute
Amazon EC2
Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides secure,
resizable compute capacity in the cloud. It is designed to make web-scale computing
easier for developers.
Amazon ECR
Amazon Elastic Container Registry (Amazon ECR) is a fully-managed Docker container
registry that makes it easy for developers to store, manage, and deploy Docker
container images. Amazon ECR is integrated with Amazon Elastic Container Service
(Amazon ECS), which simplifies the development to production workflow.
Amazon ECS
Amazon EC2 Container Service (Amazon ECS) is a highly scalable, high-performance
container management service that supports Docker containers. It enables you to easily
run applications on a managed cluster of Amazon EC2 instances. Amazon ECS
eliminates the need for you to install, operate, and scale your own cluster management
infrastructure. With simple API calls, you can launch and stop Docker-enabled
applications, query the complete state of your cluster, and access many familiar
features such as security groups, Elastic Load Balancing, Amazon Elastic Block Store
(Amazon EBS) volumes, and AWS Identity and Access Management (IAM) roles. You
can use Amazon ECS to schedule the placement of containers across your cluster
based on your resource needs and availability requirements. You can also integrate
your own scheduler or third-party schedulers to meet specific business or application
requirements.
ELB
Elastic Load Balancing (ELB) automatically distributes incoming application traffic
across multiple Amazon EC2 instances. It enables you to achieve greater levels of fault
tolerance in your applications, seamlessly providing the required amount of load
balancing capacity needed to distribute application traffic.
Page 5
Amazon Web Services Automating PeopleSoft Environments in the AWS Cloud
Storage
Amazon EBS
Amazon Elastic Block Store (Amazon EBS) provides persistent block storage volumes
for use with Amazon EC2 instances in the AWS Cloud. Each Amazon EBS volume is
automatically replicated within its Availability Zone to protect you from component
failure, offering high availability and durability. Amazon EBS volumes offer the
consistent and low-latency performance needed to run your workloads. With Amazon
EBS, you can scale your usage up or down within minutes—all while paying a low price
for only what you provision.
Amazon EFS
Amazon Elastic File System (Amazon EFS) provides simple, scalable file storage for
use with Amazon EC2 instances in the AWS Cloud. Amazon EFS is easy to use and
offers a simple interface that allows you to create and configure file systems quickly and
easily. With Amazon EFS, storage capacity is elastic, growing and shrinking
automatically as you add and remove files, so your applications have the amount of
storage they need, when they need it.
Amazon S3
Amazon Simple Storage Service (Amazon S3) is object storage with a simple web
service interface to store and retrieve any amount of data from anywhere on the web. It
is designed to deliver 99.999999999% durability, and scales past trillions of objects
worldwide.
Database
Amazon RDS
Amazon Relational Database Service (Amazon RDS) makes it easy to set up, operate,
and scale a relational database in the cloud. It provides cost-efficient and resizable
capacity while managing time-consuming database administration tasks, which frees
you up to focus on your applications and business. Amazon RDS provides you six
familiar database engines to choose from, including Amazon Aurora, PostgreSQL,
MySQL, MariaDB, Oracle, and Microsoft SQL Server.
Page 6
Amazon Web Services Automating PeopleSoft Environments in the AWS Cloud
In some ways, Docker is similar to virtual machine software. Like virtual machine
software, Docker automates the creation of a well-defined and consistently deployed
workspace. Unlike virtual machine software, Docker accomplishes this by sharing the
host operating system kernel and using kernel functionality to create an isolated
workspace.
Page 7
Amazon Web Services Automating PeopleSoft Environments in the AWS Cloud
Docker uses the kernel in the host machine to create an isolated workspace, known as
a container, where an application and its dependencies can run consistently and
reliably.
The process to create a container begins with a Dockerfile, which is a script written in
the Go programming language, composed of various commands and arguments listed
successively, which perform actions on an existing, base Docker image to create a new,
more specialized Docker image.
The Docker Engine uses the Docker build command to convert the commands and
arguments in a Dockerfile into an image. The Docker Engine comprises a command line
interface (CLI), an API, and a daemon. The daemon is the long running software that
manages Docker images and containers.
An image is a binary file created by the Docker Engine using the build command and
the instructions in the Dockerfile.3 The image is based on the Open Container Initiative
(OCI) standard format. The image file contains an ordered collection of root filesystem
changes (the filesystem changeset) and the corresponding execution parameters
(described in JSON format) for use within a container runtime (the container component
Page 8
Amazon Web Services Automating PeopleSoft Environments in the AWS Cloud
of the Docker Engine).4 Each pair of changesets and parameters creates a layer within
the image. Each layer is a read-only file generated by running a command from a
Dockerfile.5
AWS CloudFormation
AWS CloudFormation is an AWS service through which users can create a template
that describes all the AWS infrastructure resources needed to create user-defined
services. AWS CloudFormation takes care of provisioning and configuring all the
specified infrastructure components and services. The AWS CloudFormation template
describes exactly what resources are provisioned and their settings. Templates are text
files, so users can see the differences in template versions and track changes in their
infrastructure solution. 6
Amazon ECS
Amazon Elastic Container Service (Amazon ECS) is a scalable, container management
solution that supports Docker containers. Amazon ECS schedules, runs, and scales
containerized applications on AWS. Amazon ECS can launch and stop Docker-enabled
applications, query the complete state of such applications, and access many AWS
features, such as IAM roles, security groups, load balancers, and AWS CloudFormation
templates.7
Amazon RDS
Amazon Relational Database Service (Amazon RDS) is a web service that simplifies the
setup, operation, and scaling of a relational database in the AWS Cloud. Amazon RDS
provides cost-efficient, resizable capacity for an industry-standard relational database,
and manages common database administration tasks. 8
Page 9
Amazon Web Services Automating PeopleSoft Environments in the AWS Cloud
Environment Architecture
The application architecture of a PeopleSoft environment in the AWS Cloud was
designed to be scalable for production environments and flexible for smaller workloads
of non-production environments. Using AWS CloudFormation and Amazon ECS
ensures that each environment is deployed and configured in a consistent manner.
Below is a high-level architecture of all of the components that are deployed as part of
the AWS CloudFormation deployments for each environment.
Figure 3 – Architecture for PeopleSoft in AWS with Amazon ECS and Amazon RDS
The AWS CloudFormation templates create the VPC (virtual private cloud), load
balancers, Amazon EC2 servers, Amazon ECS clusters, and Amazon RDS instances,
that form the environments. The Amazon VPC restricts access to the environments to
only customer-approved users.
Page 10
Amazon Web Services Automating PeopleSoft Environments in the AWS Cloud
Automation scripts and AWS CloudFormation are used to generate two types of
deployments: one for the production environment and one for the non-production
environments. The automation scripts for both the production and non-production
environments use all of the same components, however, they are composed and
behave differently.
Page 11
Amazon Web Services Automating PeopleSoft Environments in the AWS Cloud
In this example, there are three Amazon ECS service clusters defined. This allows each
component to be scaled independently. For example, the following diagram shows how
Page 12
Amazon Web Services Automating PeopleSoft Environments in the AWS Cloud
this architecture can be scaled up from a minimal footprint to handle regular, business-
hour traffic in the web application.
In this example, the web/app service cluster has been scaled up to support more end
users. It is not necessary to scale up the IB tasks or batch clusters, so they maintain a
minimal footprint.
This architecture can be scaled up even further to handle peak usage during special
events. Examples for such special events are priority registration times for Campus
Solutions or open enrollment for Human Capital Management. This architecture is
designed to handle such events by only scaling the components required to handle
those special events. The following is an example of a peak, special event deployment
footprint.
Page 13
Amazon Web Services Automating PeopleSoft Environments in the AWS Cloud
Similar to off-peak hours, peak-hours, and peak, special event times in production
environments, non-production environments can be configured to only use the
resources required at the time to meet business needs. Non-production environment
usage can be configured into normal-business-hour and non-business-hour
deployments. For example, you might want all non-production environments to be
available from 7:00 AM to 7:00 PM, Monday through Friday. In non-business hours, you
might not need to access those resources, so, from 7:00 PM to 7:00 AM, Monday
Page 14
Amazon Web Services Automating PeopleSoft Environments in the AWS Cloud
through Friday and on weekends, the environments can be terminated so you are not
paying for resources that are not in use.
Page 15
Amazon Web Services Automating PeopleSoft Environments in the AWS Cloud
Enhancements that reside inside the database are captured in the database image
when it is created and archived when it is terminated. Those enhancements are created
again when you relaunch the non-production database. These enhancements do not
cause issues for the Automations.
Enhancements that reside in a file system that is outside the database must be
captured and managed separately through processes other than database artifacts.
Such enhancements include custom or customized SQLs, customized COBOLs, and
custom Java classes.
The Automations rely on two open source solutions—Bitbucket and Git—to store and
manage the filesystem enhancements, and to make them available to the Automations.
Git is an open-source version control solution. Bitbucket is a Git repository, which is
essentially a folder with successively saved or committed versions of a project. Git
manages the versions and Bitbucket stores the versions. The Automations pull the
relevant customizations into the associated environment implementations through Git
commands.
The Automations pull the correct state of the file-based enhancements from the
associated branches of the Bitbucket repository. This enables the Automations to
launch the environments with the appropriate state of the file-based enhancements.
Page 16
Amazon Web Services Automating PeopleSoft Environments in the AWS Cloud
Migrating Data
Among the greatest challenges in migrating an enterprise application is migrating the
data. The primary tools that you can use to migrate data for Oracle databases are AWS
Database Migration Service (AWS DMS), AWS Snowball (Snowball), Oracle Data Pump
(Data Pump) and Oracle Materialized Views (Materialized Views).
AWS DMS is a web service that you can use to migrate data from an on-premises
database, an Amazon RDS instance, or a database on an Amazon EC2 instance, to an
Amazon RDS database instance or to a database on an Amazon EC2 instance. AWS
DMS can also migrate a database from an AWS service to an on-premises database.
AWS DMS can migrate data between heterogeneous or homogeneous database
engines.9 In the authors’ experience, AWS DMS is an excellent service for smaller
databases but might be less reliable for enterprise-class data migrations.
AWS Snowball accelerates transferring large amounts of data into and out of AWS
using physical storage devices, which enables you to bypass the internet. Each
Snowball device type can transport data at faster-than internet speeds. The devices
with the data are shipped through a regional carrier.10 Because Snowball relies on
physical delivery of an appliance to complete the migration, it can create timing
uncertainties for migration.
Data Pump provides server-side infrastructure and high-speed, parallel export and
import utilities for highly efficient bulk data and metadata movement between
databases.11 Data Pump is a reliable method of migrating data, but does not include
delta refresh functionality.
Page 17
Amazon Web Services Automating PeopleSoft Environments in the AWS Cloud
AWS DMS ✓ ✓
AWS Snowball ✓
Data Pump ✓ ✓
Materialized Views ✓ ✓ ✓
Page 18
Amazon Web Services Automating PeopleSoft Environments in the AWS Cloud
Because Amazon ECS functionality allows architects to design tasks that are both
launched and monitored automatically, if a task fails, Amazon ECS tries to launch a new
task, as defined by the user, in either the original availability zone or the alternate
availability zone.
AWS features a shared responsibility security structure.13 Only AWS staff have access
to AWS data centers, servers, storage, and other appliances. Only AWS account
holders have access to applications and data. All of the AWS services described in this
architecture exist in a VPC. Access to the VPC is controlled solely by the AWS account
holder. The application, data, and services in the VPC are also controlled exclusively by
AWS account holders, based on their security roles, processes, and procedures.
Page 19
Amazon Web Services Automating PeopleSoft Environments in the AWS Cloud
Page 20
Amazon Web Services Automating PeopleSoft Environments in the AWS Cloud
Conclusion
AWS provides a tremendous amount of on-demand infrastructure services for cloud
storage. Until recently, PeopleSoft users who migrated to AWS have used the many
AWS infrastructure services with a data center outsourcing model. Though this model
uses AWS infrastructure services, the implementation is subject to the same pillar-by-
pillar inconsistencies and degradation over time as an on-premises implementation.
PeopleSoft administrators and users can get great administrative and economic benefits
from using AWS services as on-demand infrastructure services.
Contributors
Authors of this document include:
Document Revisions
Date Description
April 2019 First publication
Page 21
Amazon Web Services Automating PeopleSoft Environments in the AWS Cloud
Notes
1 Overview of Amazon Web Services
http://d0.awsstatic.com/whitepapers/aws-overview.pdf
2 Docker Overview
https://docs.docker.com/engine/docker-overview/
3 Images and Containers
https://docs.openshift.com/enterprise/3.0/architecture/core_concepts/containers_and_i
mages.html
4 Docker Image Specification v1.0.0
https://github.com/moby/moby/blob/master/image/spec/v1.md
5 Digging Into Docker Layers
https://medium.com/@jessgreb01/digging-into-docker-layers-c22f948ed612
6 What is CloudFormation?
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html
7 Amazon Elastic Container Service
https://aws.amazon.com/ecs/
8 What is Amazon Relational Database Service (Amazon RDS)?
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html
9 AWS Database Migration Service Documentation
https://docs.aws.amazon.com/dms/index.html#lang/en_us
10 AWS Snowball User Guide
https://docs.aws.amazon.com/snowball/latest/ug/whatissnowball.html
11 Oracle Data Pump Overview
https://www.oracle.com/technetwork/documentation/data-pump-overview-084963.html
12 Materialized Views In Oracle
https://www.databasejournal.com/features/oracle/article.php/2192071/Materialized-
Views-in-Oracle.htm
13 AWS Security Best Practices
https://d1.awsstatic.com/whitepapers/Security/AWS_Security_Best_Practices.pdf
14 AWS Auto Scaling
https://aws.amazon.com/autoscaling/
Page 22