SlideShare una empresa de Scribd logo
Microsoft Summit
5 y 6 de octubre, 2016
#TechSum
#TechSum
#TechSum
SORTEAMOSSORTEAMOSSORTEAMOSSORTEAMOS
http://bit.ly/plain-go
#TechSum
http://promos.campusmvp.com/netcore/
#TechSum
#TechSum
Plantar y cosechar grano y lúpulo
Maltear el grano
Macerar el grano en agua caliente
Hervir el mosto
Añadir lúpulos varios
Enfríar el mosto lo más rápido posible
Dry hopping, fermentación y lagering
Priming y enbotellado
Amigos, Diversión y… ¡Cerveza!
#TechSum
Plantar y cosechar grano y lúpulo
Maltear el grano
Macerar el grano en agua caliente
Hervir el mosto
Añadir lúpulos varios
Enfríar el mosto lo más rápido posible
Dry hopping, fermentación y lagering
Priming y enbotellado
Amigos, Diversión y… ¡Cerveza!
#TechSum
Plantar y cosechar grano y lúpulo
Maltear el grano
Macerar el grano en agua caliente
Hervir el mosto
Añadir lúpulos varios
Enfríar el mosto lo más rápido posible
Dry hopping, fermentación y lagering
Priming y enbotellado
Amigos, Diversión y… ¡Cerveza!
#TechSum
Plantar y cosechar grano y lúpulo
Maltear el grano
Macerar el grano en agua caliente
Hervir el mosto
Añadir lúpulos varios
Enfríar el mosto lo más rápido posible
Dry hopping, fermentación y lagering
Priming y enbotellado
Amigos, Diversión y… ¡Cerveza!
#TechSum
Beer as a Service – Starter Kit
Plantar y cosechar grano y lúpulo
Maltear el grano
Macerar el grano en agua caliente
Hervir el mosto
Añadir lúpulos varios
Enfríar el mosto lo más rápido posible
Dry hopping, fermentación y lagering
Priming y enbotellado
Amigos, Diversión y… ¡Cerveza!
#TechSum
Serverless no significa que no haya servidor
Significa que no debes preocuparte por él.
Un paso más allá de PaaS
El starter kit del backend 
#TechSum
#TechSum
Azure Functions es la implementación de Azure del
paradigma de serverless backend.
Básicamente: desplegar código y que se ejecute.
Ni más, ni menos.
#TechSum
Una Azure Function es un pedazo de código que…
Se ejecuta cuando ocurre un desencadenador (trigger)
Tiene unas determinadas entradas
Genera unas determinadas salidas
#TechSum
#TechSum
Los siguientes son posibles desencadenadores de una
Azure Function
Temporizador (cada 5 min, cada Lunes, cada primero
de mes, cada martes a las 07:30)
Una llamada HTTP
Un blob almacenado
Un evento de event hub
Un elemento en una cola
#TechSum
Los siguientes elementos de Azure son posibles
entradas
(adicionales a los triggers)
Blob storage
Tablas de storage o Mobile Apps
DocumentDB
#TechSum
Los siguientes elementos son posibles salidas de
Azure Functions
HTTP (solo con desencadenador HTTP)
Blobs
Eventos de Event Hub
Colas y tablas de storage o Mobile Apps
DocumentDB
#TechSum
Permiten ejecutar una función cada cierto tiempo
El tiempo se especifica mediante una expresión cron
La función recibe un parámetro TimerInfo
#TechSum
Esto permite ejecutar una función cuando se reciba
una petición HTTP
La función recibe una URL y al invocar dicha URL se
invoca la función
Acepta un parámetro HttpResponseMessage
#TechSum
Solo está disponible si el trigger es HTTP
Esta salida es un valor de retorno:
Task<HttpResponseMessage>
A diferencia del resto de salidas que son parámetros
out
#TechSum
#TechSum
#TechSum
Una Azure Function se ubica dentro de una WebApp
Dentro del directorio wwwroot/<FunctionName>
Fichero .csx
Fichero json con la configuración de los bindings
#TechSum
Contiene la función Run que es el entry point
Podemos definir clases dentro del propio fichero csx
Pueden cargarse ficheros .csx adicionales con #load
#load “otroFichero.csx”
#load “pathotroFichero.csx”
#load “..sharedotroFichero.csx”
#TechSum
Los siguientes ensamblados están referenciados
automáticamente
mscorlib, System, System.Core
System.Xml
System.Net.Http, System.Net.Http.Formatting
System.Web.Http
Microsoft.Azure.WebJobs
Microsoft.Azure.WebJobs.Host
Microsoft.Azure.WebJobs.Extensions
#TechSum
Los siguientes ensamblados son tratados de forma
especial y se pueden referenciar directamente usando
#r “nombre”
Newtonsoft.Json
Microsoft.WindowsAzure.Storage
Microsoft.ServiceBus
Microsoft.AspNet.Webhooks.Common
Microsoft.AspNet.Webhooks.Receivers
#TechSum
Para agregar paquetes NuGet debe subirse un
project.json en la carpeta de la función
Usar #r para referenciar los paquetes por su nombre
#TechSum
Azure portal
Kudu
https://<funcapp>.scm.azurewebsites.net
FTP (WebApp)
CD a través de varios orígenes
Github, BitBucket, VSTS
Git
Dropbox, OneDrive
#TechSum
#TechSum
Azure functions es una evolución de los WebJobs
Comparten muchas cosas en común
De hecho las Azure Functions se ejecutan dentro del
contexto de una web app
Aunque eso nos importa (relativamente) poco
Las Azure Functions se ejecutan bajo el Webjob SDK2
#TechSum
Ambos tienen casi las mismas capacidades
Excepto que las Azure Functions pueden ser invocada
via HTTP
A nivel de triggers, entradas y salidas son muy
parecidos
Las Azure Functions proporcionan un nivel de
abstracción superior
#TechSum
http://aka.ms/MTS31
© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a
commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS
PRESENTATION.

