SlideShare una empresa de Scribd logo

.Net Core Real time App on My Rasperry PI - Codemotion 2017 talk

Slides for Codemotion 2017 talk

1 de 17
Descargar para leer sin conexión
“.NET Core en mi Raspberry Pi” y una
aplicación en tiempo real
Carlos Landeras
@carlos_lande
Rodrigo Cabello
@mrcabellom
MAD · NOV 24-25 · 2017
.NET Core en mi Raspberry Pi y una aplicación en tiempo real
¿Qué vamos a ver?
Azure Relay
o Introducción
o Conexiones híbridas en Azure
o Roles y protocolos de conexión
Demo (Conexiones híbridas)
o ConsoleStream
o EMTStream
NET Core ARM
o Publicación proyecto
o Raspbian Raspberry Pi
Demo Autobuses Madrid real-time
.NET Core en mi Raspberry Pi y una aplicación en tiempo real
Azure Relay
Conexiones híbridas
.NET Core en mi Raspberry Pi y una aplicación en tiempo real
Introducción
• Azure Relay es uno de los pilares de la plataforma
Azure Service Bus.
• Permite exponer servicios de redes corporativas en
la nube (Sin realizar cambios intrusivos o abrir
nuevas conexiones en el firewall).
• Azure Relay cuenta con dos servicios:
o Conexiones híbridas: Websockets
o WCF Relays: Windows Communication
Foundation (WCF).
• Conexiones híbridas:
o Evolución segura y de protocolo abierto. Basada
en WebSockets y Http.
o Sustituye a BizTalk Services.
.NET Core en mi Raspberry Pi y una aplicación en tiempo real
Introducción
• Permite establecer una comunicación bidireccional entre dos aplicaciones utilizando un
streaming binario.
• Se puede configurar fácilmente a través del portal de Azure.
• Mecanismo de autenticación basado en SHA-256.
• Azure Relay permite hasta 25 clientes con el Rol de Agente de escucha.
• Librerías disponibles para:
o .NET Framework, .NET Core
o Node.js
.NET Core en mi Raspberry Pi y una aplicación en tiempo real
Conexiones híbridas
• Creando nuestro namespace de Relay
o Añadimos un nuevo recurso Relay en Azure.
o Seleccionamos nuestro nombre de enpoint
(*.servicebus.windows.net)
o Seleccionamos la localización del rendezvous
point.

Recomendados

Más contenido relacionado

Similar a .Net Core Real time App on My Rasperry PI - Codemotion 2017 talk

Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo CabelloRealtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo CabelloPlain Concepts
 
Plainconcepts .Net Core Event - Real Time Applications
Plainconcepts .Net Core Event - Real Time ApplicationsPlainconcepts .Net Core Event - Real Time Applications
Plainconcepts .Net Core Event - Real Time ApplicationsCarlos Landeras Martínez
 
Introducción a Azure App Service - MUG Buenos Aires
Introducción a Azure App Service - MUG Buenos AiresIntroducción a Azure App Service - MUG Buenos Aires
Introducción a Azure App Service - MUG Buenos AiresGuillermo Javier Bellmann
 
SQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nubeSQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nubeEduardo Castro
 
Mejores prácticas de CI / CD para construir aplicaciones modernas
Mejores prácticas de CI / CD para construir aplicaciones modernasMejores prácticas de CI / CD para construir aplicaciones modernas
Mejores prácticas de CI / CD para construir aplicaciones modernasAmazon Web Services LATAM
 
Instalacion de un servidor proxy
Instalacion de un servidor proxyInstalacion de un servidor proxy
Instalacion de un servidor proxyalfredoariasjimenez
 
ROS-RoboMaker-ROS2-Spanish-Presentation
ROS-RoboMaker-ROS2-Spanish-PresentationROS-RoboMaker-ROS2-Spanish-Presentation
ROS-RoboMaker-ROS2-Spanish-PresentationCamilo Buscaron
 
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint onlineAplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint onlineMario Cortés Flores
 
Extendiendo su centro de datos a la nube de AWS
Extendiendo su centro de datos a la nube de AWSExtendiendo su centro de datos a la nube de AWS
Extendiendo su centro de datos a la nube de AWSAmazon Web Services LATAM
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAmazon Web Services LATAM
 
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboardsTaller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboardsSofia2 Smart Platform
 
Extendiendo su centro de datos a la nube de AWS
Extendiendo su centro de datos a la nube de AWSExtendiendo su centro de datos a la nube de AWS
Extendiendo su centro de datos a la nube de AWSAmazon Web Services LATAM
 
Corriendo SQL Server en Docker
Corriendo SQL Server en DockerCorriendo SQL Server en Docker
Corriendo SQL Server en DockerJavier Villegas
 
Mapa Conceptual Servidores web
Mapa Conceptual Servidores webMapa Conceptual Servidores web
Mapa Conceptual Servidores webArturo_09
 
Extendiendo su centro de datos a la nube de AWS
Extendiendo su centro de datos a la nube de AWSExtendiendo su centro de datos a la nube de AWS
Extendiendo su centro de datos a la nube de AWSAmazon Web Services LATAM
 

