SlideShare a Scribd company logo
1 of 17
How to drive haul truck in Australia,
sitting in Kiev
True story of success of one near-IoT project
t WITH PASSION TO TECHNOLOGY
Andrii Tararaka
.NET CONFERENCE #1 IN UKRAINE, KYIV 2018
t .NET LEVEL UP
KYIV 2018
About me
• Lead Software Engineer @ EPAM Systems, Ukraine.
• Key developer on project, which goals is to implement near real-time
monitoring system for equipment in open mines.
• Author of in-house UI platform for creating LoB applications.
• …
t .NET LEVEL UP
KYIV 2018
About project
• System for monitoring all types of equipment in open mines.
• Implemented on .NET stack from IoT app up to UI client app
• IoT app implemented for WindowsCE
• Backend hosted in Azure
• UI client app implemented on WPF
t .NET LEVEL UP
KYIV 2018
How it all worked for a long long time…
Field
Gateway
Central
t .NET LEVEL UP
KYIV 2018
Problems and Limitations
• It’s almost impossible to simulate field environment during
development
• Fully manual deployment
• IT Security on field is very important and local IT department is
blocking all unknown traffic
• Each part was developed with legacy technology stack and almost
everywhere the wheel was reinvented
t .NET LEVEL UP
KYIV 2018
What would be great to have
• Quick and Easy deployment simulation on regular dev machine
• Migrate in-house components to cross-platform .NET Core as much as
possible
• Minimize number of in-house frameworks with help of stable 3rd party
libraries
• Support “Data Streaming” for any kind of data
• Make production deployment fully automated
t .NET LEVEL UP
KYIV 2018
CloudField Gateway
Flume
4545
Kafka Apache NiFi
Big Data Storage
Zookeeper
2181
RabbitMQ
5672, 15672
Adapter Connector
Flume
4545
IoT App [Legacy]
IoT App
t .NET LEVEL UP
KYIV 2018
Pros and cons
• Field gateway as hub for all messages
• Built-in “store and forward”
• Migrated to stable 3rd party components
• Scalable architecture
• For us whole deployment is still “Black Box”, we need more info from
all parts
t .NET LEVEL UP
KYIV 2018
CloudField Gateway
Flume
4545
Kafka Apache NiFi
Big Data Storage
Chronograf
8888
Kapacitor
9092
InfluxDB
8086
Grafana
3000
Telegraf
In/Out: 8186
Zookeeper
2181
RabbitMQ
5672, 15672
Adapter Connector
Flume
4545
Chronograf
8888
Kapacitor
9092
InfluxDB
8086
Grafana
3000
Telegraf
In/Out: 8186
IoT App [Legacy]
IoT App
t .NET LEVEL UP
KYIV 2018
Pros and cons
• Monitoring of all components in Field and Cloud
• Alerts for critical metrics in Field and Cloud
• Separate dashboards for Field and Cloud deployment in Grafana
• Centralized collecting of logs and metrics
• Lack of secure connection between Field and Cloud
• Need to have easy access to all web-based components
t .NET LEVEL UP
KYIV 2018
Part #3
CloudField Gateway Internet
Flume
4545
SSH Server
Auto SSH
In/Out: 22
Portainer
9000
Traefik
In/Out: 80, 443
Kafka Apache NiFi
Big Data Storage
Chronograf
8888
Kapacitor
9092
InfluxDB
8086
Grafana
3000
Telegraf
In/Out: 8186
Zookeeper
2181
RabbitMQ
5672, 15672
Adapter Connector
Auto SSH
In/Out: 22
Flume
4545
Portainer
9000
Traefik
In/Out: 80, 443
Chronograf
8888
Kapacitor
9092
InfluxDB
8086
Grafana
3000
Telegraf
In/Out: 8186
IoT App [Legacy]
IoT App
t .NET LEVEL UP
KYIV 2018
Part #3
Auto SSH Auto SSH
-L 0.0.0.0:4545:0.0.0.0:4545 -R 0.0.0.0:4545:flume:4545
SSH Server
Field Network Internet Cloud
t .NET LEVEL UP
KYIV 2018
Pros and cons
• Great and simple secure connection between Field and Cloud
• Only one port used
• Easy to control network traffic (start/stop/resume)
• We need automatic (and if it’s possible remote) deployment process
t .NET LEVEL UP
KYIV 2018
Part #3
CloudField Gateway Internet
Flume
4545
SSH Server
Auto SSH
In/Out: 22
Portainer
9000
Traefik
In/Out: 80, 443
Kafka Apache NiFi
Big Data Storage
Chronograf
8888
Kapacitor
9092
InfluxDB
8086
Grafana
3000
Telegraf
In/Out: 8186
Zookeeper
2181
RabbitMQ
5672, 15672
Adapter Connector
VSTS Agent
443
Auto SSH
In/Out: 22
Flume
4545
Portainer
9000
Traefik
In/Out: 80, 443
Chronograf
8888
Kapacitor
9092
InfluxDB
8086
Grafana
3000
Telegraf
In/Out: 8186
IoT App [Legacy]
IoT App
t .NET LEVEL UP
KYIV 2018
Overall results
• Used stable 3rd party components wherever it’s possible to reduce custom code base
• Started migration to .NET Core
• Decoupled and scalable architecture
• Added monitoring and log collection solutions
• Added alerts and notifications for critical metrics
• Added secure connection between Field and Cloud
• Added automatic and remote deployment
t .NET LEVEL UP
KYIV 2018
How to contact with me
andrii.tararaka andrii.tararaka@gmail.com
Тема доклада
Тема доклада
Тема доклада
KYIV 2018
Thank you!
.NET CONFERENCE #1 IN UKRAINE

