Our philosophy

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.

Wholistic view

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

  • where to keep technical black boxes and to accept the corresponding risks,
  • where to have grey boxes with a rough understanding of the core work that part does and
  • which parts to understand more in-depth to end up having white boxes with the smallest amount of risk.

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.