Where cloud providers offer services that include running the remote hardware, storage, and networking (i.e., the infrastructure), but client firms can choose software used (which may include operating systems, programming languages, databases, and other software packages). In this scenario, the cloud firm usually manages the infrastructure (keeping the hardware and networking running), while the client has control over most other things (operating systems, storage, deployed applications, and perhaps even security and networking features like firewalls and security systems).