Overview

uMEC (aka MicroMEC, or Micro-MEC) is a project under the Akraino Edge umbrella. SUSE joined in 2019 and together with partners we managed to create the 1st prototype infrastructure.

The concept has been successfully used on a few hackathons last year:

2020 Plans

A few weeks ago we sat down with Nokia and discussed how could we reshape the existing code and documentation. We agreed to relocate the code to github and properly document the architecture and the installation. This work will already highlight the architecture changes we are planning to accommodate different edge computing units (like Nvidia Jetson Nano) and more sensors in general. The uMEC APIs will also be redesigned and the results of the work will hopefully be presented on a couple of conferences and hackathons this year.

Hackweek Work

I would like to focus on the installation and architecture documentation. The setup we have been using throughout 2019 included quite a few pieces:

The prototype edge units were based on Raspberry Pi 3B+ and 4 computers. The RPis ran openSUSE TW (64 bit) and Raspbian.

The uMEC APIs were deployed in containers and orchestrated by k3s. Along the uMEC APIs we also had a hosted Tensorflow service where we deployed models for simple object detection.

On the "server side" we had k8s and OpenFaaS Cloud; OFC. With OFC we offered an easy to use development environment for quick prototyping using the uMEC APIs.

This year we will setup a proper CI / CD pipeline using github. The deployment will take place on hardware that is hosted at Metropolia University where the students are also working on uMEC use cases.

Our goal is to enable the setup and creation of uMEC environments by anybody. As the hardware and software is all available, we just need to document these properly. I hope that by the end of the hack week uMEC will be in a much better shape.

Please join, if you are interested in 5G Edge computing and would like to learn more about industrial use cases in the area.

Looking for hackers with the skills:

5g edge faas serverless iot

This project is part of:

Hack Week 19

Activity

  • almost 6 years ago: clin started this project.
  • almost 6 years ago: clin liked this project.
  • almost 6 years ago: a_faerber liked this project.
  • almost 6 years ago: FSzekely added keyword "5g" to this project.
  • almost 6 years ago: FSzekely added keyword "edge" to this project.
  • almost 6 years ago: FSzekely added keyword "faas" to this project.
  • almost 6 years ago: FSzekely added keyword "serverless" to this project.
  • almost 6 years ago: FSzekely added keyword "iot" to this project.
  • almost 6 years ago: FSzekely originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    SUSE Edge Image Builder MCP by eminguez

    Description

    Based on my other hackweek project, SUSE Edge Image Builder's Json Schema I would like to build also a MCP to be able to generate EIB config files the AI way.

    Realistically I don't think I'll be able to have something consumable at the end of this hackweek but at least I would like to start exploring MCPs, the difference between an API and MCP, etc.

    Goals

    • Familiarize myself with MCPs
    • Unrealistic: Have an MCP that can generate an EIB config file

    Resources


    SUSE Edge Image Builder json schema by eminguez

    Description

    Current SUSE Edge Image Builder tool doesn't provide a json schema (yes, I know EIB uses yaml but it seems JSON Schema can be used to validate YAML documents yay!) that defines the configuration file syntax, values, etc.

    Having a json schema will make integrations straightforward, as once the json schema is in place, it can be used as the interface for other tools to consume and generate EIB definition files (like TUI wizards, web UIs, etc.)

    I'll make use of AI tools for this so I'd learn more about vibe coding, agents, etc.

    Goals

    • Learn about json schemas
    • Try to implement something that can take the EIB source code and output an initial json schema definition
    • Create a PR for EIB to be adopted
    • Learn more about AI tools and how those can help on similar projects.

    Resources


    Set Uyuni to manage edge clusters at scale by RDiasMateus

    Description

    Prepare a Poc on how to use MLM to manage edge clusters. Those cluster are normally equal across each location, and we have a large number of them.

    The goal is to produce a set of sets/best practices/scripts to help users manage this kind of setup.

    Goals

    step 1: Manual set-up

    Goal: Have a running application in k3s and be able to update it using System Update Controler (SUC)

    • Deploy Micro 6.2 machine
    • Deploy k3s - single node

      • https://docs.k3s.io/quick-start
    • Build/find a simple web application (static page)

      • Build/find a helmchart to deploy the application
    • Deploy the application on the k3s cluster

    • Install App updates through helm update

    • Install OS updates using MLM

    step 2: Multi-node cluster

    Goal: Use SUC to update a multi-node cluster.

    • Create a multi-node cluster
    • Deploy application
    • Install App updates through helm update
    • Prepare a SUC for OS update (k3s also? How?)
      • https://github.com/rancher/system-upgrade-controller
      • https://documentation.suse.com/cloudnative/k3s/latest/en/upgrades/automated.html

    step 3: Automate day 2

    Goal: Trigger the application deployment and update from MLM

    • Salt states For application (with static data)
      • Deploy the application helmchart, if not present
      • Update/deploy the SUC?
      • Update/deploy the SUC CRD with the update procedure
    • Salt states to deploy k3s cluster?
    • Link it to GIT
      • Define how to link the state to the machines (based in some pillar data? Using configuration channels by importing the state? Naming convention?)
      • Use git update to trigger helmchart app update
      • Update git SUC - CR and apply the state to trigger the update of the machine.
    • Recurrent state applying configuration channel?


    Smart lighting with Pico 2 by jmodak

    Description

    I am trying to create a smart-lighting project with a Raspberry Pi Pico that reacts to a movie's visuals and audio that involves combining two distinct functions: ambient screen lighting(visual response) and sound-reactive lighting(audio response)

    Goals

    • Visuals: Capturing the screen's colour requires an external device to analyse screen content and send colour data to the MCU via serial communication.
    • Audio: A sound sensor module connected directly to the Pico that can detect sound volume.
    • Pico 2W: The MCU receives data fro, both inputs and controls an LED strip.

    Resources

    • Raspberry Pi Pico 2 W
    • RGB LED strip
    • Sound detecting sensor
    • Power supply
    • breadboard and wires