Más contenido relacionado

ODP
Ambientes de desarrollo y producción. Mejores prácticas con ansible
Joaquin Contreras
 
PDF
INDIZEN - DEVOPS
Oscar Coscollano
 
PPTX
Introduccion a Ansible
Osvaldo
 
PDF
Openfire fran jimenez
Francisco Jose Jimenez Gonzalez
 
ODP
Gestionando tu infraestructura con Ansible
Moisés Maciá
 
PDF
Introducción a Ansible
Dani Rodríguez
 
DOC
Instrucciones instalacion labcase software 1.0
nicolasmunozvera
 
PPTX
Ansible DevOps Day Peru 2016
Raul Hugo
 
Ambientes de desarrollo y producción. Mejores prácticas con ansible
Joaquin Contreras
 
INDIZEN - DEVOPS
Oscar Coscollano
 
Introduccion a Ansible
Osvaldo
 
Openfire fran jimenez
Francisco Jose Jimenez Gonzalez
 
Gestionando tu infraestructura con Ansible
Moisés Maciá
 
Introducción a Ansible
Dani Rodríguez
 
Instrucciones instalacion labcase software 1.0
nicolasmunozvera
 
Ansible DevOps Day Peru 2016
Raul Hugo
 

Destacado (20)

PPTX
Interfaces rest
Eduard Tomàs
 
PDF
5 to reportaje
Eduardo Tomas
 
PDF
DotNetSpain2015: Extendiendo Visual Studio Online a través de su API
Roberto Luis Bisbé
 
PPTX
Una visión multiplataforma con aspnet v next
Eduard Tomàs
 
PPTX
Azure - The Good Parts
Mark Allan
 
PDF
MANUAL DE LENGUAJE DE PROGRAMACION
morriz1
 
PPTX
Vista aérea de los lenguajes de programación
Eduard Tomàs
 
PPTX
ASP.NET MVC Core
Eduard Tomàs
 
PPTX
Azure Functions
Dino Wang
 
PPTX
Serverles com Azure Functions & DocumentDB
José Roberto Araújo
 
PPTX
An introduction to Atlassian Bitbucket Pipelines
Dave Clark
 
