There are many ways to customize the Apprenda Platform as a Service (PaaS) to better the needs of a customer. For example, workflow extensions can accomplish integrations, changing management systems to enforce policy and governance. Or, through the Apprenda Add-On system, you can easily expose off-platform resources, including message queues, off-platform data storage, and more. But perhaps the most powerful customization available is the ability to create bootstrap policies.
The term bootstrapping is well known and has existed in computing circles for a long time. When a computer starts, it “bootstraps” all the requirements necessary to manage its hardware components. When an OS starts up, it loads smaller programs that are responsible for various things.
At Apprenda, we use the term “bootstrapping” to describe the process of allowing the PaaS to customize an application workload by adding or removing capabilities to it while it’s being deployed, just before the workload process starts. With this in mind, we’d like to share three examples of Apprenda bootstrap policies.
As a Platform Operator, you can leverage a bootstrap policy to customize the logging behavior of guest applications on the platform. The policy could inspect the configuration of the component being deployed, detect logging frameworks, and modify their configuration to redirect all application logging to your enterprise logging solution. Developers don’t have to worry about figuring out how to setup their logging configuration, as the policy can take care of it and make sure all application logs end up where they are supposed to be.
Another typical use of bootstrap policies is to provide developers with opt-in or opt-out features. By leveraging custom properties, you can expose these toggles to developers so they can customize the behavior of their applications on the PaaS. Some examples that we have seen implemented include injecting different SSO implementation into a workload, adding application performance monitoring, and even using Maven to pull in dependencies during the bootstrapping process. From the developer’s point of view, these become new features of the platform and adds to the value of hosting applications on Apprenda.
In a final example, let’s assume there is already an existing service within the enterprise that contains a list of libraries and their versions that are known to contain vulnerabilities. This service could be leveraged from within a bootstrap policy to verify that the workload being deployed does not contain any vulnerabilities prior to deploying the component, thus preventing a potential security hazard.
The Apprenda PaaS provides many ways to achieve different types of integrations with other systems within an enterprise. The few examples I laid out above are only a small set of possibilities. Bootstrap policies are the only way to get access to the application component being deployed and this provides them with the opportunity to inject functionality and enhance the application being deployed.
Questions or comments? Reach out to us in the comments below or at our contact page.