Professional Documents
Culture Documents
Deliverable D3.1: SOFIE - Secure Open Federation For Internet Everywhere 779984
Deliverable D3.1: SOFIE - Secure Open Federation For Internet Everywhere 779984
Deliverable D3.1: SOFIE - Secure Open Federation For Internet Everywhere 779984
Ares(2019)2355755 - 03/04/2019
DELIVERABLE D3.1
Integration Plan
This project has received funding from the European Union’s Horizon 2020
research and innovation programme under grant agreement No 779984.
Document: H2020-IOT-2017-3-779984-SOFIE/D3.1 – Integration Plan
Table of Contents
1. Introduction..........................................................................................3
1.1 Structure of the Deliverable ........................................................................ 3
1.2 List of Acronyms ......................................................................................... 3
2. Integration Strategy and Methodology ..............................................4
2.1 Strategy for Integration ............................................................................... 4
2.2 Methodology ............................................................................................... 6
2.2.1 Introduction ................................................................................................... 6
2.2.2 Continuous Integration .................................................................................. 7
2.2.3 Continuous Delivery ...................................................................................... 7
2.2.4 Managing the Integration Environment ......................................................... 8
2.2.5 Tools and Documentation ............................................................................. 8
2.3 Platforms & Pilots ..................................................................................... 10
2.3.1 Reference Platforms ................................................................................... 10
2.3.2 Business Platforms ..................................................................................... 10
2.3.3 Pilots ........................................................................................................... 10
3. Actors and Roles for Integration in SOFIE ......................................11
4. Integration .......................................................................................... 12
4.1 Testbed Release (version 0) .................................................................... 12
4.1.1 Features and Requirements ....................................................................... 12
4.1.1.1 General Requirements ................................................................................... 12
4.1.1.2 Partner and Pilot Project Requirements ......................................................... 12
4.1.2 Testbed Deployment ................................................................................... 14
4.2 Pilot evaluation release (version 1) .......................................................... 14
4.3 Final release (version 2) ........................................................................... 14
5. Schedule & Milestones ......................................................................15
6. References ......................................................................................... 16
SOFIE 2(16)
Document: H2020-IOT-2017-3-779984-SOFIE/D3.1 – Integration Plan
1. Introduction
Fragmentation and lack of security are among the biggest problems of IoT platforms. Most IoT
platforms are vertically oriented closed systems, dedicated to specific application areas. There
are today hundreds of IoT platforms with no or very limited interoperability. The main goal of the
SOFIE project is to enable diversified applications from various sectors to utilize heterogeneous
IoT platforms and autonomous devices across technological, organizational and administrative
borders.
Secure open federation is the key concept of the SOFIE approach, aiming to enable creation of
business platforms, based on existing IoT platforms and distributed ledgers, without needing to
negotiate with any gatekeeper (neither technology- nor business wise). SOFIE exercises
security and data sovereignty by design.
The integration phase in the SOFIE project is responsible for integration of a SOFIE reference
platform and all the business platforms that will be used by the SOFIE pilot projects.
The purpose of this Integration Plan deliverable (D3.1) is to ensure that the SOFIE business
platforms that are validated in WP4 and are used by the WP5 pilot projects are well integrated
according to well defined milestones & time plan and with good software quality, by giving an
overarching principal view for WP3. Technical details of the integration environment setup and
the working practices are described in [WP3IE] and [WP3WP] respectively (these documents
are available on request from the D3.1 authors).
In line with the AGILE approach to software development, integration will be performed
incrementally and continuously. Three main releases will be produced during the lifetime of the
SOFIE project.
• Testbed release (version 0)
• Pilot evaluation release (version 1)
• Final release (version 2)
SOFIE will use Git as the Source Code Management System, Atlassian Jira as the Agile
software development management tool and Jenkins as the Continuous Integration server.
Developer documentation will be written. FOSS components may in addition also use public
resources such as Travis for Continuous Integration.
SOFIE 3(16)
Document: H2020-IOT-2017-3-779984-SOFIE/D3.1 – Integration Plan
Figure 1: While each separate component should be testable in isolation, SOFIE project
software integration can be multiple layers in depth.
Business Platform (BP) templates are used to define the BPs that are built on top of the
reference platform by adding pilot-specific controls, DLTs, other needed third-party IoT
platforms with needed adapters and a marketplace and/or consumable service APIs. This
means that the BPs will include both FOSS and non-FOSS licensed software components.
Multiple pilots can share a common business platform, according to the following conceptual
diagram.
The different platform components will also include adapters and interfaces to external systems
such as public blockchains.
The functional growth for the integrated platforms will be done iteratively. Initially, the focus is
on the features and functions needed by the first main release, which is the testbed release
(version 0).
There are two models on how pilot software components (and others) are integrated into the CI
and CD pipelines. The main difference is whether the CI step is performed by the pilot, or as
part of the integration environment. The default model with combined CI and CD steps in a
single build pipeline is described in the figure below.
SOFIE 4(16)
Document: H2020-IOT-2017-3-779984-SOFIE/D3.1 – Integration Plan
1 These may be due to software licenses of legacy systems, and thus outside the control of a pilot, for example.
SOFIE 5(16)
Document: H2020-IOT-2017-3-779984-SOFIE/D3.1 – Integration Plan
2.2 Methodology
2.2.1 Introduction
Modern Agile Development and Continuous Integration methodologies with well-defined
pipelines for CI and CD will be applied in WP3. Sprint cycles are 4 weeks long (during the project,
the Sprint cycle length can be reconsidered if necessary). Regular weekly team meetings and
bi-weekly SOFIE partner meetings are arranged.
All documentation will be written in English.
WP2 and WP3 intend to work from a common backlog, as explained in the following figure.
SOFIE 6(16)
Document: H2020-IOT-2017-3-779984-SOFIE/D3.1 – Integration Plan
WP4 (Propose)
WP2 WP3 new features
WP5 SW delivery
flow
Fault
reporting
*) A backlog is a list of features or technical tasks which the team maintains and which, at a given moment, are known
to be necessary and sufficient to complete a project or a release
2 https://travis-ci.org/
SOFIE 7(16)
Document: H2020-IOT-2017-3-779984-SOFIE/D3.1 – Integration Plan
production status. The CD environment will automatically deploy any promoted builds to the
appropriate environment.
Continuous Delivery itself uses artefacts generated during CI, such as service deployment files,
containers stored in a container registry, virtual machine images etc. (the exact artefact type
depends on the software and system in question).
Market Place
Pilot1 Pilot2 Pilot3 Pilot4 3P IoT Platforms
...
BP template
Common functions and controls for BPs
SOFI E Reference Platform Demo platform
Hosted by WP3 for pilots, demos and affiliates
3 https://www.docker.com
4 https://kubernetes.io/
5 https://www.atlassian.com/software/jira
6 https://jenkins.io/
SOFIE 8(16)
Document: H2020-IOT-2017-3-779984-SOFIE/D3.1 – Integration Plan
developer (commercial and OSS) community. Another concern is the scope of the choice: is the
choice relevant to the overall project results (such as selection of DLTs) or constrained to the
integration environment infrastructure (choosing the cloud provider for the integration
environment infrastructure). In general, the latter should not affect the general applicability of
the former – for example, while AWS is chosen for the integration environment infrastructure,
this choice does not affect the general applicability of the Kubernetes deployments of various
software components on different infrastructure providers’ environments.
The table below summarizes the critical technology selections, their scope (project or integration)
and rationale.
Purpose Scope Selection Rationale
Source code Project Git The Git source code revision control system is
management de facto solution in the industry and open source
community. Other functionally similar solutions
such as Mercurial and Bazaar do not have
similar traction.
Repository Project GitHub GitHub is most commonly used for open source
hosting projects. While the repository hosting choice
(other functionally equivalent solutions would be
Bitbucket and GitLab) does not have an effect on
the component functionality, it has an effect on
the component visibility, and the approachability
of the hosting environment to the general
developer audience.
Containers Project Docker Docker is the most widespread containerization
solution. Other applicable solutions such as rkt7
containers do not yet have the support of
Docker.
Deployment Project Kubernetes Kubernetes is currently the most common open
orchestration source container deployment orchestration
solution. It is also universally supported by cloud
infrastructure providers. Other solutions such as
Docker Compose or Docker Swarm would be
applicable, but Kubernetes has become a de
facto solution.
Infrastructure Integration AWS AWS has the largest market share of different
provider cloud infrastructure providers, and the best
tooling support for management and
maintenance available. While the choice of AWS
should have no impact on the project results, its
use will confirm the applicability of SOFIE
components in AWS. Given AWS is often the
default go-to Infrastructure as a Service (IaaS)
platform for new development, this is overall a
positive result.
Continuous Integration Jenkins Jenkins is a CI/CD solution in widespread use. It
integration has a vibrant community and a large selection of
extensions.
7 https://coreos.com/rkt/
SOFIE 9(16)
Document: H2020-IOT-2017-3-779984-SOFIE/D3.1 – Integration Plan
2.3.3 Pilots
Integration of the pilot system will occur after the testbed release, to have the majority of the
integration completed by the pilot release (version 1). Please refer to Section 2 for description
of how the integration environment will work in conjunction to the pilot development and pilot
code releases.
SOFIE 10(16)
Document: H2020-IOT-2017-3-779984-SOFIE/D3.1 – Integration Plan
SOFIE 11(16)
Document: H2020-IOT-2017-3-779984-SOFIE/D3.1 – Integration Plan
4. Integration
4.1 Testbed Release (version 0)
4.1.1 Features and Requirements
The integration plan will initially focus on the features and requirements of the first SOFIE main
release, which is the testbed release (version 0).
SOFIE 12(16)
Document: H2020-IOT-2017-3-779984-SOFIE/D3.1 – Integration Plan
Note that CD processes, artifact storage and a large portion of the functionality described in
[WP3IE] are excluded from the testbed (version 0) release.
Aalto (Development)
1-2 nodes (2-5 containers) for student project integrations
Ethereum (including needed network connections)
o Private network (linked to AUEB, Ericsson and Aalto’s miners)
o Rinkeby public test network
Hyperledger Fabric private network (linked to AUEB and Ericsson testbed)
Hyperledger Indy private network (linked to AUEB and Ericsson testbed)
Access to Guardtime KSI®Blockchain
o Interworking with FIWARE, Ethereum and Hyperledger Fabric
Connectivity with Aalto building automation IoT systems
o ACRE API gateway or BioTope project O-MI/O-DF testbed
Connectivity with local gateways (COAP and MQTT devices)
HTLC between Hyperledger Fabric and Ethereum (Interledger demo)
Either BP1 or IL demo with unit tests available for LMF CI integration
AUEB (Evaluation)
Ethereum (including needed network connections)
o Private network (linked to Aalto and Ericsson)
o Rinkeby public test network
Hyperledger Fabric private network (linked to Aalto and Ericsson testbed)
Hyperledger Indy private network (linked to Aalto and Ericsson testbed)
Access to Guardtime KSI®Blockchain
A virtual server for running FIWARE
Connectivity with local IoT nodes (Raspberry PIs, running web of things)
No VPN required (public IP addresses available)
Guardtime (Hosted Services)
Hosting access to Guardtime KSI®Blockchain network
o At least one aggregator
o At least one extender
Estonian Energy Pilot (Guardtime)
3 nodes for the business platform and 3P IoT platforms
Option to configure a firewall
Public IP/host name
Italian Energy Pilot (ASM, Emotion, Engineering)
1 node for the business platform
1 node for EV/EVSE IoT platform
Private Ethereum
Access to Guardtime KSI®Blockchain
Food Chain Pilot (Optimum, Synelixis)
1 node for the business platform
1 node for transportation IoT platform
Static public IP addresses / domain
SOFIE 13(16)
Document: H2020-IOT-2017-3-779984-SOFIE/D3.1 – Integration Plan
Private Ethereum
Hyperledger Fabric
Access to Guardtime KSI®Blockchain
Mobile Gaming Pilot (Rovio)
1 node for the business platform
1 node for Rovio proprietary platform
Ethereum
o Private network
o Rinkeby public test network
SOFIE 14(16)
Document: H2020-IOT-2017-3-779984-SOFIE/D3.1 – Integration Plan
SOFIE 15(16)
Document: H2020-IOT-2017-3-779984-SOFIE/D3.1 – Integration Plan
6. References
[WP3IE] WP3 Integration and Evaluation: Description of Integration Environments
[WP3WP] WP3 Integration and Evaluation: Working Practices
[D4.2] D. Lagutin et al., “SOFIE Deliverable D4.2 - Testbed and Emulation Environment
Design and Setup”, February 2019. Available at:
https://media.voog.com/0000/0042/0957/files/SOFIE_D4.2-
Testbed_and_Emulation_Environment_Design_and_Setup-v1.00.pdf
SOFIE 16(16)