To satisfy most of the needs in the development of IoT and IIoT, we’ve been building a general platform.
The main component of this platform is the Dell PowerEdge R7525 2U Rack Server for High Performance Computing. Central processing is executing on two AMD Epyc 7502P processors (2 x 32core/64thread). There are 256GB of RAM and the raw storage capacity is around 12 Terabytes of SSD. All the heavy parallel calculations can be handled with Nvidia A100 Tensor Core GPU.
For research, custom dedicated server like this gives great overview on how the cloud end is built and it shows the true costs of having such a platform. It is also the only no-compromise solution to research the topic. Understanding the IoT from the cloud perspective at this level allows to proceed on the research with confidence and make the right decisions on the underlying technologies to build the ultimate IoT Platform.
Resource utilization
To get full picture on how this resource is utilized, there is a picture below showing the overview on the setup. On the left is the hardware which contains all the necessary components for any server plus the accelerator card (A100). All the resources are then virtualized using Proxmox. This gives great flexibility on the overall setup, since it is possible to create Virtual Machines or use the light weight Linux Containers (LXC) out of the box.
The accelerator card was then used in a Virtual Machine via PCIe Pass-through, which then handled the MIG-allocation itself using Docker. This was ideal solution on research like this, since it would have been easier to change the system down the road if necessary. One alternative to Docker would have been Singularity. In the beginning of the 2021, Docker seemed the best option, so it has been our choice since then.
IoT Services
In the right side of the picture above, we may see the services described with broad terms. In IoT, those four topics are most likely part of any IoT Platform in the cloud. First there is the connectivity, which is the Internet obviously. But connectivity in IoT is more than just the Internet connection. It is combination of protocols, APIs, firewall rules, buffering, bandwidth, security etc. To overcome the hurdle of many configurations, our scoping on connectivity topic is staying near web-technologies. It is widely supported and is suitable for most data transfer operations.
Data storing is one key area which really shows the benefits of having such a platform for research. Understanding the underlying storage medium combined with the data structure knownledge, we are able to setup the most efficient way to store data. Proper data storing requires understanding on storage medium (SSDs, HDDs), controllers (RAIDs and HBA+software RAID), databases & filesystems, data retention, backups and so on. One other thing to note on data storing, is that most of the time storing data in single place respecting SSOT (Single Source Of Truth) makes things less complicated on the data retrieval (for analytics, visualization etc).
Analysing this data is the focus of ITKO. Making sense out of all the collected data, this platform allows us to install almost any data science tool. Our main focus has been on the open-source tools like Jupyter Notebook and RStudio. These tools works well on the platform and combining the tools with the data nearby, it makes analytics fast. And to consume the processed data, we’ve been visualizing it mainly with Grafana, but also with the Jupyter Notebook.
Cloud vs Dedicated Servers
Even though we are using dedicated servers to research the IoT, we’ve been mainly recommending any company to stick with already available cloud solutions. To find best suitable solutions for problems, dedicated servers offers the great flexibility and makes achieving small important goals better. For combination of IT tasks like many companies do have, cloud solutions offers broad selection of common tooling out of the box providing great success on any incoming task. For small companies the up-front cost to start things in cloud is also much lower and sometimes the maintenance costs can be also less. For medium to large sized companies the cloud tends to offer great scalability.
For some tech enthusiast companies, hybrid cloud could be ideal solution, since it brings the best of both worlds. Having dedicated gear gives great insight on systems allowing to pursue with the latest softwares. Cloud is good for solving all the common company IT requirements in the Internet.