Originally posted on IBM Developer blog “Exploring PureApplication System, Software Service and more” by Sandeep Minocha on 2 February 2017 (6028 visits)
Many clients have requirements to perform custom configuration and/or installation of custom software. I often recommend them to first automate using a simple shell or python script and then proceed to building simple Script Packages. However Software Components can often be used as well, so how does one choose between the two? The table below should help make that choice easier.
| Quality of Service/Criteria | Software Component | Script Package |
| Attributes | Many attribute types available. | Limited number of attribute types available. One key type missing is a file attribute type, however you can use ‘Additional file’ software component as a workaround. |
| Resource and platform requirements | Yes (can specify vCPU, vMemory, vStorage and OS requirements) | No |
| Operations | Yes | No but workaround is to create on-demand script packages. |
| Stop/restart/delete instance | Yes via stop.py and start.py lifecycle scripts | Very limited. ie. when script package is set to run on delete, otherwise must do it directly at the OS level by creating a system service to run a script on reboot. |
| Maintenance | Can supply a maintenance.py lifecycle script to run between the install and configure phases. | No hook for a special maintenance.py script. |
| Lifecycle scripts | Yes including install.py, configure.py, maintenance.py, start.py and stop.py. | No although its equivalent to the start.py script. |
| Branding | Yes (can specify a custom icon for your software component) | No (cannot change the script package icon) |
| Packaging | Plugin TGZ file | ZIP file |
| Debugging/troubleshooting | Yes but complex; not easy to find logs | Yes – much easier to find logs |
| Disable Base Scaling Policy | Yes | No |
| Console Links | Yes | Yes |
| Licensing tracking | Yes | Yes |
| Tooling | Yes (PDK) | Yes (PDK) |
| Maestro APIs | Yes | Yes (assuming python script) |
| Register logs to the Log viewer | Yes | Yes (assuming python script) |
| Import Permissions | Workload resources administration full permission | Create new catalog content |