the fight for surviving in the iot world - radu vunvulea
TRANSCRIPT
![Page 1: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/1.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
The fight for surviving in the IoT
world
Radu Vunvulea
Company: iQuest Technologies
Twitter: @RaduVunvulea
Blog: vunvulearadu.blogspot.com
![Page 2: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/2.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Many thanks to our sponsors & partners!
GOLD
SILVER
PARTNERS
PLATINUM
POWERED BY
![Page 3: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/3.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Why surviving?Complex project, on cheap devices, distributed all around the
world, where you deploy one time,
run for years and you don’t restart
the system
![Page 4: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/4.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Why surviving?Complex projects on cheap devices,
distributed all around the world
where you deploy one time, run for years
without touching the system
![Page 5: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/5.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Radu Vunvulea
Technology enthusiastic
Azure MVP
Blogger
Speaker
Open minded
Geek
MCP/MCTS
![Page 6: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/6.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
GE predicts investment in Industrial Internet of Things
of $60 trillion during the next 15 years
Future of IoT
= 8000$
![Page 7: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/7.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
15.4117.68
20.3623.14
26.66
30.73
35.82
42.62
51.11
62.14
75.44
0
10
20
30
40
50
60
70
80
2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025
IoT installed base (billions)
![Page 8: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/8.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Em
bed
ded
OS
• Low-power WiFi device
• Smart building, smart metersTinyOS
• Memory efficient, WiFi sensors
• 2 KB memory, 40 KB ROMContiky
• Energy efficient
• Multiple platform supportMantins
• Full RTOS
• Control resources at task levelNano-RK
• Power usage
• Numerous hardware supportRIOT OS
• Most popular RTOS, industry certified
• Used in healthcare and aerospace WindRiver VxWorks
![Page 9: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/9.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Hardware
![Page 10: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/10.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Mainstream system
128+ cores
512+ GB memory
10TB+ HDD
100.000$
![Page 11: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/11.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
![Page 12: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/12.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
IoT Devices
4 cores
128 MB memory
4GB+ Flash
20 $
![Page 13: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/13.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
.NET System Requirements
Version CPU Memory Disk Space
.NET 2.0 400 MHz 96 MB 500 MB
.NET 3.5 400 MHz 96 MB 500 MB
.NET 4.0 1 GHz 512 MB 850 MB (x86)2 GB (x64)
.NET 4.5+ 1 GHz 512 MB 4.5 GB
![Page 14: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/14.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
No minimum requirements, as long as you run a
supported OS (Windows, Ubuntu, CentOS, OS X)
Samples on GitHub that use less then10 MB of memory
Based on your application complexity, NFR and what
other packages you are using you will need more or less
resources
.NET Core System Requirements
![Page 15: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/15.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
DEMOTake a look on how many
resources a .NET Core app uses
![Page 16: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/16.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
How does the architecture
of a .NET project looks like?
![Page 17: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/17.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Classical .NET Project X-ray
A lot of projectsMany external
referencesSlow start
Complex logicHigh consumer of memory and
CPU
Complex tracing and debugging
Limited to Windows OS
“High” hardware
requirements
Complex library footprint
![Page 18: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/18.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
• How many projects you have in your .NET Solution?
• How many Visual Studio solutions you have in your
project?
• How many lines of code does your system has?
Classical .NET Project X-ray
![Page 19: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/19.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
• How many projects you have in your .NET Solution?
Max(all) = 232
• How many Visual Studio solutions you have in your
project?
8 .NET, 3 C++, 1 Node.JS
• How many lines of code does your system have?
5.4 Millions
Classical .NET Project X-ray
![Page 20: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/20.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
![Page 21: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/21.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
IoT System Requirements
Low CPU
Less Memory
Small disk size
Long battery life
As small as possible
No 3rd parties cost
![Page 22: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/22.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
CPU: 400 MHz processor
Memory: 256 MB of memory
Storage: 2 GB
Can you write an app in .NET for…
![Page 23: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/23.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
CPU: 400 MHz processor
Memory: 256 MB of memory
Storage: 2 GB
You might be able to do this in .NET 2.0 (3.5), but it
will be fun and challenging
Can you write an app in .NET for…
![Page 24: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/24.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
![Page 25: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/25.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
DEMO.NET Core footprint running on Raspberry PI 3
![Page 26: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/26.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Windows IoT Core NOOBS (Linux)
Hello Word CPU: 3.5%Memory:
CPU: 3%Memory:
Image processing(one core)
CPU: 98.7%Memory: 19.40MBDisk Size: 7.5KBDuration: 46415s
CPU: 98.9%Memory: 19.45MBDisk Size: 7.5KBDuration: 46405s
PI Calculation(one core)
CPU: 99%Memory: 59.80MBDisk Size: 7.5KBDuration: 64s
CPU: 99%Memory: 59.39MBDisk Size: 7.5KBDuration: 64s
Disk IO(one core)
CPU: 92%Memory: 18.95MBDisk Size: 7.5KBDuration: 2611s
CPU: 89.92%Memory: 19.20MBDisk Size: 7.5KBDuration: 2612s
![Page 27: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/27.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Average CPU
75
80
85
90
95
100
105
![Page 28: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/28.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Windows 10 IoT Core
Industry grade
Robust
Enterprise proven security
Easy to scale
Instant connectivity
![Page 29: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/29.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Hardware requirements:
CPU 400 MHz
Memory 256 MB
Storage 2 GB
Except core system, everthing else is optional
+Universal Apps -No shell
+Drivers -MS apps
Windows 10 IoT Core
![Page 30: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/30.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Windows 10
Editions
W10 IoT Core
W10 IoT for Mobile
Devices
W10 IoT for
industry devices
![Page 31: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/31.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Windows 10
Editions
W10 IoT Core
W10 IoT for Mobile
Devices
W10 IoT for
industry devices
Included:• Windows Updates• Visual Studio • UWP and UI• Security and Identity• Integrated Device
Connectivity• Microsoft Azure IoT
![Page 32: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/32.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
W10 IoT Core
• ARM, x86, x64
• 256MB
• 2GB
• Universal Apps
• Core Drivers
• No Shell
• No MS App
W10 for Mobile Devices
• ARM
• 512MB
• 4GB
• Modern Shell
• Mobile Apps
• Universal Apps
• Core Drivers
W10 for Industry Devices
• x86, x64
• 1GB
• 16GB
• Desktop Shell
• Win32 Apps
• Universal Apps
• Core Drivers
![Page 33: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/33.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Is this enough for IoT?
![Page 34: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/34.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
.NET Core and IoT
Industry
![Page 35: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/35.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
• Flexible deployment
• Cross-platform
• Open Source
• Modular
Well known features
![Page 36: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/36.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Runs on Linux, not only on Windows
Windows is not so common on
• IoT Devices
• IoT Gateway
Development complexity smaller than in C++
1. Cross platform
![Page 37: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/37.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Framework installation not required
Feature centric packages oriented
Footprint reduced
Deploy only what you use
2. Modular
![Page 38: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/38.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Web Sockets
Custom channel
Peer trust certificate authentication
Windows authentication with explicit credentials
(HTTP, NetTcp) – Windows only
(No) Message level security support
(No) SpnEndpointIdentity supported
3. System Model (WCF) support
![Page 39: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/39.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Direct deployment of the app from Visual Studio
Build and deploy Windows image with your
application on the flash memory
Well defined upgrade and versioning policies at
Package level
4. Remote deployment
![Page 40: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/40.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Allows to develop and test in a virtualized system that
is closer to the real one
Optimize time spent during development and testing
Reduce integration complexity
Increase learning curve
5. Docker
![Page 41: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/41.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
.NET Core vs Node.JS (embedded)
.NET Core
Open source
Support from Microsoft and other vendors
Existing integrators
Well known language in enterprise world
Node.JS
Random CPU spikes
No PoC for IoT industry
No big players (IoT)
Lack of specific IoT libraries
![Page 42: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/42.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
.NET Core vs C++ (embedded)
.NET Core
Linux and Windows
Less development time
Easy to test and deploy
Easy to learn and use
C++
Cross platform
Good support for embedded systems
Very fast
Optimize for embedded
![Page 43: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/43.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Ro
ad
map
Windows 10 IoT Core
• It is on the right path
• Great for middleware (gateway)
• Industry grade
.NET Core
• Modular, fast and optimize for current needs
• Next generation of .NET framework
• The right framework for new projects
![Page 44: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/44.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Final Thoughts
![Page 45: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/45.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
• Small footprint and fast
• Run on multiple devices
• Rapid development
• Flexible, modular and configurable
Windows 10 IoT Core
• Cross platform
• Door opener
• Easy to develop, deploy and maintain
• Fast learning curve
• Well known
.NET Core
![Page 46: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/46.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
• Small footprint and fast
• Run on multiple devices
• Rapid development
• Flexible, modular and configurable
Windows 10 IoT Core
• Cross platform
• Door opener
• Easy to develop, deploy and maintain
• Fast learning curve
• Well known
.NET Core
![Page 47: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/47.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Questions
Answers
![Page 48: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/48.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
{“name” : “Radu Vunvulea,“blog” : “vunvulearadu.blogspot.com”,
“email” : ”[email protected]”,“socialMedia” :
{“twitter” : “@RaduVunvulea”,“fb” : “radu.vunvulea”
}
}
![Page 49: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/49.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
https://developer.microsoft.com/en-us/windows/iot
What’s Next
![Page 50: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/50.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
{“name” : “Radu Vunvulea,“blog” : “vunvulearadu.blogspot.com”,
“email” : ”[email protected]”,“socialMedia” :
{“twitter” : “@RaduVunvulea”,“fb” : “radu.vunvulea”
}
}
![Page 51: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/51.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Many thanks to our sponsors & partners!
GOLD
SILVER
PARTNERS
PLATINUM
POWERED BY
![Page 52: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/52.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
![Page 53: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/53.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
![Page 54: The fight for surviving in the IoT world - Radu Vunvulea](https://reader036.vdocuments.mx/reader036/viewer/2022070606/5aada5e27f8b9a5b408b47c7/html5/thumbnails/54.jpg)
@ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Q & A