Real Time and Event Driven Automation: JAMS at Seminole Electric
About the Company
Seminole Electric Cooperative, Inc. provides competitively priced electric power to nine member cooperatives across Florida. Its advanced infrastructure supports power generation for 1.6 million people in 42 Florida counties. Seminole is one of the largest G&Ts (generation and transmission facilities) in the U.S., producing more than 13,865 GWH and maintaining more than 350 miles of transmission line.
Seminole’s transition from mainframe processing to distributed processing presented the electric cooperative’s IT team with an important choice. Continue to invest in Control-M, the cooperative’s original mainframe scheduling tool, or start to look at alternative solutions. The idea of continuing with a legacy scheduler was cost prohibitive and the platform was poorly aligned with automation cycles demanded by the core business.
The cooperative’s IT team often had to define separate jobs in order meet the needs of business users. One core application required a certain prerequisite file to be passed from one application to another. Rick Miller, Seminole’s Manager of Technical Support explained, “In Control-M we had a job that would run every hour to look to see if a file was created. And, if the file was present, the application could proceed.” This structure meant that users always had to wait for polling steps to complete. He added, “Sometimes they would wait an hour before they’d see their data appear in the other application.” Seminole referred to these jobs as “intervals” – jobs whose sole purpose was to check for an important condition repeatedly throughout the day.
Seminole’s implementation of Dynamics AX and its associated batch jobs added a new set of challenges. Initially, the cooperative picked a generic point in time, 11:00 PM, for these jobs to run. Senior Systems Administrator Rishi Maharaj explained how this time was outside the schedule “in hopes that other processes would be done.” A Thursday backup that included weekly consolidation of several databases frequently ran long, causing Dynamics jobs to fail. Invariably, Maharaj and his team would often spend Friday mornings troubleshooting and rerunning jobs.
JAMS provided the powerful scheduling and automation features Seminole needed to realize the value of its distributed computing environment. The centralized solution matched the trajectory of its business processes – from predominately time-based scheduling to event-based scheduling.
The cooperative replaced many of its “Interval” jobs with triggers. Maharaj describes the responsiveness JAMS provided to users. “Now, we’re leveraging file triggers. As soon as something happens in the database, it writes a file to the server. JAMS sees the file and it kicks off another job in real-time. We couldn’t do that in Control-M. Having things happen as soon as our users click a button is a significant improvement. They no longer have to wait every 5 minutes or every 10 minutes.” Seminole has applied similar database triggers to Oracle and SQL Server jobs (e.g. SSIS).
Miller and his team took advantage of custom execution methods. Since implementing JAMS, they’ve created their own execution methods that, after running a job, create a file with the job name and run date. These files enable Seminole to create complex dependencies.
Seminole easily migrated its nearly 200 Control-M jobs into JAMS. The cooperative now runs 2,000 jobs a day in JAMS and manages between 200 and 300 total job definitions. JAMS centralizes jobs ranging from PowerShell and command lines to core business applications such as PBS (Power Billing System), payroll and timesheet.
For Seminole, the benefits of JAMS have centered around real-time delivery of reports and data to business users and their applications. By leveraging triggers in jobs, Seminole has eliminated scheduling conflicts caused by batch processes that ran longer than expected. Maharaj says, “We have a whole chain of dependencies so that everything flows through JAMS.” Timing issues, such as a backup running too long, are easily handled with JAMS dependencies. Miller summed up the current state of affairs:
Seminole’s developers, who depend heavily on custom applications running continuously, have improved visibility with JAMS. They receive detailed reports of failed jobs each morning and can access log files immediately through JAMS alerts. Seminole now provides developers with comprehensive history files that include valuable job statistics (e.g. average elapsed time, longest run time, shortest run time) of jobs for the trailing 12-month period.
The cooperative has eliminated the need for a full-time operator that monitored the schedule while simultaneously improving user satisfaction. Although business users don’t know what’s happening in the background, they experience “immediate gratification.” JAMS file triggers have removed the slack from their multi-platform, multi-step processes.
JAMS helped Seminole achieve an event-driven schedule where order prevails regardless of the varying lengths and complexities of jobs. The core JAMS feature set, together with custom execution methods, provides the cooperative with the advanced scheduling and reporting functionality that its business processes demand.