X

An Oracle blog about PeopleSoft Technology

Cut Your Costs Using Scheduled Start-Stop For PeopleSoft Environments Using PeopleSoft Cloud Manager

Arvind Panicker
Software Engineer - Application Development

 

Flexibility Reduces Cost

One of the big motivators for enterprises to move to the cloud is reduced IT infrastructure expenses. Non-production instances of PeopleSoft environment are not always required to be up and running. Instances used for demo, training, and testing are required to be up only during specific time periods. PeopleSoft Cloud Manager Image 11--released in July 2020--gives you the ability to achieve this by enabling you to start and stop your PeopleSoft instances that are managed by PeopleSoft Cloud Manager, saving on IT spending.

You can perform start/stop manually through related actions of an environment in Cloud Manager UI as shown below. Stopping the instance stops the Virtual Machine and pauses the OCPU billing.

Environment Tile

You can also automate the stopping and starting of environments by scheduling them using the Cloud Manager's REST services. Apart from saving on cost, it also eliminates mundane tasks that take your time. You will need the latest PeopleSoft Cloud Manager 11 and a basic understanding of how Cron job works. You may use the Cloud Manager instance to set up and run the Cron job tasks.

The process involves doing the following 3 activities:

  1. Enable REST Endpoints for start/stop operations
  2. Get Instance ID details of the target PeopleSoft instances
  3. Set up Cron Job

 

1. Enable REST Endpoint for start/stop operations

The first step is enabling the PUT operation REST Endpoint in Cloud Manager to start and stop the environments. Log into PeopleSoft Cloud Manager, navigate to Navigator→PeopleTools→Integration Broker→Integration Setup →Services. In the search bar, enter ECL_ENV_SERVICE, check the "Rest Service" and search. Select the ECL_ENV_SERVICE from the results.

Search Results for REST Services

Select ECL_ENVIRONMENT_PUT.v1 from the list of HTTP operations available.

HTTP Method List for Environment Operations REST Service

In the General tab, select User/Password Required checkbox and select Basic Authentication from the dropdown.

General Tab

Now, we need to enable this service. Scroll down and in the Default Service Operation Version section, click Active checkbox.

General Tab - Default Service Operation Version Section

Now go to the Handlers tab and change the status to Active.

Handlers Tab

Finally, go to the Routings tab, select both the routes and click the Activate Selected Routings button. Click the Save button. 

Routing Tab

 

2. Get Instance ID details of the target PeopleSoft instances

PeopleSoft Cloud Manager is comprised of various environments that have multiple nodes within them. These environment details are stored in a table called PS_ECL_INSTANCE and each environment has an ID associated with it. This ID is stored under field ECL_INSTANCE. To start and stop an environment, we need to know it's ID. To get the ID of the environment, we connect SQL Developer to Cloud Manager using it's TNS Entry and we query the table PS_ECL_INSTANCE and get the field value for ECL_INSTANCE using the environment name. 

The query will look something like this,

select ECL_INSTANCE, ECL_INSTANCE_TYPE from PS_ECL_INSTANCE where ECL_INSTANCE_TYPE='<env_name>';

The output will be,

Query Result

Note the instance ID of the environments identified for stop/start scheduling.

Once this is done, you can do a simple test to see if the REST Endpoint is working by doing the curl command in bash to start an environment. For example,

curl --insecure -k1 --user CLADM:<password> -X PUT  <cm_url>/PSIGW/RESTListeningConnector/PSFT_PA/environment.v1/<env_id>?action=start

This will give the following output "starting Environment <environmentName>", if not, you've not activated the REST Endpoint or set up the REST Endpoint URL correctly or the passed user credentials.

 

3. Set Up Cron Job

Once we have successfully enabled the REST Endpoint and gotten the instance ID, we can proceed to setting up the Cron job. SSH into the CM Instance and use the crontab -e command to add the start and stop jobs. In the editable screen that pops up after entering the command, enter the following two lines with the appropriate values for password, cm_url, and env_id. Exit as you would from a vim or vi editor.

 

30 1 * * 1-5 /usr/bin/curl --insecure -k1 --user CLADM:<password> -X PUT  <cm_url>/PSIGW/RESTListeningConnector/PSFT_PA/environment.v1/<env_id>?action=start >/dev/null 2>&1

30 12 * * 1-5 /usr/bin/curl --insecure -k1 --user CLADM:<password> -X PUT <cm_url>/PSIGW/RESTListeningConnector/PSFT_PA/environment.v1/<env_id>?action=stop >/dev/null 2>&1

 

Note that Cron job makes use of the system time it's running on. You have successfully configured the start/stop now. You will have the environment start and stop at the time specified in the cronjob automatically. 

The stop services stop all the instances except DBaaS to pause OCPU billing for the compute instances. Block volume billing continues even during the stopped state of the instance. The start services start all the instances and the domains and services within them.

For more information on Cloud Manager, please check here

 

 

Join the discussion

Comments ( 1 )
  • arvind rajan Thursday, September 3, 2020
    This is a very useful feature. Can CM also include a DbaaS start stop feature that can be automated?
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.