PPTX
Cronologia de los Lenguajes de Programación
Iris Coronado
 
PPTX
Introduction to Azure Functions
Marco Parenzan
 
PPTX
Azure Functions Real World Examples
Yochay Kiriaty
 
PDF
Chris Anderson and Yochay Kiriaty - Serverless Patterns with Azure Functions
ServerlessConf
 
PPTX
Normalizacion de bases de datos
Caro_Noirgean
 
PPTX
Serverless Architecture - Azure Logic apps
Puneet Ghanshani
 
PPTX
Normalización de Base de Datos
Mayra Romero
 
PPTX
Adapt or Die: Serverless Microservices
Apigee | Google Cloud
 
PDF
Normalizacion de base de datos
Sergio Sanchez
 
Interfaces rest
Eduard Tomàs
 
5 to reportaje
Eduardo Tomas
 
DotNetSpain2015: Extendiendo Visual Studio Online a través de su API
Roberto Luis Bisbé
 
Una visión multiplataforma con aspnet v next
Eduard Tomàs
 
Azure - The Good Parts
Mark Allan
 
MANUAL DE LENGUAJE DE PROGRAMACION
morriz1
 
Vista aérea de los lenguajes de programación
Eduard Tomàs
 
ASP.NET MVC Core
Eduard Tomàs
 
Azure Functions
Dino Wang
 
Serverles com Azure Functions & DocumentDB
José Roberto Araújo
 
An introduction to Atlassian Bitbucket Pipelines
Dave Clark
 
Cronologia de los Lenguajes de Programación
Iris Coronado
 
Introduction to Azure Functions
Marco Parenzan
 
Azure Functions Real World Examples
Yochay Kiriaty
 
Chris Anderson and Yochay Kiriaty - Serverless Patterns with Azure Functions
ServerlessConf
 
Normalizacion de bases de datos
Caro_Noirgean
 
Serverless Architecture - Azure Logic apps
Puneet Ghanshani
 
Normalización de Base de Datos
Mayra Romero
 
Adapt or Die: Serverless Microservices
Apigee | Google Cloud
 
Normalizacion de base de datos
Sergio Sanchez
 
Publicidad

Similar a Azure functions (20)

PPTX
Azure Functions
Henzenn Sebastián
 
PPTX
Azure Bootcamp 2017 - Azure functions
Diego Bersano
 
PPTX
Azure web apps deep dive
robertogg
 
PPTX
Autobuses de Madrid en tiempo real con Azure Relay
Manuel Rodrigo Cabello Malagón
 
PPTX
Introducción a Azure App Service - MUG Buenos Aires
Guillermo Javier Bellmann
 
PPTX
Aplicaciones móviles super-escalables
Sergio Borromei
 
PDF
#4Sessions - Azure Alerts - ¿Has probado a reiniciar?
[T]echdencias
 
PDF
Escribiendo funciones con Azure Functions
Víctor Moreno
 
PPTX
Net conf ar v2018 start up
fernando sonego
 
PPTX
Azure Functions Spanish
CDS
 
PDF
Azure Functions
Ivan Martinez
 
PPTX
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CO v...
Guillermo Javier Bellmann
 
PPTX
Plainconcepts .Net Core Event - Real Time Applications
Carlos Landeras Martínez
 
PPTX
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Plain Concepts
 
PPTX
.Net Conf UY 2017: Un paseo por Azure Service Fabric
Guillermo Javier Bellmann
 
PPTX
Serverless Wars
Carlos Mendible
 
PPTX
Azure bootcampo 2019 start up_v1
fernando sonego
 
PPTX
Charla LogicApps en el CEUS
robertogg
 
PDF
Azure.pdf
Catalina Cano Narvaez
 
PPTX
Descubriendo windows azure
Javier Suárez Ruiz
 
Azure Functions
Henzenn Sebastián
 
Azure Bootcamp 2017 - Azure functions
Diego Bersano
 
Azure web apps deep dive
robertogg
 
Autobuses de Madrid en tiempo real con Azure Relay
Manuel Rodrigo Cabello Malagón
 
Introducción a Azure App Service - MUG Buenos Aires
Guillermo Javier Bellmann
 