More Related Content

What's hot

Operationalizing Docker at Scale: Lessons from Running Microservices in Produ...
Operationalizing Docker at Scale: Lessons from Running Microservices in Produ...Operationalizing Docker at Scale: Lessons from Running Microservices in Produ...
Operationalizing Docker at Scale: Lessons from Running Microservices in Produ...SignalFx
 
Zetta js Hands on IoT
Zetta js   Hands on IoT Zetta js   Hands on IoT
Zetta js Hands on IoT Anil Sagar
 
OSMC 2017 | Icinga 2 Multi Zone HA Setup using Ansible by Toshaan Bharvani
OSMC 2017 | Icinga 2 Multi Zone HA Setup using Ansible by Toshaan BharvaniOSMC 2017 | Icinga 2 Multi Zone HA Setup using Ansible by Toshaan Bharvani
OSMC 2017 | Icinga 2 Multi Zone HA Setup using Ansible by Toshaan BharvaniNETWAYS
 
DevSecOps - Security in DevOps
DevSecOps - Security in DevOpsDevSecOps - Security in DevOps
DevSecOps - Security in DevOpsAarno Aukia
 
Icinga Camp New York 2018 - Icinga2 and Elastic
Icinga Camp New York 2018 - Icinga2 and ElasticIcinga Camp New York 2018 - Icinga2 and Elastic
Icinga Camp New York 2018 - Icinga2 and ElasticIcinga
 
FIWARE Global Summit - Building Your Own IoT Agent
FIWARE Global Summit - Building Your Own IoT AgentFIWARE Global Summit - Building Your Own IoT Agent
FIWARE Global Summit - Building Your Own IoT AgentFIWARE
 
GNAT Pro User Day: Ada at Ansaldo STS
GNAT Pro User Day: Ada at Ansaldo STSGNAT Pro User Day: Ada at Ansaldo STS
GNAT Pro User Day: Ada at Ansaldo STSAdaCore
 
GNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality
GNAT Pro User Day: GNATdashboard - Tracking and Improving Software QualityGNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality
GNAT Pro User Day: GNATdashboard - Tracking and Improving Software QualityAdaCore
 
GNAT Pro User Day: Ada Factory
GNAT Pro User Day: Ada FactoryGNAT Pro User Day: Ada Factory
GNAT Pro User Day: Ada FactoryAdaCore
 
Nagios Conference 2014 - Paloma Galan - Monitoring Financial Protocols With N...
Nagios Conference 2014 - Paloma Galan - Monitoring Financial Protocols With N...Nagios Conference 2014 - Paloma Galan - Monitoring Financial Protocols With N...
Nagios Conference 2014 - Paloma Galan - Monitoring Financial Protocols With N...Nagios
 
Blockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded...
Blockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded...Blockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded...
Blockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded...Mike Qin
 
FIWARE Global Summit - Connecting to IoT
FIWARE Global Summit - Connecting to IoTFIWARE Global Summit - Connecting to IoT
FIWARE Global Summit - Connecting to IoTFIWARE
 
Will ServerLess kill containers and Operations
Will ServerLess kill containers and OperationsWill ServerLess kill containers and Operations
Will ServerLess kill containers and OperationsStephane Woillez
 
Cayenne mydevices presentation
Cayenne  mydevices presentation Cayenne  mydevices presentation
Cayenne mydevices presentation Telexine
 
Microwaves vs Humans: How to secure your cloud
Microwaves vs Humans: How to secure your cloudMicrowaves vs Humans: How to secure your cloud
Microwaves vs Humans: How to secure your clouddlapiduz
 
Rvp 2.0 platform ov_20210512_en
Rvp 2.0 platform ov_20210512_enRvp 2.0 platform ov_20210512_en
Rvp 2.0 platform ov_20210512_enTaeSuhkSuh
 
[old] Network Performance Monitoring for DevOps and IT
[old] Network Performance Monitoring for DevOps and IT[old] Network Performance Monitoring for DevOps and IT
[old] Network Performance Monitoring for DevOps and ITSite24x7
 
SylkServer: State of the art RTC application server
SylkServer: State of the art RTC application serverSylkServer: State of the art RTC application server
SylkServer: State of the art RTC application serverSaúl Ibarra Corretgé
 
Hystrix make your app bullet proof
Hystrix   make your app bullet proofHystrix   make your app bullet proof
Hystrix make your app bullet proofMarcin Kłopotek
 
Using Stackdriver with MongoDB
Using Stackdriver with MongoDBUsing Stackdriver with MongoDB
Using Stackdriver with MongoDBignatow
 

