What is our primary use case?
I have used Control-M for scheduling one of the data load jobs that was designed to run every month. We received millions of data and a Python script was scheduled to run whenever an update was received on this particular data source.
Control-M was also used for capturing and re-running failed jobs. In cases where a job was stuck based on an entry from a table, if the table was not updated, we would re-run it.
The data is managed using Postgres and Oracle databases.
Currently, Control-M has not been used to support AI or ML workloads, though this may occur in the future.
Scheduling of the data loads is one major functionality that Control-M has been able to help with. Control-M can trigger shell scripts, and one of the Python scripts was invoked using a shell script and scheduled from Control-M. If the Python script could be directly invoked from Control-M, that would be one of the features that could have made it more effective.
How has it helped my organization?
Control-M is a scheduling tool and has helped us schedule our tasks that could have been manually done and missed. It saved us a lot of time by doing it at the right time in a scheduled way.
What is most valuable?
The best features Control-M offers include the ability for ad hoc job runs. We can delete, edit or modify any jobs, though in case of production, it requires a change request. The migration was done in a secured way, which avoided glitches that could happen in production.
The ad hoc job run feature saved time for my team because whenever a job was stuck, it immediately triggered the alternative and ensured that the job was completed. This saved a lot of manual effort of going back and checking.
Regarding Control-M's governance and security, they are quite secure since deployments on higher environments do not happen directly without a change request. This ensures that the development and quality assurance environment is working properly, and only then can we proceed to the production environment.
What needs improvement?
Control-M has most of the features we were looking for, but the UI could be more user-friendly for beginners. This was a challenge I faced immediately. More tutorial videos could also help.
Control-M could have been easier for beginners through a more intuitive user interface or by adding more introductory videos or tutorials.
When a particular job fails, there is a feature in Control-M where we can email notifications. However, on constant failures, such as when a scheduled job runs every five minutes, back-to-back emails would spam the group. It would be better if there were a self-healing process on the job, such as automatically pausing or stopping it if there is continuous failure, which would avoid the spam.
For how long have I used the solution?
I have been using Control-M for a few months.
What do I think about the stability of the solution?
What do I think about the scalability of the solution?
Control-M's scalability is good.
Which solution did I use previously and why did I switch?
Previously, a manual approach was being used where the Python script was directly invoked, which was time-taking and caused us to miss updates. Once Control-M was implemented, it happened in a scheduled manner, saving time and occurring on the accurate date when the update was received.
How was the initial setup?
Initially, I ran into challenges with Control-M where we used the graphical user interface, and it was difficult to adapt to that UI. However, once we set up everything, it was easier to use and continue with Control-M for the scheduling purpose.
Control-M is deployed in my organization on-premises. We have an internal GitLab pipeline running for the job. This is how we migrated from development to quality assurance to production.
What's my experience with pricing, setup cost, and licensing?
These would be managed by the infrastructure team.
Which other solutions did I evaluate?
As soon as I started working with this team, Control-M was already being used.
What other advice do I have?
On a scale of one to ten, I would rate Control-M an eight.
I chose eight because it could have been much better. There is room for improvement, and it did help save time on the task that I worked on.
If you are looking for a good scheduling tool or a tool that can manage many scripts, you can choose Control-M.
Which deployment model are you using for this solution?
On-premises
Disclosure: My company does not have a business relationship with this vendor other than being a customer.