Skip to content

Software Stack and Deployment

Marcus Gomes edited this page May 21, 2015 · 3 revisions

Software Stack and Deployment

With the implementation of Cloud4Things we hope to answer a few important questions related with the Deployment and Software Stack required by a Cloud-based IoT application, which in this work we are center our efforts in the scenario that uses a EPC application.

With this work we want to determine what is the best approach to deploy an EPC application in a Cloud environment regarding the effort spent to deploy the application and also the stack required to deploy the application.

Another concern with the adopted approach regards with the application performance:

  • How the application stack affect some performance metrics that are important regarding EPC applications, such as Network Delay ?

  • How does the application stack affect the resources consumed by the application, i.e, the amount of RAM, CPU utilization, etc.

In order to answer these questions, our work consists in to prototype different approaches to deploy and provisioning the components of the application. After that we will compare these different approaches in order to determine what is the most effective approach to deploy a Cloud-based EPC application.

EPC Software Stack (Fosstrak)

Fosstrak is a open source RFID software platform that implements the EPC Network specifications. The Fosstrak software stack is composed by the following modules:

  • EPCIS Repository
  • Tag Data Translation (TDT) Engine
  • Filter & Collection Middleware with ALE and LLRP Support
  • LLRP Commander

In our work, we want to deploy a capturing application that will run in a smart place that contains tagged objects and are monitored by RFID readers that are installed in the place. To deploy these capturing application we will use the EPCIS Repository and the Filtering and Collection modules of Fosstrak. Thus our software stack is composed by the following components:

  • The EPCIS Repository server
  • The Capture Application server
  • The Filtering and Collection server
  • The Filtering and Collection configuration client server

Additionally we will need to install:

  • A MySQL database that stores the events all the event data that is sent to the EPCIS repository.
  • A Servlet container, Apache Tomcat
  • JDK 1.6+

Docker + Configuration Management Tool

An approach is to combine a Configuration Management Tool (CM) such as Chef or Puppet with Docker.

VM Images

An approach to deploy and provisioning the software stack required by the EPC application is to perform the configuration of a virtual image(s) containing all the necessary resources and then export these virtual images to a Cloud provider.

Compared with using a CM Tool like Chef and Puppet, this approach requires more manual work, but is faster to execute, because you don't need to learn how to use a CM tool.

The problem with these approach is that after the servers are deployed, the verification and management of these images is made by hand. In order to solve these issue we can use the CM tools to monitoring and manage those servers.

Clone this wiki locally