Ubuntu Core
Ubuntu Core is Ubuntu for IoT and embedded devices. As a flavour of the standard Ubuntu operating system, it is optimised and engineered for security and reliable OTA updates.
Ubuntu builds upon years of evolution and contributions from the wider Linux community, acting as the de-facto opensource enabler for thousands of development teams. Ubuntu is the premier choice by Linux developers, the world’s most popular cloud operating system across public clouds and the majority OS for preferred data science packages like Tensorflow.
The same software packages, robust performance and user-friendliness are available on all versions of Ubuntu.
Ubuntu Desktop is the open-source OS powering millions of PCs and laptops around the world.
Similarly, the Ubuntu Server version is the OS for server machines, delivering the best scale-out performance to public and private data centres. As the number one choice for innovators from cloud to edge, Ubuntu developers can run the same underlying operating system on their desktops as they do on their servers.
Whereas Ubuntu Desktop and Server run the same kernel, they differ in the supported software packages. From the presence of a GUI environment, email client or multimedia support, those images are optimised for server or general-purpose PC applications.
Ubuntu Core is the flavour of Ubuntu targeted at embedded devices. Whereas it is standard Ubuntu - open source, binary-compatible and backed by a strong developer community - it is specifically designed for the world of IoT.
Why a new version of Ubuntu
The entire ecosystem around Ubuntu Core was especially designed to solve the major bottlenecks behind shipping embedded Linux products. We will outline here some of the considerations that informed the architectural decisions of Ubuntu Core. Throughout the rest of this guide, we will delve deeper into the most pressing challenges facing enterprises playing a role in the IoT market and how Ubuntu Core handles them.
As discussed earlier, embedded Linux systems are varied in nature and differ greatly from desktop workstations. Although Linus Torvalds never shipped an embedded version of the Linux kernel, developers often customise its configuration to adapt it to their specific needs and custom boards. It is paramount to treat Linux on devices differently than Linux on servers. Sending engineers out into the field to fix a wedged device is expensive. As is often the case, those embedded boards are usually cheap, making the operational costs prohibitively expensive. Reducing the maintenance cost and the risk of failure of a distributed device in the field must be a priority for the underlying embedded OS.

Linux on devices must be treated differently than on servers, to reduce the cost of maintenance and the risk of a failure in the field.
Why Ubuntu Core for embedded
Ubuntu Core is a platform for technology suitable across the embedded compute spectrum, from drones and automobiles to industrial gateways and robots. With a significantly reduced attack surface, a minimal footprint and a stacked architecture, Ubuntu Core is tamper-resistant and hardened against corruption. Ubuntu Core is Ubuntu, the world’s number one Linux OS, providing a consistent experience across platforms while addressing the particular challenges of the embedded world. Let’s explore why Ubuntu Core is a perfect fit for IoT devices and embedded systems in the remainder of this guide.

1. Containers
Ubuntu Core has a read-only root filesystem built from the same packages used in the Ubuntu family of Linux distributions. However, Ubuntu Core addresses the peculiar challenges of the embedded world via a modular architecture based on containers, bullet-proof transactional updates, a smooth developer experience, and built-in security.
2. Security
Security in Ubuntu Core goes beyond bug fixes and CVE patches. Canonical redesigned the entire system from the first boot to create the most secure embedded Linux, enabling manufacturers to ship their devices cost-effectively without needing to implement complex security features themselves.
3. Updates
Enterprises in the embedded ecosystem often decide against updating their devices for fear of breaking the already deployed software, unforeseen bugs or network outages. Such resistance is readily justifiable, as sending an engineer to fix a device in the field or on the shop floor of a factory is prohibitively expensive.
4. Consistent OS experience
While some of the challenges and considerations cited above are peculiar to the embedded ecosystem, manufacturers shipping devices in production prize a consistent, secure and well-understood foundation for their systems. Ubuntu Core is standard Ubuntu to provide a consistent OS experience across platforms.
6. Long-term support
An often overlooked consideration when choosing the OS for an embedded Linux project is the availability of professional support. Ongoing vulnerabilities and recent exploits force developers to think more diligently about community-maintained projects and the open-source landscape. Whereas developers should constantly be scanning for vulnerabilities, enterprises can’t be dependent on individuals.