the fight for surviving in the iot world - radu vunvulea

Post on 18-Mar-2018

362 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

@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

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

Many thanks to our sponsors & partners!

GOLD

SILVER

PARTNERS

PLATINUM

POWERED BY

@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

@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

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

Radu Vunvulea

Technology enthusiastic

Azure MVP

Blogger

Speaker

Open minded

Geek

MCP/MCTS

@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$

@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)

@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

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

Hardware

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

Mainstream system

128+ cores

512+ GB memory

10TB+ HDD

100.000$

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

IoT Devices

4 cores

128 MB memory

4GB+ Flash

20 $

@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

@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

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

DEMOTake a look on how many

resources a .NET Core app uses

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

How does the architecture

of a .NET project looks like?

@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

@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

@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

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

@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

@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…

@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…

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

DEMO.NET Core footprint running on Raspberry PI 3

@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

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

Average CPU

75

80

85

90

95

100

105

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

Windows 10 IoT Core

Industry grade

Robust

Enterprise proven security

Easy to scale

Instant connectivity

@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

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

Windows 10

Editions

W10 IoT Core

W10 IoT for Mobile

Devices

W10 IoT for

industry devices

@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

@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

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

Is this enough for IoT?

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

.NET Core and IoT

Industry

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

• Flexible deployment

• Cross-platform

• Open Source

• Modular

Well known features

@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

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

Framework installation not required

Feature centric packages oriented

Footprint reduced

Deploy only what you use

2. Modular

@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

@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

@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

@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

@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

@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

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

Final Thoughts

@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

@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

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

Questions

Answers

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

{“name” : “Radu Vunvulea,“blog” : “vunvulearadu.blogspot.com”,

“email” : ”vunvulear@outlook.com”,“socialMedia” :

{“twitter” : “@RaduVunvulea”,“fb” : “radu.vunvulea”

}

}

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

https://developer.microsoft.com/en-us/windows/iot

What’s Next

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

{“name” : “Radu Vunvulea,“blog” : “vunvulearadu.blogspot.com”,

“email” : ”vunvulear@outlook.com”,“socialMedia” :

{“twitter” : “@RaduVunvulea”,“fb” : “radu.vunvulea”

}

}

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

Many thanks to our sponsors & partners!

GOLD

SILVER

PARTNERS

PLATINUM

POWERED BY

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

@ITCAMPRO #ITCAMP17Community Conference for IT Professionals

Q & A

top related