What's hot (20)

Operationalizing Docker at Scale: Lessons from Running Microservices in Produ...
Operationalizing Docker at Scale: Lessons from Running Microservices in Produ...Operationalizing Docker at Scale: Lessons from Running Microservices in Produ...
Operationalizing Docker at Scale: Lessons from Running Microservices in Produ...
 
Zetta js Hands on IoT
Zetta js   Hands on IoT Zetta js   Hands on IoT
Zetta js Hands on IoT
 
OSMC 2017 | Icinga 2 Multi Zone HA Setup using Ansible by Toshaan Bharvani
OSMC 2017 | Icinga 2 Multi Zone HA Setup using Ansible by Toshaan BharvaniOSMC 2017 | Icinga 2 Multi Zone HA Setup using Ansible by Toshaan Bharvani
OSMC 2017 | Icinga 2 Multi Zone HA Setup using Ansible by Toshaan Bharvani
 
DevSecOps - Security in DevOps
DevSecOps - Security in DevOpsDevSecOps - Security in DevOps
DevSecOps - Security in DevOps
 
Icinga Camp New York 2018 - Icinga2 and Elastic
Icinga Camp New York 2018 - Icinga2 and ElasticIcinga Camp New York 2018 - Icinga2 and Elastic
Icinga Camp New York 2018 - Icinga2 and Elastic
 
FIWARE Global Summit - Building Your Own IoT Agent
FIWARE Global Summit - Building Your Own IoT AgentFIWARE Global Summit - Building Your Own IoT Agent
FIWARE Global Summit - Building Your Own IoT Agent
 
GNAT Pro User Day: Ada at Ansaldo STS
GNAT Pro User Day: Ada at Ansaldo STSGNAT Pro User Day: Ada at Ansaldo STS
GNAT Pro User Day: Ada at Ansaldo STS
 
GNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality
GNAT Pro User Day: GNATdashboard - Tracking and Improving Software QualityGNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality
GNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality
 
GNAT Pro User Day: Ada Factory
GNAT Pro User Day: Ada FactoryGNAT Pro User Day: Ada Factory
GNAT Pro User Day: Ada Factory
 
Nagios Conference 2014 - Paloma Galan - Monitoring Financial Protocols With N...
Nagios Conference 2014 - Paloma Galan - Monitoring Financial Protocols With N...Nagios Conference 2014 - Paloma Galan - Monitoring Financial Protocols With N...
Nagios Conference 2014 - Paloma Galan - Monitoring Financial Protocols With N...
 
Blockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded...
Blockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded...Blockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded...
Blockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded...
 
FIWARE Global Summit - Connecting to IoT
FIWARE Global Summit - Connecting to IoTFIWARE Global Summit - Connecting to IoT
FIWARE Global Summit - Connecting to IoT
 
Will ServerLess kill containers and Operations
Will ServerLess kill containers and OperationsWill ServerLess kill containers and Operations
Will ServerLess kill containers and Operations
 
Cayenne mydevices presentation
Cayenne  mydevices presentation Cayenne  mydevices presentation
Cayenne mydevices presentation
 
Microwaves vs Humans: How to secure your cloud
Microwaves vs Humans: How to secure your cloudMicrowaves vs Humans: How to secure your cloud
Microwaves vs Humans: How to secure your cloud
 
Rvp 2.0 platform ov_20210512_en
Rvp 2.0 platform ov_20210512_enRvp 2.0 platform ov_20210512_en
Rvp 2.0 platform ov_20210512_en
 
[old] Network Performance Monitoring for DevOps and IT
[old] Network Performance Monitoring for DevOps and IT[old] Network Performance Monitoring for DevOps and IT
[old] Network Performance Monitoring for DevOps and IT
 
SylkServer: State of the art RTC application server
SylkServer: State of the art RTC application serverSylkServer: State of the art RTC application server
SylkServer: State of the art RTC application server
 
Hystrix make your app bullet proof
Hystrix   make your app bullet proofHystrix   make your app bullet proof
Hystrix make your app bullet proof
 
Using Stackdriver with MongoDB
Using Stackdriver with MongoDBUsing Stackdriver with MongoDB
Using Stackdriver with MongoDB
 

Similar to .NET Fest 2018. Андрей Тарарака. Как порулить грузовиком в Австралии, находясь в Киеве. Реальная история успеха одного около-IoT проекта

Industrial transformation-simplified-with-mqtt-and-sparkplug
Industrial transformation-simplified-with-mqtt-and-sparkplugIndustrial transformation-simplified-with-mqtt-and-sparkplug
Industrial transformation-simplified-with-mqtt-and-sparkplugHugoMller5
 
The Current And Future State Of Service Mesh
The Current And Future State Of Service MeshThe Current And Future State Of Service Mesh
The Current And Future State Of Service MeshRam Vennam
 
QIoT 您專屬的私有雲平台 - 新知講堂 - 20170421
QIoT 您專屬的私有雲平台 - 新知講堂 - 20170421QIoT 您專屬的私有雲平台 - 新知講堂 - 20170421
QIoT 您專屬的私有雲平台 - 新知講堂 - 20170421Anderson Cheng
 
