Espresso Labs

Wersja 24.06 (Nana)

  • Poszerzono obsługę instalacji bibliotek ESP32
  • Dodano obsługę monitora portu szeregowego

Wersja 23.12 (Momo)

  • Dodano obsługę urządzeń ESP32 podłączonych do kontrolera z dedykowaną klasą urządzenia
  • Dodano IDE dla ESP32 ze zdalną kompilacją i instalacją
  • Zmiany w zarządzaniu kontrolerami

Wersja 23.06 (Lulu)

  • Dodanie obsługi zaplecza obliczeniowego dla Jupytera w oparciu o Amazon Web Services z jego automatycznym wdrażaniem

Wersja 22.12 (Kiki)

  • Dodanie obsługi instancji maszyn wirtualnych w ramach chmury Amazon Web Services
  • Dodanie obsługi kontrolera w chmurze Amazon Web Services
  • Uproszczenie procesu przygotowania kontrolera
  • Dodanie automatycznego przypisania nazwy, rejestracji w DNSie i generacji dla niej certyfikatów na kontrolerze
  • Dostęp do kontrolera tylko w oparciu o nazwę domenową
  • Poszerzony monitoring działania kontrolera
  • Dodanie automatycznego harmonogramu włączeń i wyłączeń urządzeń
  • Zarządzanie włączaniem i wyłączaniem kontrolera w sposób zautomatyzowany
  • Zmiana sposobu załączania plików do laboratorium
  • Poprawiony sposób nawigacji dla administratora
  • Nowe tłumaczenie dla języka polskiego

Czym jest Espresso Labs?

Espresso Labs jest usługą opartą o chmurę i lokalnie wdrożone kontrolery, która pozwala na tworzenie rozbudowanych laboratoriów opartych o fizyczne i wirtualne urządzenia wraz z pełną obsługą zarządzania nimi za pośrednictwem aplikacji web.

W ten sposób przygotowane środowisko może zostać wykorzystane zarówno w procesie dydaktycznym, jak i w przypadkach testowania nowych rozwiązań czy prowadzenia działań badawczo-rozwojowych.

Dostęp użytkowników do poszczególnych składowych systemu może być zrealizowany zarówno w sposób swobody w oparciu o ich rejestrację, jak i akcydentalny bazując na rozbudowanym mechaniźmie generacji czasowych kluczy jednorazowych.

Rozwiązanie po stronie klienta korzystającego w sposób zdalny do zrealizowania pełnego dostępu wymaga jedynie przeglądarki obsługującej HTML5.

Kontroler obsługujący laboratorium wymaga, w wersji minimalnej, jedynie dostępu do Internetu dla ruchu wychodzącego i dla ruchu przychodzącego otwartych portów HTTP (80 i 443). Oznacza to, że może być również instalowany w sieciach prywatnych ze skonfigurowanym przekierowaniem portów na routerze.

Sam kontroler w pełni izoluje środowisko laboratorium i pozwala na budowę jego infrastruktury bez bezpośredniego połączenia z siecią publiczną.

Komunikacja do poszczególnych urządzeń w ramach laboratorium może odbywać się z wykorzystaniem protokołów Telnet, SSH, RDP i RBF (VNC).

Kontroler, ze względu na sposób jego wdrażania, może być zarówno fizycznym serwerem, instancją działającą w ramach środowiska wirtualnego, czy też instancją w ramach chmury obliczeniowej operatora.


Architektura

Podstawowymi elementami składowymi Espresso Labs jest Menedżer chmurowy dostępny za pośrednictwem aplikacji webowej i jeden, lub kila, kontrolerów odpowiedzialnych za obsługę dostępu i bezpośrednią komunikację z infrastrukturą tworzącą laboratorium.

Ponieważ cała konfiguracja logiczna laboratorium jest przechowywana po stronie menedżera to zarówno równoważenie obciążenia jak i migracja pomiędzy kontrolerami jest możliwa do zrealizowania w bezproblemowy sposób.

Kontroler w ramach sieci laboratoryjnej zajmuje się umożliwieniem dostępu do poszczególnych jego składników oraz wykonywaniem zadań związanych zarządzaniem nimi i przekazanych z poziomu menedżera.

