Eclipse Ditto is a framework for providing the "Digital Twin" pattern for IoT applications.
Ditto mirrors physical devices as digital representations in the cloud. As a web or mobile app developer you can interact with those digital twins as if they were any other web service, that's why we also like to speak about enabling "device as a service".
A few of the main features are access control, a search over all twin data and push notifications. There are various APIs in order to interact with the devices: a REST, WebSocket, AMQP and MQTT API. Ditto is designed with scalability in mind, so managing millions of twins is possible.
The benefit when developing IoT applications or solutions is that no own backend must be implemented, the focus can be set on the use case: for example device integration and app or web UI implementation.
Ditto is already used in production at Bosch and shows that digital twins are becoming reality.