We've seen how Heroku uses Buildpacks, while OpenShift and WSO2 use Cartridges for cloud app portability. I wanted to look back on another informative post from the OpenShift blog that lays out the capabilities of cartridges.
OpenShift cartridges have an amazing amount of functionality but there are two capabilities that are my favorite:
• Providing a first class way to interact with each other, even across multiple machines
• Giving the cartridges the ability to influence their deployment topology (i.e. can they run embedded with other cartridges or do they scale differently)
– Matt Hicks
Cartridges are extremely convenient because they handle the database drivers for you. They also wire together other components and implement auto-scaling and other functionality.