Za jego pośrednictwem możliwe jest również sterowanie zasilaniem czy, planowana do wdrożenia w wersji 20.12 kontrola nad wirtualizacją.

Aplikacja kliencka

Zarówno klient jak i administrator systemu korzystają z tego samego punktu logowania, którym jest dedykowana instancja serwera menedżera. W przypadku logowania użytkownika, który nie ma nadanego statusu administratora dostępna dla niego będzie tylko możliwość zapoznania się z laboratoriami w ofercie, zarezerwowanie dostępu do zestawów, które ma przypisane i połączenie z infrastrukturą laboratorium w ramach rezerwacji.

Dostęp kliencki poprzez klucz jednorazowy

Klient może uzyskać dostęp do laboratorium również w oparciu o wygenerowany klucz jednorazowy. Dostęp tego typu może być ograniczony, tak do dowolnej liczby zestawów, jak i czasowo. Sam moment dostęp może być rezerwowany przez posiadacza klucza lub wskazany w trakcie jego generacji przez administratora.


Opcje konfiguracyjne menedżera

Użytkownik posiadający status administratora ma, poza kompletną funkcjonalnością dostępną innym zarejestrowanym użytkownikom również możliwość zarządzania konfiguracjami laboratoriów.

Poza możliwością zarządzania licencjami, kontrolerami i użytkownikami dostępny jest szereg opcji pozwalających na kształtowanie laboratorium i dostępu do niego na szereg sposobów.

Laboratorium

W logicznym modelu laboratorium jest zbiorem przypisanych zestawów zawierających urządzenia. Z laboratorium związane jest najczęściej konkretne zadanie, które może być dostępne w postaci opisu w formacie markdown lub dołączonego dokumentu pdf.

Zestaw

Jest logicznym zbiorem urządzeń. Każdy zestaw może zostać przypisany do jednego, lub kilku, laboratoriów. Rezerwacja zestawu mimo, że realizowana ze wskazaniem na konkretne laboratorium, przypisuje na wyłączność urządzenia w nim zawarte konkretnemu użytkownikowi. Dostęp do urządzeń może być konfigurowany na poziomie zestawu, podobnie jak lokalna nazwa inna niż standardowa nazwa urządzenia.

W ramach zestawu możliwe jest też stworzenie opisu połączeń, który posłuży do wygenerowania dynamicznie mapy zestawu w ramach laboratorium.

Urządzenia

Urządzenie jest logiczną instancją, z którą skojarzona jest jego nazwa i klasa. Dla każdego urządzenia możliwe jest skonfigurowanie dowolnej liczby globalnych dostępów w oparciu o protokoły Telnet, SSH, RDP i RBF włącznie ze zdefiniowaniem parametrów w postaci adresów oraz portów dla dostępu i, jak i autentykacji. Dostępy mogą być też definiowane lokalnie dla każdego z zestawów je zawierających.

Klasy urządzeń

Urządzenia skojarzone są z klasami, co ułatwia ich wizualną identyfikację. Klasy mogą być dowolnie dodawane i modyfikowane, tak aby dostosować ich listę do faktycznych składników laboratorium.

Uprawnienia użytkowników

Użytkownicy mogą mieć nadane uprawnienia do korzystania z poszczególnych zestawów z poziomu zarządzania nimi jak i każdego zestawu osobno. Możliwe jest też dodanie, lub usunięcie użytkownika z grona administratorów oraz reset hasła.

Zarządzanie zasilaniem

Menedżer za pośrednictwem kontrolera może w ramach sieci laboratoryjnej komunikować się z listwami zasilającymi w celu zmiany stanu poszczególnych gniazd.


Instalacja kontrolera

Kontroler Espresso Labs jest tworzony i konfigurowany w oparciu o najnowszą dystrybucję Ubuntu LTS przy użyciu dedykowanej aplikacji. Ze względu na konfigurację laboratorium przechowywaną w ramach menedżera jego wdrożenie lub wymiana nie wiąże się z żadnymi dodatkowymi operacjami poza przygotowaniem i rejestracją w systemie zarządzania.