Aplicaciones móviles super-escalables
Sergio Borromei
 
#4Sessions - Azure Alerts - ¿Has probado a reiniciar?
[T]echdencias
 
Escribiendo funciones con Azure Functions
Víctor Moreno
 
Net conf ar v2018 start up
fernando sonego
 
Azure Functions Spanish
CDS
 
Azure Functions
Ivan Martinez
 
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CO v...
Guillermo Javier Bellmann
 
Plainconcepts .Net Core Event - Real Time Applications
Carlos Landeras Martínez
 
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Plain Concepts
 
.Net Conf UY 2017: Un paseo por Azure Service Fabric
Guillermo Javier Bellmann
 
Serverless Wars
Carlos Mendible
 
Azure bootcampo 2019 start up_v1
fernando sonego
 
Charla LogicApps en el CEUS
robertogg
 
Descubriendo windows azure
Javier Suárez Ruiz
 
Publicidad

Más de Eduard Tomàs (20)

PPTX
Kubernetes: Do's, don'ts and why's
Eduard Tomàs
 
PPTX
KCDS 2021- Escalando workloads serverless en Kubernetes con KEDA
Eduard Tomàs
 
PPTX
Escalando workloads serverless en Kubernetes con Keda
Eduard Tomàs
 
PPTX
C#9 - Más C# que nunca
Eduard Tomàs
 
PPTX
CollabDays 2020 Barcelona - Serverless Kubernetes with KEDA
Eduard Tomàs
 
PPTX
Keda o como convertir Kubernetess en Serverless
Eduard Tomàs
 
PPTX
.NET Memoria y Rendimiento
Eduard Tomàs
 
PPTX
Containers en .NET (Dot Net 2018 - Spain)
Eduard Tomàs
 
PPTX
Esos contenedores, ¡a producción! (Commit Conf 2018)
Eduard Tomàs
 
PPTX
Codemotion 2015 - Bienvenido de nuevo c++
Eduard Tomàs
 
PPTX
El "peor" lenguaje del mundo
Eduard Tomàs
 
PPTX
Containerize a netcore application with aks
Eduard Tomàs
 
PPTX
Escenarios avanzados en AKS (Global Azure Bootcamp Barcelona 2019)
Eduard Tomàs
 
PPTX
Aplicaciones de consola fáciles? Más quisieramos
Eduard Tomàs
 
PPTX
Serverless with Azure Functions and CosmosDb
Eduard Tomàs
 
PPTX
Docker y todo eso... más o menos
Eduard Tomàs
 
PPTX
Microservices: Yes or not?
Eduard Tomàs
 
PPTX
React native - Unleash the power of your device
Eduard Tomàs
 
PPTX
JavaScript in 2016 (Codemotion Rome)
Eduard Tomàs
 
PPTX
Asp.Net Core 1.0 Deep Dive
Eduard Tomàs
 
Kubernetes: Do's, don'ts and why's
Eduard Tomàs
 
KCDS 2021- Escalando workloads serverless en Kubernetes con KEDA
Eduard Tomàs
 
Escalando workloads serverless en Kubernetes con Keda
Eduard Tomàs
 
C#9 - Más C# que nunca
Eduard Tomàs
 
CollabDays 2020 Barcelona - Serverless Kubernetes with KEDA
Eduard Tomàs
 
Keda o como convertir Kubernetess en Serverless
Eduard Tomàs
 
.NET Memoria y Rendimiento
Eduard Tomàs
 
Containers en .NET (Dot Net 2018 - Spain)
Eduard Tomàs
 
Esos contenedores, ¡a producción! (Commit Conf 2018)
Eduard Tomàs
 
Codemotion 2015 - Bienvenido de nuevo c++
Eduard Tomàs
 
El "peor" lenguaje del mundo
Eduard Tomàs
 
Containerize a netcore application with aks
Eduard Tomàs
 
Escenarios avanzados en AKS (Global Azure Bootcamp Barcelona 2019)
Eduard Tomàs
 
Aplicaciones de consola fáciles? Más quisieramos
Eduard Tomàs
 