Similar a .Net Core Real time App on My Rasperry PI - Codemotion 2017 talk (20)

Azure Relay (Hybrid connections) & .NET Core ARM
Azure Relay (Hybrid connections) & .NET Core ARMAzure Relay (Hybrid connections) & .NET Core ARM
Azure Relay (Hybrid connections) & .NET Core ARM
 
Azure Relay .Net Core y una Raspberry Pi
Azure Relay .Net Core y una Raspberry PiAzure Relay .Net Core y una Raspberry Pi
Azure Relay .Net Core y una Raspberry Pi
 
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo CabelloRealtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
 
Plainconcepts .Net Core Event - Real Time Applications
Plainconcepts .Net Core Event - Real Time ApplicationsPlainconcepts .Net Core Event - Real Time Applications
Plainconcepts .Net Core Event - Real Time Applications
 
Comenzando con la nube híbrida
Comenzando con la nube híbridaComenzando con la nube híbrida
Comenzando con la nube híbrida
 
Introducción a Azure App Service - MUG Buenos Aires
Introducción a Azure App Service - MUG Buenos AiresIntroducción a Azure App Service - MUG Buenos Aires
Introducción a Azure App Service - MUG Buenos Aires
 
Fundamento de Redes - Capitulo 6
Fundamento de Redes - Capitulo 6Fundamento de Redes - Capitulo 6
Fundamento de Redes - Capitulo 6
 
SQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nubeSQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nube
 
Introduccion SignalR
Introduccion SignalRIntroduccion SignalR
Introduccion SignalR
 
Mejores prácticas de CI / CD para construir aplicaciones modernas
Mejores prácticas de CI / CD para construir aplicaciones modernasMejores prácticas de CI / CD para construir aplicaciones modernas
Mejores prácticas de CI / CD para construir aplicaciones modernas
 
Instalacion de un servidor proxy
Instalacion de un servidor proxyInstalacion de un servidor proxy
Instalacion de un servidor proxy
 
ROS-RoboMaker-ROS2-Spanish-Presentation
ROS-RoboMaker-ROS2-Spanish-PresentationROS-RoboMaker-ROS2-Spanish-Presentation
ROS-RoboMaker-ROS2-Spanish-Presentation
 
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint onlineAplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
 
Extendiendo su centro de datos a la nube de AWS
Extendiendo su centro de datos a la nube de AWSExtendiendo su centro de datos a la nube de AWS
Extendiendo su centro de datos a la nube de AWS
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboardsTaller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
 
Extendiendo su centro de datos a la nube de AWS
Extendiendo su centro de datos a la nube de AWSExtendiendo su centro de datos a la nube de AWS
Extendiendo su centro de datos a la nube de AWS
 
Corriendo SQL Server en Docker
Corriendo SQL Server en DockerCorriendo SQL Server en Docker
Corriendo SQL Server en Docker
 
Mapa Conceptual Servidores web
Mapa Conceptual Servidores webMapa Conceptual Servidores web
Mapa Conceptual Servidores web
 
Extendiendo su centro de datos a la nube de AWS
Extendiendo su centro de datos a la nube de AWSExtendiendo su centro de datos a la nube de AWS
Extendiendo su centro de datos a la nube de AWS
 

Más de Carlos Landeras Martínez

Dotnet2019 Asp .Net Core Good Practices 2019
Dotnet2019 Asp .Net Core Good Practices 2019Dotnet2019 Asp .Net Core Good Practices 2019
Dotnet2019 Asp .Net Core Good Practices 2019Carlos Landeras Martínez
 
Carlos Landeras - Tech Summit - Aplicaciones corporativas descentralizadas co...
Carlos Landeras - Tech Summit - Aplicaciones corporativas descentralizadas co...Carlos Landeras - Tech Summit - Aplicaciones corporativas descentralizadas co...
Carlos Landeras - Tech Summit - Aplicaciones corporativas descentralizadas co...Carlos Landeras Martínez
 
Machine learning for dummies - Azuges November 2016
Machine learning for dummies - Azuges November 2016Machine learning for dummies - Azuges November 2016
Machine learning for dummies - Azuges November 2016Carlos Landeras Martínez
 

Más de Carlos Landeras Martínez (6)

Dotnet2019 Asp .Net Core Good Practices 2019
Dotnet2019 Asp .Net Core Good Practices 2019Dotnet2019 Asp .Net Core Good Practices 2019
Dotnet2019 Asp .Net Core Good Practices 2019
 
Carlos Landeras - Tech Summit - Aplicaciones corporativas descentralizadas co...
Carlos Landeras - Tech Summit - Aplicaciones corporativas descentralizadas co...Carlos Landeras - Tech Summit - Aplicaciones corporativas descentralizadas co...
Carlos Landeras - Tech Summit - Aplicaciones corporativas descentralizadas co...
 
SignalR is coming talk slides
SignalR is coming talk slidesSignalR is coming talk slides
SignalR is coming talk slides
 
Plain concepts webday- Carlos Landeras
Plain concepts webday- Carlos LanderasPlain concepts webday- Carlos Landeras
Plain concepts webday- Carlos Landeras
 
