1. A method comprising: using, by one or more computing devices, a system definition model in a development phase of a system to design the system, the system definition model including one or more requirements of the system to be satisfied by an environment of which the system is to be deployed in order for the system to run in the environment, wherein the system includes an application; validating the environment for the system, by the one or more computing devices, by comparing the one or more requirements of the system with the environment of which the system is to be deployed to determine whether the one or more requirements of the system are satisfied by the environment during the development phase; validating the system for the environment, by the one or more computing devices, by comparing the one or more requirements of the environment with the system to determine whether the one or more requirements of the environment are satisfied by the system during the development phase; subsequently using, by the one or more computing devices, the system definition model in a deployment phase of the system to deploy the system on at least one of the one or more computing devices; after deployment of the system, calling, by the one or more computing devices, one or more functions defined within the system definition model during a management phase of the system to manage the system deployed on the at least one of the one or more computing devices; and integrating the development phase, the deployment phase, and the management phase in a lifecycle of the system based on the system definition model.