Posts

Showing posts with the label application

Exploring ROS 2 with Kubernetes

Image
Kubernetes provides many critical attributes that can contribute to a robust robotics platform: isolated workloads, automated deployments, self-configuring work processes, and an infrastructure that is both declarative and immutable. However, robots designed with ROS 2 face challenges in setting up individual components on Kubernetes so that all parts smoothly work together. In this blog series, we construct a prototype ROS 2 system distributed across multiple computers using Kubernetes. Our goal is not only to provide you with a working configuration, but also to help you understand why it succeeds and overcome future design challenges. Getting into Kubernetes can be a pretty steep learning curve, so our prototype will use MicroK8s to make it easy. MicroK8s is a lightweight pure-upstream Kubernetes distribution and offers low-touch, self-healing, highly-available clusters. Its low resource footprint makes it ideal for running on robot computers. Even with very little Kubernet...

How Kubernetes is transforming the industrial edge

Image
According to leading independent researchers teknowlogy | PAC, open source platforms – and Kubernetes in particular – are central to the future of digital factories.  The PAC RADAR report offers a detailed market analysis of industrial digitalisation trends, and it predicts that Kubernetes-based platforms that bring together edge and cloud technologies will soon dominate the digital factory landscape. This blog will take a closer look at the report’s findings, and examine why Canonical was rated Excellent for industrial edge cloud through the strength of Charmed Kubernetes, MicroK8s and Ubuntu Core. “Kubernetes will be the next big thing at the edge” In recent years, various platforms have emerged to support agile digital factory DevOps, but most industrial edge platforms have been held back by limitations to application scaling and management – and this is where Kubernetes at the edge comes in. Kubernetes is a container orchestration system. Containers make it possible to ...

Accessibility audit of Vanilla framework

Image
The team behind the Vanilla Framework has a background in development, UX and Visual Design. We all care about accessibility, but none of us is an accessibility expert. We were interested in evaluating how well the framework complies with accessibility standards. We decided to start with an internal audit, fix any issues we find, then look for a third-party service to evaluate the framework from the perspective of real-world users with disabilities Scope For the internal audit, we focused on 3 aspects: Identifying and fixing issues using the WCAG-EM Website Accessibility Evaluation Report Generator. A list of the results can be found in our accessibility report results document. Identifying and fixing validator issues Going through a component level checklist. Identifying and fixing issues Level A and AA fixes We conducted a site-wide audit using the WCAG-EM Report Tool filtered by level A and AA. Here are some highlights: darker :link colour, allowing us to meet the requ...

Deploying Kubeflow everywhere: desktop, edge, and IoT devices

Image
Kubeflow, the ML toolkit on K8s, now fits on your desktop and edge devices! ? Data science workflows on Kubernetes Kubeflow provides the cloud-native interface between Kubernetes and data science tools: libraries, frameworks, pipelines, and notebooks. > Read more about what is Kubeflow Cloud-native MLOps toolkit gets heavy To make Kubeflow the standard cloud-native tool for MLOps within the AI landscape, the open-source community has accomplished the aggregation and integration of many projects on top of Kubernetes. Unfortunately, this notable accomplishment also has a downside. Deploying Kubeflow on your laptop or edge device has become impractical. The very minimum memory necessary to deploy the full Kubeflow bundle is 12Gb of RAM. On top of that, it is Linux-based. This means that on Windows and macOS you need to allocate 12+ Gb of memory to a Linux VM. Last time I tried, my 16Gb of RAM MacBook Pro did not like the idea. Kubeflow lite to experiment on ...

The Hunt for Rogue Time – How we investigated and solved the Chromium snap slow startup problem

In October, we shared a blog post detailing significant snap startup time improvements due to the use of a new compression algorithm. In that article, we focused on the cold and hot application startups, but we did not delve much into the first-run setup scenario. While running our tests, we observed a rather interesting phenomenon, primarily on the Fedora 32 Workstation system. On a particular laptop, we noticed that the initial snap launch took about 60 seconds, whereas cold launches would take about 10 seconds. We decided to analyze this problem, and once we did, we realized there’s an amazing investigative story to be shared, including some really cool findings and general advice for developers on how to optimize their snaps. First-run startup time It is important to note that the difference (6x) was what drew our eye – rather the actual numbers, as these are highly dependent on the platform capabilities and software in question. For that matter, 6-second and 1-second launch ti...