Using OSGi within the Salesforce.com Data Center Automation Initiative
Salesforce.com is heavily invested in automating its worldwide data centers and their operations. The goal is to perform the workflows of the entire data center lifecycle from the bootstrapping of physical servers to the deployment and maintenance of applications. The expectation is that this will have two important effects. One, it will reduce risk by making workflows more deterministic and less prone to human error. And two, it will relieve the burden of human operators to do simple, everyday tasks and instead allow them to concentrate their time on more complicated tasks like troubleshooting and diagnostics.
Because the data center is at the core of Salesforce.com’s business, there is extra emphasis placed on engineers to write software systems which are easy to reason about, test, configure, and be deployed with minimal down time. As such, several of the data center automation software teams have embraced the OSGi framework to help them meet these goals.
These teams have found that the principle of separated software services as enforced by the OSGi framework have eased the design, implementation and deployment of such critical software systems. In addition, the framework is providing key functionality like Declarative Services for dependency injection and Config Admin for configuration injection which are instrumental in making these software projects successful.