1. A method comprising: collecting information from a plurality of components of a software system; storing the collected information in a data repository; parsing a compliance policy for the software system to determine a compliance test that includes a predefined database query for the data repository, wherein the database query produces a result which indicates whether the software system is in compliance with a configuration requirement for the software system; determining whether the software system violates the compliance policy by performing the database query of the compliance test on the data repository; in response to determining that the software system violates the compliance policy: generating a change recommendation based on a suggested solution to the policy violation included in the compliance policy; and providing the change recommendation; re-evaluating the software system using the compliance policy; and in response to determining that the software system conforms to the compliance policy, clearing both the violation and the change recommendation.