Serverless with Azure Functions and CosmosDb
Eduard Tomàs
 
Docker y todo eso... más o menos
Eduard Tomàs
 
Microservices: Yes or not?
Eduard Tomàs
 
React native - Unleash the power of your device
Eduard Tomàs
 
JavaScript in 2016 (Codemotion Rome)
Eduard Tomàs
 
Asp.Net Core 1.0 Deep Dive
Eduard Tomàs
 

Último (10)

PDF
UML (Lenguaje unificado Modelado) como estandar para proyectos
somespark13
 
PPTX
Los Atributos de calidad del software.pptx
DanielMartinez382863
 
PPTX
Evaluación de la arquitectura de software.pptx
DanielMartinez382863
 
PDF
Descargar Micromundos Pro y proceso de instalación
AngelitoDeLaNoche
 
PPTX
Taller de ROBOTICA- clase sobre arduino - 1.pptx
sotosanmartinfrancis
 
PPTX
QUINTO BÁSICO 5 DE MAYO- clases de algoritmos.pptx
sotosanmartinfrancis
 
PPTX
La Inteligencia Artificial en la Vida Cotidiana
Romeo Santos
 
PPT
Cap. 2.DeSistemasOperativosMonopuestoppt
davidperez4125081
 
PPTX
Algoritmos de localizacion de Robots móviles
yrosascunam
 
PPT
Cap. 1DESistemasOperativosMonopuesto.ppt
davidperez4125081
 
UML (Lenguaje unificado Modelado) como estandar para proyectos
somespark13
 
Los Atributos de calidad del software.pptx
DanielMartinez382863
 
Evaluación de la arquitectura de software.pptx
DanielMartinez382863
 
Descargar Micromundos Pro y proceso de instalación
AngelitoDeLaNoche
 
Taller de ROBOTICA- clase sobre arduino - 1.pptx
sotosanmartinfrancis
 
QUINTO BÁSICO 5 DE MAYO- clases de algoritmos.pptx
sotosanmartinfrancis
 
La Inteligencia Artificial en la Vida Cotidiana
Romeo Santos
 
Cap. 2.DeSistemasOperativosMonopuestoppt
davidperez4125081
 
Algoritmos de localizacion de Robots móviles
yrosascunam
 
Cap. 1DESistemasOperativosMonopuesto.ppt
davidperez4125081
 

