Cloud systems are complex. They are typically highly distributed systems that need to fulfill high expectations of their users. This requires a different approach when creating the system.
In order to provide the best user experience in your product, it is important to take care of all parts of the implementation:
User Interface
Cloud endpoints
Databases
Middleware
Cloud implementation
Infrastructure-as-a-service
3rd party Platform-as-a-service
3rd party Software-as-a-service
3rd party libraries
IoT devices and their firmware
Network
If only one of these fails, the user experience starts to degrade. This can very well lead to the product failing, since users will learn about your product having difficulties and competitors products being better.
It is our strong belief, that, while not being able to understand every little detail of every part of an implementation, it is still very important to be able to take details of at least all critical parts into consideration to a degree defined by the product vision – make educated, economical decisions on
Bridge the gap between the (economical) business model and the technical reality. Put the product and its User Experience at the center and build the product around it, using technical approaches that enable lasting success of the product.
In the end, there’s no “magic” in the cloud that miraculously lets your software scale and become highly available. This needs to be built into the product – in the best case right from the beginning.