Connecting the Smart Factory to the Cloud
Connecting the Smart Factory to the CloudConnecting the Smart Factory to the Cloud
Connecting the Smart Factory to the CloudHiveMQ
 
Connecting the smart factory to the cloud with MQTT and Sparkplug
Connecting the smart factory to the cloud with MQTT and SparkplugConnecting the smart factory to the cloud with MQTT and Sparkplug
Connecting the smart factory to the cloud with MQTT and SparkplugIan Skerrett
 
HiveMQ + Kafka: The ideal solution for IoT MQTT data integration
HiveMQ + Kafka: The ideal solution for IoT MQTT data integrationHiveMQ + Kafka: The ideal solution for IoT MQTT data integration
HiveMQ + Kafka: The ideal solution for IoT MQTT data integrationMargarethaErber
 
Media processing with serverless architecture
Media processing with serverless architectureMedia processing with serverless architecture
Media processing with serverless architectureKensaku Komatsu
 
Exploring Risk and Mapping the Internet of Things with Autonomous Drones
Exploring Risk and Mapping the Internet of Things with Autonomous DronesExploring Risk and Mapping the Internet of Things with Autonomous Drones
Exploring Risk and Mapping the Internet of Things with Autonomous DronesPraetorian
 
HiveMQ + Kafka - The Ideal Solution for IoT MQTT Data Integration
HiveMQ + Kafka - The Ideal Solution for IoT MQTT Data IntegrationHiveMQ + Kafka - The Ideal Solution for IoT MQTT Data Integration
HiveMQ + Kafka - The Ideal Solution for IoT MQTT Data IntegrationHiveMQ
 
The Crucial Component of IoT Products by Aravinth Panchadcharam [ Senior Embe...
The Crucial Component of IoT Products by Aravinth Panchadcharam [ Senior Embe...The Crucial Component of IoT Products by Aravinth Panchadcharam [ Senior Embe...
The Crucial Component of IoT Products by Aravinth Panchadcharam [ Senior Embe...Next Big Thing AG
 
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...Weaveworks
 
IoT Data Streaming - Why MQTT and Kafka are a match made in heaven | Dominik ...
IoT Data Streaming - Why MQTT and Kafka are a match made in heaven | Dominik ...IoT Data Streaming - Why MQTT and Kafka are a match made in heaven | Dominik ...
IoT Data Streaming - Why MQTT and Kafka are a match made in heaven | Dominik ...HostedbyConfluent
 
Webinar: OpenStack Best Practices for Production
Webinar: OpenStack Best Practices for ProductionWebinar: OpenStack Best Practices for Production
Webinar: OpenStack Best Practices for ProductionPlatform9
 
NEC Platforms' Activity For IPv6 Deployment
NEC Platforms' Activity For IPv6 DeploymentNEC Platforms' Activity For IPv6 Deployment
NEC Platforms' Activity For IPv6 DeploymentAPNIC
 
Kafka Summit 2021 - Why MQTT and Kafka are a match made in heaven
Kafka Summit 2021 - Why MQTT and Kafka are a match made in heavenKafka Summit 2021 - Why MQTT and Kafka are a match made in heaven
Kafka Summit 2021 - Why MQTT and Kafka are a match made in heavenDominik Obermaier
 

Similar to .NET Fest 2018. Андрей Тарарака. Как порулить грузовиком в Австралии, находясь в Киеве. Реальная история успеха одного около-IoT проекта (20)

Industrial transformation-simplified-with-mqtt-and-sparkplug
Industrial transformation-simplified-with-mqtt-and-sparkplugIndustrial transformation-simplified-with-mqtt-and-sparkplug
Industrial transformation-simplified-with-mqtt-and-sparkplug
 
What's new in the integrated architecture hardware
What's new in the integrated architecture hardwareWhat's new in the integrated architecture hardware
What's new in the integrated architecture hardware
 
The Current And Future State Of Service Mesh
The Current And Future State Of Service MeshThe Current And Future State Of Service Mesh
The Current And Future State Of Service Mesh
 
QIoT 您專屬的私有雲平台 - 新知講堂 - 20170421
QIoT 您專屬的私有雲平台 - 新知講堂 - 20170421QIoT 您專屬的私有雲平台 - 新知講堂 - 20170421
QIoT 您專屬的私有雲平台 - 新知講堂 - 20170421
 
Connecting the Smart Factory to the Cloud
Connecting the Smart Factory to the CloudConnecting the Smart Factory to the Cloud
Connecting the Smart Factory to the Cloud
 
Connecting the smart factory to the cloud with MQTT and Sparkplug
Connecting the smart factory to the cloud with MQTT and SparkplugConnecting the smart factory to the cloud with MQTT and Sparkplug
Connecting the smart factory to the cloud with MQTT and Sparkplug
 
HiveMQ + Kafka: The ideal solution for IoT MQTT data integration
HiveMQ + Kafka: The ideal solution for IoT MQTT data integrationHiveMQ + Kafka: The ideal solution for IoT MQTT data integration
HiveMQ + Kafka: The ideal solution for IoT MQTT data integration
 
Monkey Server
Monkey ServerMonkey Server
Monkey Server
 
Media processing with serverless architecture
Media processing with serverless architectureMedia processing with serverless architecture
Media processing with serverless architecture
 
Iot in-production
Iot in-productionIot in-production
Iot in-production
 
Exploring Risk and Mapping the Internet of Things with Autonomous Drones
Exploring Risk and Mapping the Internet of Things with Autonomous DronesExploring Risk and Mapping the Internet of Things with Autonomous Drones
Exploring Risk and Mapping the Internet of Things with Autonomous Drones
 
HiveMQ + Kafka - The Ideal Solution for IoT MQTT Data Integration
HiveMQ + Kafka - The Ideal Solution for IoT MQTT Data IntegrationHiveMQ + Kafka - The Ideal Solution for IoT MQTT Data Integration
HiveMQ + Kafka - The Ideal Solution for IoT MQTT Data Integration
 
FieldServer for Integrators Overview
FieldServer for Integrators OverviewFieldServer for Integrators Overview
FieldServer for Integrators Overview
 
The Crucial Component of IoT Products by Aravinth Panchadcharam [ Senior Embe...
The Crucial Component of IoT Products by Aravinth Panchadcharam [ Senior Embe...The Crucial Component of IoT Products by Aravinth Panchadcharam [ Senior Embe...
The Crucial Component of IoT Products by Aravinth Panchadcharam [ Senior Embe...
 
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
 
IoT Data Streaming - Why MQTT and Kafka are a match made in heaven | Dominik ...
IoT Data Streaming - Why MQTT and Kafka are a match made in heaven | Dominik ...IoT Data Streaming - Why MQTT and Kafka are a match made in heaven | Dominik ...
IoT Data Streaming - Why MQTT and Kafka are a match made in heaven | Dominik ...
 
Webinar: OpenStack Best Practices for Production
Webinar: OpenStack Best Practices for ProductionWebinar: OpenStack Best Practices for Production
Webinar: OpenStack Best Practices for Production
 
NEC Platforms' Activity For IPv6 Deployment
NEC Platforms' Activity For IPv6 DeploymentNEC Platforms' Activity For IPv6 Deployment
NEC Platforms' Activity For IPv6 Deployment
 
Kafka Summit 2021 - Why MQTT and Kafka are a match made in heaven
Kafka Summit 2021 - Why MQTT and Kafka are a match made in heavenKafka Summit 2021 - Why MQTT and Kafka are a match made in heaven
Kafka Summit 2021 - Why MQTT and Kafka are a match made in heaven
 
PlantPAx system - what's new and what's next
PlantPAx system - what's new and what's nextPlantPAx system - what's new and what's next
PlantPAx system - what's new and what's next
 

More from NETFest

.NET Fest 2019. Николай Балакин. Микрооптимизации в мире .NET
.NET Fest 2019. Николай Балакин. Микрооптимизации в мире .NET.NET Fest 2019. Николай Балакин. Микрооптимизации в мире .NET
.NET Fest 2019. Николай Балакин. Микрооптимизации в мире .NETNETFest
 
.NET Fest 2019. Сергей Калинец. Efficient Microservice Communication with .NE...
.NET Fest 2019. Сергей Калинец. Efficient Microservice Communication with .NE....NET Fest 2019. Сергей Калинец. Efficient Microservice Communication with .NE...
.NET Fest 2019. Сергей Калинец. Efficient Microservice Communication with .NE...NETFest
 
.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET
.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET
.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NETNETFest
 
.NET Fest 2019. Оля Гавриш. Машинное обучение для .NET программистов
.NET Fest 2019. Оля Гавриш. Машинное обучение для .NET программистов.NET Fest 2019. Оля Гавриш. Машинное обучение для .NET программистов
.NET Fest 2019. Оля Гавриш. Машинное обучение для .NET программистовNETFest
 
.NET Fest 2019. Roberto Freato. Provisioning Azure PaaS fluently with Managem...
.NET Fest 2019. Roberto Freato. Provisioning Azure PaaS fluently with Managem....NET Fest 2019. Roberto Freato. Provisioning Azure PaaS fluently with Managem...
.NET Fest 2019. Roberto Freato. Provisioning Azure PaaS fluently with Managem...NETFest
 
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven DesignNETFest
 
.NET Fest 2019. Сергій Бута. Feature Toggles: Dynamic Configuration at Wirex
.NET Fest 2019. Сергій Бута. Feature Toggles: Dynamic Configuration at Wirex.NET Fest 2019. Сергій Бута. Feature Toggles: Dynamic Configuration at Wirex
.NET Fest 2019. Сергій Бута. Feature Toggles: Dynamic Configuration at WirexNETFest
 
.NET Fest 2019. Michael Staib. Hot Chocolate: GraphQL Schema Stitching with A...
.NET Fest 2019. Michael Staib. Hot Chocolate: GraphQL Schema Stitching with A....NET Fest 2019. Michael Staib. Hot Chocolate: GraphQL Schema Stitching with A...
.NET Fest 2019. Michael Staib. Hot Chocolate: GraphQL Schema Stitching with A...NETFest
 
.NET Fest 2019. Андрей Литвинов. Async lifetime tests with xUnit and AutoFixture
.NET Fest 2019. Андрей Литвинов. Async lifetime tests with xUnit and AutoFixture.NET Fest 2019. Андрей Литвинов. Async lifetime tests with xUnit and AutoFixture
.NET Fest 2019. Андрей Литвинов. Async lifetime tests with xUnit and AutoFixtureNETFest
 
.NET Fest 2019. Анатолий Колесник. Love, Death & F# Tests
.NET Fest 2019. Анатолий Колесник. Love, Death & F# Tests.NET Fest 2019. Анатолий Колесник. Love, Death & F# Tests
.NET Fest 2019. Анатолий Колесник. Love, Death & F# TestsNETFest
 
.NET Fest 2019. Алексей Голуб. Монадные парсер-комбинаторы в C# (простой спос...
.NET Fest 2019. Алексей Голуб. Монадные парсер-комбинаторы в C# (простой спос....NET Fest 2019. Алексей Голуб. Монадные парсер-комбинаторы в C# (простой спос...
.NET Fest 2019. Алексей Голуб. Монадные парсер-комбинаторы в C# (простой спос...NETFest
 
.NET Fest 2019. Roberto Freato. Azure App Service deep dive
.NET Fest 2019. Roberto Freato. Azure App Service deep dive.NET Fest 2019. Roberto Freato. Azure App Service deep dive
.NET Fest 2019. Roberto Freato. Azure App Service deep diveNETFest
 
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
.NET Fest 2019. Леонид Молотиевский. DotNet Core in productionNETFest
 
.NET Fest 2019. Александр Демчук. How to measure relationships within the Com...
.NET Fest 2019. Александр Демчук. How to measure relationships within the Com....NET Fest 2019. Александр Демчук. How to measure relationships within the Com...
.NET Fest 2019. Александр Демчук. How to measure relationships within the Com...NETFest
 
.NET Fest 2019. Anna Melashkina та Philipp Bauknecht. Dragons in a Mixed Real...
.NET Fest 2019. Anna Melashkina та Philipp Bauknecht. Dragons in a Mixed Real....NET Fest 2019. Anna Melashkina та Philipp Bauknecht. Dragons in a Mixed Real...
.NET Fest 2019. Anna Melashkina та Philipp Bauknecht. Dragons in a Mixed Real...NETFest
 
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystemNETFest
 
.NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with ...
.NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with ....NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with ...
.NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with ...NETFest
 
.NET Fest 2019. Сергей Медведев. How serverless makes Integration TDD a reali...
.NET Fest 2019. Сергей Медведев. How serverless makes Integration TDD a reali....NET Fest 2019. Сергей Медведев. How serverless makes Integration TDD a reali...
.NET Fest 2019. Сергей Медведев. How serverless makes Integration TDD a reali...NETFest
 
.NET Fest 2019. Сергей Корж. Natural Language Processing in .NET
.NET Fest 2019. Сергей Корж. Natural Language Processing in .NET.NET Fest 2019. Сергей Корж. Natural Language Processing in .NET
.NET Fest 2019. Сергей Корж. Natural Language Processing in .NETNETFest
 
.NET Fest 2019. Eran Stiller. Create Your Own Serverless PKI with .NET & Azur...
.NET Fest 2019. Eran Stiller. Create Your Own Serverless PKI with .NET & Azur....NET Fest 2019. Eran Stiller. Create Your Own Serverless PKI with .NET & Azur...
.NET Fest 2019. Eran Stiller. Create Your Own Serverless PKI with .NET & Azur...NETFest
 

More from NETFest (20)

.NET Fest 2019. Николай Балакин. Микрооптимизации в мире .NET
.NET Fest 2019. Николай Балакин. Микрооптимизации в мире .NET.NET Fest 2019. Николай Балакин. Микрооптимизации в мире .NET
.NET Fest 2019. Николай Балакин. Микрооптимизации в мире .NET
 
.NET Fest 2019. Сергей Калинец. Efficient Microservice Communication with .NE...
.NET Fest 2019. Сергей Калинец. Efficient Microservice Communication with .NE....NET Fest 2019. Сергей Калинец. Efficient Microservice Communication with .NE...
.NET Fest 2019. Сергей Калинец. Efficient Microservice Communication with .NE...
 
.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET
.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET
.NET Fest 2019. Оля Гавриш. .NET Core 3.0 и будущее .NET
 
.NET Fest 2019. Оля Гавриш. Машинное обучение для .NET программистов
.NET Fest 2019. Оля Гавриш. Машинное обучение для .NET программистов.NET Fest 2019. Оля Гавриш. Машинное обучение для .NET программистов
.NET Fest 2019. Оля Гавриш. Машинное обучение для .NET программистов
 
.NET Fest 2019. Roberto Freato. Provisioning Azure PaaS fluently with Managem...
.NET Fest 2019. Roberto Freato. Provisioning Azure PaaS fluently with Managem....NET Fest 2019. Roberto Freato. Provisioning Azure PaaS fluently with Managem...
.NET Fest 2019. Roberto Freato. Provisioning Azure PaaS fluently with Managem...
 
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
 
.NET Fest 2019. Сергій Бута. Feature Toggles: Dynamic Configuration at Wirex
.NET Fest 2019. Сергій Бута. Feature Toggles: Dynamic Configuration at Wirex.NET Fest 2019. Сергій Бута. Feature Toggles: Dynamic Configuration at Wirex
.NET Fest 2019. Сергій Бута. Feature Toggles: Dynamic Configuration at Wirex
 
.NET Fest 2019. Michael Staib. Hot Chocolate: GraphQL Schema Stitching with A...
.NET Fest 2019. Michael Staib. Hot Chocolate: GraphQL Schema Stitching with A....NET Fest 2019. Michael Staib. Hot Chocolate: GraphQL Schema Stitching with A...
.NET Fest 2019. Michael Staib. Hot Chocolate: GraphQL Schema Stitching with A...
 
.NET Fest 2019. Андрей Литвинов. Async lifetime tests with xUnit and AutoFixture
.NET Fest 2019. Андрей Литвинов. Async lifetime tests with xUnit and AutoFixture.NET Fest 2019. Андрей Литвинов. Async lifetime tests with xUnit and AutoFixture
.NET Fest 2019. Андрей Литвинов. Async lifetime tests with xUnit and AutoFixture
 
.NET Fest 2019. Анатолий Колесник. Love, Death & F# Tests
.NET Fest 2019. Анатолий Колесник. Love, Death & F# Tests.NET Fest 2019. Анатолий Колесник. Love, Death & F# Tests
.NET Fest 2019. Анатолий Колесник. Love, Death & F# Tests
 
.NET Fest 2019. Алексей Голуб. Монадные парсер-комбинаторы в C# (простой спос...
.NET Fest 2019. Алексей Голуб. Монадные парсер-комбинаторы в C# (простой спос....NET Fest 2019. Алексей Голуб. Монадные парсер-комбинаторы в C# (простой спос...
.NET Fest 2019. Алексей Голуб. Монадные парсер-комбинаторы в C# (простой спос...
 
.NET Fest 2019. Roberto Freato. Azure App Service deep dive
.NET Fest 2019. Roberto Freato. Azure App Service deep dive.NET Fest 2019. Roberto Freato. Azure App Service deep dive
.NET Fest 2019. Roberto Freato. Azure App Service deep dive
 
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
 
.NET Fest 2019. Александр Демчук. How to measure relationships within the Com...
.NET Fest 2019. Александр Демчук. How to measure relationships within the Com....NET Fest 2019. Александр Демчук. How to measure relationships within the Com...
.NET Fest 2019. Александр Демчук. How to measure relationships within the Com...
 
.NET Fest 2019. Anna Melashkina та Philipp Bauknecht. Dragons in a Mixed Real...
.NET Fest 2019. Anna Melashkina та Philipp Bauknecht. Dragons in a Mixed Real....NET Fest 2019. Anna Melashkina та Philipp Bauknecht. Dragons in a Mixed Real...
.NET Fest 2019. Anna Melashkina та Philipp Bauknecht. Dragons in a Mixed Real...
 
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
 
.NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with ...
.NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with ....NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with ...
.NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with ...
 
.NET Fest 2019. Сергей Медведев. How serverless makes Integration TDD a reali...
.NET Fest 2019. Сергей Медведев. How serverless makes Integration TDD a reali....NET Fest 2019. Сергей Медведев. How serverless makes Integration TDD a reali...
.NET Fest 2019. Сергей Медведев. How serverless makes Integration TDD a reali...
 
.NET Fest 2019. Сергей Корж. Natural Language Processing in .NET
.NET Fest 2019. Сергей Корж. Natural Language Processing in .NET.NET Fest 2019. Сергей Корж. Natural Language Processing in .NET
.NET Fest 2019. Сергей Корж. Natural Language Processing in .NET
 
.NET Fest 2019. Eran Stiller. Create Your Own Serverless PKI with .NET & Azur...
.NET Fest 2019. Eran Stiller. Create Your Own Serverless PKI with .NET & Azur....NET Fest 2019. Eran Stiller. Create Your Own Serverless PKI with .NET & Azur...
.NET Fest 2019. Eran Stiller. Create Your Own Serverless PKI with .NET & Azur...
 

Recently uploaded

Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 

Recently uploaded (20)

Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 

.NET Fest 2018. Андрей Тарарака. Как порулить грузовиком в Австралии, находясь в Киеве. Реальная история успеха одного около-IoT проекта

  • 1. How to drive haul truck in Australia, sitting in Kiev True story of success of one near-IoT project t WITH PASSION TO TECHNOLOGY Andrii Tararaka .NET CONFERENCE #1 IN UKRAINE, KYIV 2018
  • 2. t .NET LEVEL UP KYIV 2018 About me • Lead Software Engineer @ EPAM Systems, Ukraine. • Key developer on project, which goals is to implement near real-time monitoring system for equipment in open mines. • Author of in-house UI platform for creating LoB applications. • …
  • 3. t .NET LEVEL UP KYIV 2018 About project • System for monitoring all types of equipment in open mines. • Implemented on .NET stack from IoT app up to UI client app • IoT app implemented for WindowsCE • Backend hosted in Azure • UI client app implemented on WPF
  • 4. t .NET LEVEL UP KYIV 2018 How it all worked for a long long time… Field Gateway Central
  • 5. t .NET LEVEL UP KYIV 2018 Problems and Limitations • It’s almost impossible to simulate field environment during development • Fully manual deployment • IT Security on field is very important and local IT department is blocking all unknown traffic • Each part was developed with legacy technology stack and almost everywhere the wheel was reinvented
  • 6. t .NET LEVEL UP KYIV 2018 What would be great to have • Quick and Easy deployment simulation on regular dev machine • Migrate in-house components to cross-platform .NET Core as much as possible • Minimize number of in-house frameworks with help of stable 3rd party libraries • Support “Data Streaming” for any kind of data • Make production deployment fully automated
  • 7. t .NET LEVEL UP KYIV 2018 CloudField Gateway Flume 4545 Kafka Apache NiFi Big Data Storage Zookeeper 2181 RabbitMQ 5672, 15672 Adapter Connector Flume 4545 IoT App [Legacy] IoT App
  • 8. t .NET LEVEL UP KYIV 2018 Pros and cons • Field gateway as hub for all messages • Built-in “store and forward” • Migrated to stable 3rd party components • Scalable architecture • For us whole deployment is still “Black Box”, we need more info from all parts
  • 9. t .NET LEVEL UP KYIV 2018 CloudField Gateway Flume 4545 Kafka Apache NiFi Big Data Storage Chronograf 8888 Kapacitor 9092 InfluxDB 8086 Grafana 3000 Telegraf In/Out: 8186 Zookeeper 2181 RabbitMQ 5672, 15672 Adapter Connector Flume 4545 Chronograf 8888 Kapacitor 9092 InfluxDB 8086 Grafana 3000 Telegraf In/Out: 8186 IoT App [Legacy] IoT App
  • 10. t .NET LEVEL UP KYIV 2018 Pros and cons • Monitoring of all components in Field and Cloud • Alerts for critical metrics in Field and Cloud • Separate dashboards for Field and Cloud deployment in Grafana • Centralized collecting of logs and metrics • Lack of secure connection between Field and Cloud • Need to have easy access to all web-based components
  • 11. t .NET LEVEL UP KYIV 2018 Part #3 CloudField Gateway Internet Flume 4545 SSH Server Auto SSH In/Out: 22 Portainer 9000 Traefik In/Out: 80, 443 Kafka Apache NiFi Big Data Storage Chronograf 8888 Kapacitor 9092 InfluxDB 8086 Grafana 3000 Telegraf In/Out: 8186 Zookeeper 2181 RabbitMQ 5672, 15672 Adapter Connector Auto SSH In/Out: 22 Flume 4545 Portainer 9000 Traefik In/Out: 80, 443 Chronograf 8888 Kapacitor 9092 InfluxDB 8086 Grafana 3000 Telegraf In/Out: 8186 IoT App [Legacy] IoT App
  • 12. t .NET LEVEL UP KYIV 2018 Part #3 Auto SSH Auto SSH -L 0.0.0.0:4545:0.0.0.0:4545 -R 0.0.0.0:4545:flume:4545 SSH Server Field Network Internet Cloud
  • 13. t .NET LEVEL UP KYIV 2018 Pros and cons • Great and simple secure connection between Field and Cloud • Only one port used • Easy to control network traffic (start/stop/resume) • We need automatic (and if it’s possible remote) deployment process
  • 14. t .NET LEVEL UP KYIV 2018 Part #3 CloudField Gateway Internet Flume 4545 SSH Server Auto SSH In/Out: 22 Portainer 9000 Traefik In/Out: 80, 443 Kafka Apache NiFi Big Data Storage Chronograf 8888 Kapacitor 9092 InfluxDB 8086 Grafana 3000 Telegraf In/Out: 8186 Zookeeper 2181 RabbitMQ 5672, 15672 Adapter Connector VSTS Agent 443 Auto SSH In/Out: 22 Flume 4545 Portainer 9000 Traefik In/Out: 80, 443 Chronograf 8888 Kapacitor 9092 InfluxDB 8086 Grafana 3000 Telegraf In/Out: 8186 IoT App [Legacy] IoT App
  • 15. t .NET LEVEL UP KYIV 2018 Overall results • Used stable 3rd party components wherever it’s possible to reduce custom code base • Started migration to .NET Core • Decoupled and scalable architecture • Added monitoring and log collection solutions • Added alerts and notifications for critical metrics • Added secure connection between Field and Cloud • Added automatic and remote deployment
  • 16. t .NET LEVEL UP KYIV 2018 How to contact with me andrii.tararaka andrii.tararaka@gmail.com
  • 17. Тема доклада Тема доклада Тема доклада KYIV 2018 Thank you! .NET CONFERENCE #1 IN UKRAINE