OpenWhisk is an open source serverless cloud platform that runs user-provided code in response to events or direct invocations. It was started by IBM and supports multiple programming languages and invocation models. The OpenWhisk architecture uses Nginx as an API gateway, a Scala controller to handle requests, Consul for service discovery, Kafka for messaging, Docker containers to run code, and CouchDB for persistent storage. This allows user code to be quickly deployed and executed in response to events in a scalable and reliable manner.