C# 6.0 and 7.0 new features
C# 6.0 and 7.0 new featuresC# 6.0 and 7.0 new features
C# 6.0 and 7.0 new features
 
Machine learning for dummies - Azuges November 2016
Machine learning for dummies - Azuges November 2016Machine learning for dummies - Azuges November 2016
Machine learning for dummies - Azuges November 2016
 

.Net Core Real time App on My Rasperry PI - Codemotion 2017 talk

  • 1. “.NET Core en mi Raspberry Pi” y una aplicación en tiempo real Carlos Landeras @carlos_lande Rodrigo Cabello @mrcabellom MAD · NOV 24-25 · 2017
  • 2. .NET Core en mi Raspberry Pi y una aplicación en tiempo real ¿Qué vamos a ver? Azure Relay o Introducción o Conexiones híbridas en Azure o Roles y protocolos de conexión Demo (Conexiones híbridas) o ConsoleStream o EMTStream NET Core ARM o Publicación proyecto o Raspbian Raspberry Pi Demo Autobuses Madrid real-time
  • 3. .NET Core en mi Raspberry Pi y una aplicación en tiempo real Azure Relay Conexiones híbridas
  • 4. .NET Core en mi Raspberry Pi y una aplicación en tiempo real Introducción • Azure Relay es uno de los pilares de la plataforma Azure Service Bus. • Permite exponer servicios de redes corporativas en la nube (Sin realizar cambios intrusivos o abrir nuevas conexiones en el firewall). • Azure Relay cuenta con dos servicios: o Conexiones híbridas: Websockets o WCF Relays: Windows Communication Foundation (WCF). • Conexiones híbridas: o Evolución segura y de protocolo abierto. Basada en WebSockets y Http. o Sustituye a BizTalk Services.
  • 5. .NET Core en mi Raspberry Pi y una aplicación en tiempo real Introducción • Permite establecer una comunicación bidireccional entre dos aplicaciones utilizando un streaming binario. • Se puede configurar fácilmente a través del portal de Azure. • Mecanismo de autenticación basado en SHA-256. • Azure Relay permite hasta 25 clientes con el Rol de Agente de escucha. • Librerías disponibles para: o .NET Framework, .NET Core o Node.js
  • 6. .NET Core en mi Raspberry Pi y una aplicación en tiempo real Conexiones híbridas • Creando nuestro namespace de Relay o Añadimos un nuevo recurso Relay en Azure. o Seleccionamos nuestro nombre de enpoint (*.servicebus.windows.net) o Seleccionamos la localización del rendezvous point.
  • 7. .NET Core en mi Raspberry Pi y una aplicación en tiempo real Conexiones híbridas • Creando una conexión híbrida 1. Seleccionamos el identificador de nuestra conexión. 2. Elegimos si la conexión será autenticada. 3. Creamos las políticas de acceso compartidas. 4. Cada política tiene su propia clave primaria.
  • 8. .NET Core en mi Raspberry Pi y una aplicación en tiempo real Protocolos de conexión • Roles de Agente de escucha y Remitente. • Conexiones mediante Web Sockets Secure (443). • wss://{namespace}/$hc/{name}?sb-hc-action=…&sb-hc-token=
  • 9. .NET Core en mi Raspberry Pi y una aplicación en tiempo real Demo Conexiones híbridas
  • 10. .NET Core en mi Raspberry Pi y una aplicación en tiempo real Demo ConsoleStream Microsoft.Azure.Relay hyco-ws
  • 11. .NET Core en mi Raspberry Pi y una aplicación en tiempo real Demo EMTStream Microsoft.Azure.Relay GEO BUS
  • 12. .NET Core en mi Raspberry Pi y una aplicación en tiempo real Arquitectura Demo
  • 13. .NET Core en mi Raspberry Pi y una aplicación en tiempo real .NET Core Linux con arquitectura ARM
  • 14. .NET Core en mi Raspberry Pi y una aplicación en tiempo real Configuración del entorno • Si tenemos varios SDK instalados, tenemos que añadir como target la version del sdk 2.0.0 • Comprobamos que nuestro proyecto tiene como target dicha versión ejecutando el commando dotnet –version dentro de la carpeta de la solución. • Publicando el Proyecto con la línea de commandos > dotnet publish -c Release –r linux-arm
  • 15. .NET Core en mi Raspberry Pi y una aplicación en tiempo real Raspbian ARM Raspberry Pi • Raspbian Linux OS • Dotnet runtime 2.0.0 • Ejecutar dotnet AzureRelay.dll • Ejecutar ./AzureRelay (nativo) > sudo apt-get install curl libunwind8 gettext > curl -sSL -o dotnet.tar.gz https://dotnetcli.blob.core.windows.net/dotnet/Runtime/release/2.0.0/dotnet-runtime-latest-linux- arm.tar.gz > sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet > sudo ln -s /opt/dotnet/dotnet /usr/local/bin
  • 16. .NET Core en mi Raspberry Pi y una aplicación en tiempo real DEMO Autobuses de Madrid en tiempo real
  • 17. .NET Core en mi Raspberry Pi y una aplicación en tiempo real