Skip to content
Snippets Groups Projects
Commit c26089d1 authored by Peter Senna Tschudin's avatar Peter Senna Tschudin
Browse files

DRAFT: Add docuemnt about Apertis Personalities


Very early stage draft about what Apertis Personalities are about.

Signed-off-by: default avatarPeter Senna Tschudin <peter.senna@collabora.com>
parent 5120ff26
No related tags found
1 merge request!211DRAFT: Add docuemnt about Apertis Personalities
Pipeline #240361 passed
+++
date = "2021-04-08"
weight = 100
title = "Apertis Personalities"
outputs = ["html", "pdf-in"]
+++
# Overview
Apertis is an ecosystem of resources that surrounds your product. From a high
level perspective, we are an aggregator of two software supply chains: the
Apertis catalog of enterprise-friendly open source software, and the
proprietary software stack that is specific and private to each product using
Apertis.
An important part of our day-to-day work is the maintenance of the Apertis
catalog of open source software. There are three important dimensions:
* The Apertis project is active upstream: we consider each upstream project to
be our supplier, and our relevance increases with our involvement. We
contribute upstream to have an open channel to ask for help and to propose
future directions.
* The Apertis project is reactive: Because we are part of important upstream
communities, and because we understand their code base, we have in-house
knowledge of how these projects work. Our team can react quickly to any
disruption, such as a bug, or a security vulnerability.
* The Apertis project is flexible: Our broad understanding of the open source
ecosystem allows us to combine different building blocks to meet the unique
requirements of any specific product.
Besides the enterprise-friendly catalog of open source software, Apertis is
also an elaborate set of infrastructure services to support the development and
testing of the entire software stack of your product. At its lowest level the
infrastructure is used for the development and testing of Apertis itself, and
on top of it we encourage you to do the development and testing of the software
components that are private to your product under the Apertis infrastructure.
The motivation here is to offer an easy way to follow best practices of
integration.
As a general principle Apertis is flexible and we allow the developer to choose
the combination of building blocks that are best suited for each specific
product. We offer up to package level granularity that allows for precise
control of which software components will be present in an image. This level of
customization is important for Apertis, but making all the micro decisions for
selecting every package is not always desired. Some developers are looking for
an image to use as a starting point.
At the time of writing this document, we have identified four basic images for
Apertis:
* Fixed function device: represents an appliance or a fixed function setup,
meaning that the functionality cannot be extended by installing extra
software on top of the base system.
* Industrial IoT device: Similar to the fixed function device as there is
little to none user interaction, however these devices are not fixed function
and are expected to run edge workloads. These devices are usually intended to
acquire data from sensors, and then either act on them or relay it to a cloud
infrastructure. This system can be extended by running containers which are a
good fit for edge workloads.
* HMI device: Typically this device will have a modern graphical user interface
driven via a touch screen and may include other capabilities such as audio
input and output. This system can be extended by installing new applications
using flatpak.
* SDK: The Apertis software Development Kit is not intended to be the base for
a product, but it enables smooth development and comes with all the tooling
that the developer needs.
This means that there are currently two ways to start creating with Apertis: a
developer can select the exact set of packages that will compose the image for
a product, or the developer can use one of the existing images as starting
point and then adjust the package selection.
These are solid starting points, but even with the scope limited to the
contents of the image, we already have overlaps of functionality. We expect
that as the use cases evolve in complexity, contextualizing each use case, and
each building block becomes a challenge.
We can use Flatpak to illustrate this challenge. Flatpak is a utility for
software deployment and package management for Linux. It offers a sandbox
environment in which users can run application software in isolation from the
rest of the system. When we brought Flatpak into Apertis we had one main use
case in mind: A device running the HMI image with an appstore. Flatpak is
suitable for handling the installable applications from a variety of
perspectives, including security.
However the fact that we brough Flatpak into Apertis does not mean that we will
force Flatpak on every scenario that includes installable applications. This is
where the notion of Apertis Personalities becomes relevant. An Apertis
Personality is the minimal combination of characteristics or qualities that
form an individual and distinctive Apertis based solution. So for an Apertis
Personality that uses an appstore for user facing graphical applications,
Flatpak is a good choice.
Apertis as a project favors flexibility over distinctive choices, and we do so
by design. While there is a core set of technical and non-technical principles,
the project offers very broad latitude. In this sense the idea of Apertis
Personalities allow us to keep the flexibility at a project level while
offering more value to specific use cases as we allow personalities to
potentially deviate quite far from one another.
The scope of an Apertis Personalities goes beyond the content of the image and
can include:
* Cloud services such an appstore or an edge workload orchestrator
* Software deployment Fleet management
* Non-functional requirements such as power consumption, and performance
* Workflows such as development and testing
* Security features such as trusted boot and TEE
* ...
Another advantage we expect from Apertis Personalities is to open a new door
for contributions. Service oriented personalities such as a personality for the
Bosch IoT suite can be a benefit for Apertis and for the Bosch IoT suite.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment