These days we often hear that the solution is to go to the cloud. But why?
We noticed that cloud is all the rage in tech these days. Even in the field of embedded development, there is a growing desire to move development into or with the cloud.
We have summarized for you the TOP 3 reasons why our automotive customers are striving to move to the cloud from a user perspective.
Reason #1 – the digital workplace: unified, secure, archivable and quickly deployed
Some of our customers want to create a digital workplace for their employees. For the user, this means they get any notebook – sometimes called a thin client – and dial into a company-provided digital workplace over the Internet. The digital workplace ultimately feels to the user like the normal operating system.
Administrators save a lot of effort when rolling out new software. There is a lot of discussion whether this is more secure. For users, speed, usability and robustness are important.
One of the biggest advantages of cloud-hosted digital workplaces is that configurations (i.e., operating system and applications) can be fully rolled out and archived.
The use case archiving configuration is restoring a workstation of any point in time from the past. An old software release can thus be patched in the originally used development environment.
Why is this important?
In the automotive area you need to be able to fix software even 5 or 10 years after the first release.
Experience shows that in parallel with the development of the product, the infrastructure used is also continuously improved and expanded (new scripts, new tools, new methods, etc.). This is great for the whole team, unless an old software version has to be fixed.
Most of the time, adapting the infrastructure to build/test the software takes longer than actually patching and securing the software.
Solution: Restore old environment. Patch software. Test. Deploy. Done.
Reason #2 – the digital workplace: data and tools close together for fast access.
In many development teams (driver assistance, artificial intelligence, image processing, etc.), product development requires many and large amounts of data. This data is mostly stored on servers or in the cloud for central availability.
The data must be available locally in development with a host PC. Lengthy downloads are the result. This costs a lot of time. The developers’ workaround is downloading overnight. In sum, this approach is neither sustainable, nor useful, nor is it fun for a developer to have to wait.
The idea is to bring development tools into the cloud – as close as possible to the data (images, videos, measurements, etc.). The advantage of this approach is that access times are drastically reduced. New data is available immediately. Little to no waiting for data. When they run tests, it still takes some time. And that’s also the third reason to go to the cloud.
Reason #3 – Acceleration of execution for faster results
Development should or must become faster and faster. As functionality increases, testing becomes a challenge. Test executions with real data in particular can take a very long time. We have customers in the driver assistance or autonomous driving with test runs that take days to weeks. This is usually incredibly annoying during hot phases of development.
“It has to be faster!”, is something you might hear from managers in task forces.
Good news: it can be faster.
Again, the solution is: go to the cloud.
The main limiting factor in test execution is the resources of the environment.
Essentially, RAM and CPU power.
In the cloud, users can, among other things, upscale and downscale the parameters at will. Two types of scaling are distinguished in this context: vertical and horizontal scaling.
Vertical scaling refers to the increase of RAM and CPU power for a machine. This allows you to significantly speed up a test execution instance on demand and even on very short notice. Great stuff. Unfortunately, there are physical limits to this at some point as well. And then Horizontal Scaling comes into play.
Horizontal scaling refers to the multiple instantiations of a test execution. In other words, users clone their infrastructure and split the tests across multiple instances. Thus, they have parallel computations and can theoretically become infinitely fast. However, this also costs budget accordingly and is not recommended for daily use.
Users need to clarify and set up a few issues in advance for splitting. Splitting tests and merging data must be designed and implemented. A little brain power is required there.
In summary, cloud is an exciting future topic for embedded development. It can solve some of the problems of the past (archiving) and can accelerate them significantly in critical phases. We will continue to invest in this topic and rapidly expand our competence.
As a global test expert, we have already gained several years of experience with testing in the cloud. We are happy to share our knowledge with you. Book a meeting with our software experts here and reach new spheres of product quality.