Kravet om å behandle data nær der dataene er generert, for eksempel for å oppnå effektivitet, bedre sikkerhet eller bedret personvern ved at man unngår behovet for å sende sensitive data over nettverket til skyen, har ført til fremveksten av Edge-Computing. Edge-Computing omfatter programvarekomponenter som kjører både i nettskyen og på enheter i utkanten av nettverket, for eksempel gateways, routere, switcher, små basestasjoner, etc. Mens utnyttelse av edge computing representerer potensielle gevinster, representerer kompleksiteten i driften av Edge-systemer store utfordringer siden programvarkomponentene i et system eksekveres i geografisk distribuerte enheter og hver av dem har en unik operasjonell kontekst, denne kan videre kontinuerlig endre seg og er ofte uforutsigbar. For storskala Edge-systemer med tusenvis av enheter, kan kostnader knyttet til å håndtrere denne kompleksiteten lett overstige prosjektets økonomiske fordeler.
I Fleet prosjektet har vi jobbet med å løse disse problemstillingeng og utviklet et programvarebasert rammeverk med tilhørende verktøy for å løse noen av disse problemstillingene. Vi har utviklet et språk for å kunne spesifisere løsningsdesign for edge computing systemer og benytter en generativ approach hvor prosjektet har utviklet hensiktsmessige verktøy for å støtte automatisering av leveranse og drift av stor skala programvaredistribusjon på tvers av Cloud og Edge ressurser, for gjennom dette oppnå stordriftsfordeler. En sentral utfordring som vi har utforsket som en del av dette er hvordan man kan ta automatisering til neste nivå ved å tilby intelligente verktøy som forstår sammenhengen til enheter for kontinuerlig å optimalisere driftsplanene. For dette har vi utviklet avanserte monitoreringsverktøy og verktøy for en automatisk oppdatering og installasjon av den totale programvaredistribusjonen på tvers av Cloud og Edge ressurser.
Oppsummert har vi i FLEET prosjeket utviklet løsninger for kontekstbevisst intelligent drift av systemer distribuert i stor skala på tvers av Cloud og Edge infrastrukturer. Vi har utviklet et sett med software engineering teknikker og verktøy og testet dette ut i konteksten av en eHelse pilot og et system med stor skala distribusjon av programvarerammeverk for tjenesteorienterte systemer. Resultatene omfatter designverktøy og kontekstbevisste driftsverktøy for automatisk å konkludere hvordan, hvor og når man skal tilpasse programvaren som kjører på de enkelte ressursene i samsvar med deres sammenhenger og at dette gjøres på en sikker og pålitelig måte.
The main results of the FLEET project includes the novel approach for fleet deployment and management of software on the fleet of edge devices, intelligent monitoring of microservice systems, automatic device enrollment to edge fleets, and intent-based management of resource fleet in the cloud-edge computing continuum.
The companies have been gradually absorbing and implementing the approaches into their DevOps practices and environments, steadily improving the development efficiency and reducing the cost of system operation. The project results, together with the knowledge and expertise gained from the project work, played an important role to support the recent expansion of the two companies, enabling them to scale up their products and services without significant increase of operation cost.
The approaches and the prototype implementations are generic to edge and microservices systems, and has the potential to be applied in other companies and domains and bring them similar benefit on increasing development efficiency, reducing cost and achieving economy of scale. The project partners will extend the approaches in 4 on-going projects funded by EC and NFR, and apply them on the various pilot use cases within the projects. The open source implementations, which will be actively maintained after the project, partially funded by the subsequent projects, will be available for any potential users.
The main concept of fleet operation provides a novel approach to managing a large group of edge and cloud resources as a comprehensive entity, without ignoring accepting and supporting the heterogeneity and distribution among the resources. This is leading, and aligned with, the recent research direction in cloud and edge computing, which focus on combining various cloud and edge resources into a comprehensive computing continuum. The project systematically identified the key challenges behind this direction, and the technologies experimented in the project provided promising solutions to these challenges. The experiments of using cutting edge AI techniques to management fleet resources is leading the trend of cognitive computing continuum, which the project partners will keep investigating in the subsequent projects.
The demand to place data analytics close to where the data is created leads to the emergence of Edge computing systems, which comprises software instances running both in the cloud and on devices at the edge of the network such as gateways, routers, switches, small base stations, etc. However, the complexity of operating Edge systems represents daunting challenges since software instances are running in geographically distributed devices and each of them has a unique operation context, which is continuously changing and often unpredictable. For large scale Edge systems with thousand devices, operation effort and cost can easily exceed the project's financial benefits.
Edge computing is still in its infancy and a framework to address this problem is not yet available. The traditional mechanical automation, widely used for Cloud computing, still requires heavy human interaction to handle each device individually. To achieve the economy of scale for Edge operation, we need to take automation to the next level by providing intelligent tools that understand the context of devices and continuously optimize operation plans accordingly by themselves.
In FLEET, we propose the novel concept of context-aware intelligent operation of large scale Edge systems. More precisely, we aim at delivering a set of software engineering techniques and tools to operate large scale Edge systems. This will include (i) a novel fleet-oriented modelling language for developers to define overall operation goals to specify how they expect to operate the fleet of Edge devices as a whole, (ii) context-aware intelligent operation agents to automatically infer how, where and when to deploy and adapt the software running on the individual Edge devices according to their contexts, and (iii) veto-based trustworthiness assurance techniques to tame the intelligent operation agents against trustworthiness risks (including security and privacy).