This document discusses building an Internet of Things (IoT) cloud platform without vendor lock-in. It proposes abstracting the different layers of an IoT platform, including the execution platform using Docker containers, and storage using a decentralized open source platform. This would allow the platform resources to be easily changed between providers without being locked into a single vendor. The goal is a hybrid IoT platform that runs across multiple public and private clouds without proprietary dependencies.
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
platform without vendor lock-in
1. From ideation to building.
From release to the future.
CODE FOR GROWTH
2. SCALABLE IOT CLOUD
PLATFORM WITHOUT VENDOR
LOCK-IN
EFICODE OY
SAKARI HOISKO
JARKKO SILLANPÄÄ
KIRSI KORHONEN
KAI JOKINIEMI
3. AGENDA OF THE DAY
● Prewords
● Vendor lock-in
● What is an IoT platform?
● Sources of vendor lock-in in IoT platform
● Execution platform
● Iot platform without vendor lock-in
4. PREWORDS
● Focus on abstracting resource provider services and using
containers on top of it
● Abstraction makes on-the-fly provider change and hybrid cloud
creation possible in the services
● Does not compete with resource providers as it depends on
them
● Abstraction is needed to avoid vendor lock-in in every layer level
6. VENDOR LOCK-IN
● When a customer using a product or a service cannot easily
transition to a competitor’s product or service.
○ Usually the result of proprietary technologies being
incompatible with competitor technologies
● The fear of vendor lock-in to someone else’s system is often
cited as a major impediment for cloud service adoption
● Common reasoning to avoid vendor lock-in are flexibility,
legislation, contractual and financial
7. WHAT IS AN IOT PLATFORM?
● Simply, the purpose of any IoT device is to connect with
other IoT devices and applications to relay information
● Connects the data network to the sensor arrangement
● Provides insight using backend applications to make
sense of plethora of data measurements generated by a
massive amount of sensors
8. BASE CONTENT OF IOT CORE PLATFORM
● Device management
● Connectivity options
● Access Management & Authentication
● Data storage
● Analytics engine
● Server environment
● APIs (northbound and southbound)
○ Accessing device registry
○ Collecting data
○ Accessing data
IoT Core
Architecture
Application
Analytics
Data
Connectivity
Devices and external
3dr party applications
9. CLOUD IOT PLATFORM VENDOR LOCK-IN
● Depends on provider specificity of:
○ Data format
○ Implementation requirements
○ Storage
○ Connection layer
● How open, standardized and modular the system and its APIs are?
● Are data import and export functions available and do they generate
data that could be used with other providers?
11. ABSTRACT EXECUTION PLATFORM
LAYER● Docker is one way to abstract execution
platform resources
● Docker Engine Cluster hides provider’s
computing resources
● Overlay network hides provider
networks
● Orchestration re-scheduling makes
managing execution platform possible
on-the-fly when executed SW is
implemented wisely
○ Adding and removing individual
nodes safely
Azure VMs
AWS VMs
Private VMs
DigitalOC VMs
Docker
Engine
Cluster
OverlayNetwork
Docker
Engine
Cluster
OverlayNetwork
12. ABSTRACT STORAGE IN PLATFORM
LAYER● Requires open source decentralized
software-based storage platform with secure over
internet communication
● Transforms commodity servers into a flexible,
scalable, secure and fault-tolerant storage
infrastructure
● Looks like a single point block, object or file
storage, but made up of cluster style nodes able
to be modified on-the-fly
● Redundancy similar to RAID5-6, but better, as
replication can be defined in SW level
● Available on top of Linux/Windows/Mac or cloud
storage providers, through command-line tools
and APIs
AWS
+10G
AWS
+10G
DigitalOC
+20G
70G
Azure
+25G
95G
Priv.
+10G
85G
DigitalOC
+20G
14. IOT PLATFORM WITHOUT LOCK-IN
● To avoid customer lock-in in
middleware, one option is to
use open source platforms
that support sandboxing
● Possible solution needs to
support
○ Docker deployments
○ Execution with clusters Azure
VMs
AWS
VMs
DigitalOC
VMs
Computing
Resources
Docker engines and storage Cluster
Execution
platform
Private
Cloud
VMs
IoT Core platform in ContainersMiddleware
IoT devices and 3rd party tools/appsCustomer
layer
Connectivity
layer
Module style implementation