Azure functions

  • 1. Microsoft Summit 5 y 6 de octubre, 2016 #TechSum
  • 6. #TechSum Plantar y cosechar grano y lúpulo Maltear el grano Macerar el grano en agua caliente Hervir el mosto Añadir lúpulos varios Enfríar el mosto lo más rápido posible Dry hopping, fermentación y lagering Priming y enbotellado Amigos, Diversión y… ¡Cerveza!
  • 7. #TechSum Plantar y cosechar grano y lúpulo Maltear el grano Macerar el grano en agua caliente Hervir el mosto Añadir lúpulos varios Enfríar el mosto lo más rápido posible Dry hopping, fermentación y lagering Priming y enbotellado Amigos, Diversión y… ¡Cerveza!
  • 8. #TechSum Plantar y cosechar grano y lúpulo Maltear el grano Macerar el grano en agua caliente Hervir el mosto Añadir lúpulos varios Enfríar el mosto lo más rápido posible Dry hopping, fermentación y lagering Priming y enbotellado Amigos, Diversión y… ¡Cerveza!
  • 9. #TechSum Plantar y cosechar grano y lúpulo Maltear el grano Macerar el grano en agua caliente Hervir el mosto Añadir lúpulos varios Enfríar el mosto lo más rápido posible Dry hopping, fermentación y lagering Priming y enbotellado Amigos, Diversión y… ¡Cerveza!
  • 10. #TechSum Beer as a Service – Starter Kit Plantar y cosechar grano y lúpulo Maltear el grano Macerar el grano en agua caliente Hervir el mosto Añadir lúpulos varios Enfríar el mosto lo más rápido posible Dry hopping, fermentación y lagering Priming y enbotellado Amigos, Diversión y… ¡Cerveza!
  • 11. #TechSum Serverless no significa que no haya servidor Significa que no debes preocuparte por él. Un paso más allá de PaaS El starter kit del backend 
  • 13. #TechSum Azure Functions es la implementación de Azure del paradigma de serverless backend. Básicamente: desplegar código y que se ejecute. Ni más, ni menos.
  • 14. #TechSum Una Azure Function es un pedazo de código que… Se ejecuta cuando ocurre un desencadenador (trigger) Tiene unas determinadas entradas Genera unas determinadas salidas
  • 16. #TechSum Los siguientes son posibles desencadenadores de una Azure Function Temporizador (cada 5 min, cada Lunes, cada primero de mes, cada martes a las 07:30) Una llamada HTTP Un blob almacenado Un evento de event hub Un elemento en una cola
  • 17. #TechSum Los siguientes elementos de Azure son posibles entradas (adicionales a los triggers) Blob storage Tablas de storage o Mobile Apps DocumentDB
  • 18. #TechSum Los siguientes elementos son posibles salidas de Azure Functions HTTP (solo con desencadenador HTTP) Blobs Eventos de Event Hub Colas y tablas de storage o Mobile Apps DocumentDB
  • 19. #TechSum Permiten ejecutar una función cada cierto tiempo El tiempo se especifica mediante una expresión cron La función recibe un parámetro TimerInfo
  • 20. #TechSum Esto permite ejecutar una función cuando se reciba una petición HTTP La función recibe una URL y al invocar dicha URL se invoca la función Acepta un parámetro HttpResponseMessage
  • 21. #TechSum Solo está disponible si el trigger es HTTP Esta salida es un valor de retorno: Task<HttpResponseMessage> A diferencia del resto de salidas que son parámetros out
  • 24. #TechSum Una Azure Function se ubica dentro de una WebApp Dentro del directorio wwwroot/<FunctionName> Fichero .csx Fichero json con la configuración de los bindings
  • 25. #TechSum Contiene la función Run que es el entry point Podemos definir clases dentro del propio fichero csx Pueden cargarse ficheros .csx adicionales con #load #load “otroFichero.csx” #load “pathotroFichero.csx” #load “..sharedotroFichero.csx”
  • 26. #TechSum Los siguientes ensamblados están referenciados automáticamente mscorlib, System, System.Core System.Xml System.Net.Http, System.Net.Http.Formatting System.Web.Http Microsoft.Azure.WebJobs Microsoft.Azure.WebJobs.Host Microsoft.Azure.WebJobs.Extensions
  • 27. #TechSum Los siguientes ensamblados son tratados de forma especial y se pueden referenciar directamente usando #r “nombre” Newtonsoft.Json Microsoft.WindowsAzure.Storage Microsoft.ServiceBus Microsoft.AspNet.Webhooks.Common Microsoft.AspNet.Webhooks.Receivers
  • 28. #TechSum Para agregar paquetes NuGet debe subirse un project.json en la carpeta de la función Usar #r para referenciar los paquetes por su nombre
  • 29. #TechSum Azure portal Kudu https://<funcapp>.scm.azurewebsites.net FTP (WebApp) CD a través de varios orígenes Github, BitBucket, VSTS Git Dropbox, OneDrive
  • 31. #TechSum Azure functions es una evolución de los WebJobs Comparten muchas cosas en común De hecho las Azure Functions se ejecutan dentro del contexto de una web app Aunque eso nos importa (relativamente) poco Las Azure Functions se ejecutan bajo el Webjob SDK2
  • 32. #TechSum Ambos tienen casi las mismas capacidades Excepto que las Azure Functions pueden ser invocada via HTTP A nivel de triggers, entradas y salidas son muy parecidos Las Azure Functions proporcionan un nivel de abstracción superior
  • 34. © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Notas del editor

  • #4: Para entrar en los dos primeros sorteos los usuarios tienen que registrase en la web de plainconceptsgo leyendo el QR, para cazar a un speaker de Plain tendrán que leer el QR correspondiente. Para entrar en el sorteo del dron tienen que ir al stand y acertar todas las preguntas del test