Softcrates FaaS cloud

Think in your final application and don't worry about base system.
Share the software stack with others and benefit of bug fixes, security upgrades and bug fixes using the cloud.

Nowadays the time-to-market is crucial to to make your project successful, either if you want to create make a product proof-of-concept or a final product you can use our well tested software stack images for your embedded device.

The FaaS: Firmware as a Service (a.k.a Softcrates cloud)

1. Motivation

Proprietary embedded platforms are composed of a set of software components that are usually well integrated since the whole stack is controlled and developed by a single vendor.

That's not true for embedded Linux stacks since each component (bootloader, Linux kernel, system utilities, graphics libraries, widget toolkit, etc) is an independent software project and is developed, tested and released by a different party.

This means that building a Linux based product involves integrating a set of unrelated software each one with its own release cycle that may not be aligned to your product release cycle and doing quality assurance to be sure that the integrated components are working correctly as a whole.

Also, vendors usually don't use mainline software components but instead create "vendor forks" which are copies of a software component on a given release and add support for their platform there. That means that you are locked on a vendor release or need significant engineering effort to move the vendor platform support to a newer version of a software component.

At Softcrates we believe that companies building Linux based embedded products should not deal with all the integration and platform support but instead should only focus on building and shipping like is done when using proprietary stacks.

2- FaaS (Firmware as a Service):

Our solution is to provide a Firmware as a Service so companies can focus on their core business which is building products and not care about integration, Q&A and bugfixing. Companies should have both a stable platform used as a base for their products and also be able to update the platform when newer version of the software components are released.

FaaS is based on the popular OpenEmbedded build system and uses the Poky distribution releases as a base. OE provides the flexibility to add custom layers to provide any missing functionality needed by a platform or any customisation to software packages.

3- But that's not what Linux distros do already?

Linux distribution do indeed integrate all the independent software components to create a coherent Linux platform. But distributions are general purposes Linux systems while embedded products usually need specific requirements that do not match well with general purpose software.

Also, extending a component on a Linux distribution means creating a copy of the distribution package and adding patches on top of the sources provided by the Linux vendor while OpenEmbedded already has built-in support for extending packages recipes.

You never have to modify the original package that was present on the base platform but only specify the delta in another layer.

4- But the Yocto project already release Poky and there are public layers for most hardware platforms supported by Linux so what's the value added by FaaS?

The Yocto project is an Open Source project independent of any organisation. This means that even when Poky is released there is no professional support. This means that still need to integrate the overlays you need (hardware support, additional packages, etc), do proper testing and fix bugs. All these steps takes a lot of engineering effort that could better be spent building the actual product instead of dealing with the base platform.

So, the added value of FaaS on top of the available software components is that we guarantee the integrated platform stability and the upgrade path so users won't be stuck on a single release version.