Home >Documents >EuroPython 2016 - @chescales Chesco Igual...MQTT CoAP DDS Communication Protocols HTTP AMQP XMPP...

EuroPython 2016 - @chescales Chesco Igual...MQTT CoAP DDS Communication Protocols HTTP AMQP XMPP...

Date post:15-Sep-2020
Category:
View:1 times
Download:0 times
Share this document with a friend
Transcript:
  • Brewing beer with PythonChesco [email protected]

  • What shalt thou learn?

    - Building an IoT backend -

    - Technologies, Protocols and Tools -

    - Backend considerations -

    - Meet a full running architecture -

    - Learn to brew beer -

  • What shalt thou learn?

    - Building an IoT backend -

    - Technologies, Protocols and Tools -

    - Backend considerations -

    - Meet a full running architecture -

    - Learn to brew beer -

  • MiniBrew

  • So what is it?

  • So what is it?

    Yay!! Awesome!!

    (and others)

  • So what is it?

    Yay!! Awesome!!

    (and others)

  • Let’s go technical

  • Project Requirements

    Real-time data

  • Project Requirements

    Security - Real-time data -

  • Project Requirements

    Obfuscation - Real-time data -

    - Security -

  • Project Requirements

    Authentication - Real-time data -

    - Security -

    - Obfuscation -

  • Project Requirements

    Two-waycommunication

    - Real-time data -

    - Security -

    - Obfuscation -

    - Authentication -

  • Project Requirements

    Resiliency - Real-time data -

    - Security -

    - Obfuscation -

    - Authentication -

    - 2-way communication -

  • Project Requirements

    Lightweight - Real-time data -

    - Security -

    - Obfuscation -

    - Authentication -

    - 2-way communication -

    - Resiliency -

  • Project Requirements

    - Real-time data -

    - Security -

    - Obfuscation -

    - Authentication -

    - 2-way communication -

    - Resiliency -

    - Lightweight -

    - Last known status -

    - Debugging -

    - Admin site -

    - Mobile app api -

    - rainbows, etc. -

  • What thou shalt take care about too...

    - Scalability -

    - Proven technologies -

    - small tech stack -

    - Error tracking -

    - Reduce data transfer -

    - Documentation -

  • What thou shalt take care about too...

    - Scalability -

    - Proven technologies -

    - small tech stack -

    - Error tracking -

    - Reduce data transfer -

    - Documentation -

  • when I read the project specs for the first time

    Source: thecodinglove.com

  • Step by Step

  • Communications Protocol

  • Communication Protocols

    HTTPAMQP

    XMPP

    CoAPMQTT

    DDS

  • Communication Protocols

    HTTPAMQP

    XMPP

    CoAPMQTT

    DDS

  • Comprehensive IoT Backend Solutions

  • Amazon IoT

  • So then…?

    - Real-time data -

    - Security -

    - Obfuscation -

    - Authentication -

    - 2-way communication -

    - Resiliency -

    - Lightweight -

    - Last known status -

    - Debugging -

    - Admin site -

    - Mobile app api -

    - rainbows, etc. -

    - Scalability -

    - Proven technologies -

    - small tech stack -

    - Error tracking -

    - Reduce data transfer -

    - Documentation -

    PROJECT REQUIREMENTS EXTRAS

  • Let’s set up our own(get a broker…)

  • Options?

  • Options?Top player for many years

    Scalability proven (vertical and horizontal)

    Can convert from MQTT to other protocols (AMQP)

    No payment per use

    Familiarity

  • Extra bonus!

    ???

  • Extra bonus!

  • Now what?Let’s talk to that broker

  • Eclipse library

    https://github.com/eclipse/paho.mqtt.python

    https://github.com/eclipse/paho.mqtt.pythonhttps://github.com/eclipse/paho.mqtt.python

  • NO CODE

  • API time

  • Again, options?

  • How are we doing?

    - Real-time data -

    - Security -

    - Obfuscation -

    - Authentication -

    - 2-way communication -

    - Resiliency -

    - Lightweight -

    - Last known status -

    - Debugging -

    - Admin site -

    - Mobile app api -

    - rainbows, etc. -

    - Scalability -

    - Proven technologies -

    - small tech stack -

    - Error tracking -

    - Reduce data transfer -

    - Documentation -

    PROJECT REQUIREMENTS EXTRAS

  • Authentication

  • Let Python decidehttps://github.com/rabbitmq/rabbitmq-auth-backend-http

    https://github.com/rabbitmq/rabbitmq-auth-backend-httphttps://github.com/rabbitmq/rabbitmq-auth-backend-http

  • How are we doing?

    - Real-time data -

    - Security -

    - Obfuscation -

    - Authentication -

    - 2-way communication -

    - Resiliency -

    - Lightweight -

    - Last known status -

    - Debugging -

    - Admin site -

    - Mobile app api -

    - rainbows, etc. -

    - Scalability -

    - Proven technologies -

    - small tech stack -

    - Error tracking -

    - Reduce data transfer -

    - Documentation -

    PROJECT REQUIREMENTS EXTRAS

  • How are we doing?

    - Real-time data -

    - Security -

    - Obfuscation -

    - Authentication -

    - 2-way communication -

    - Resiliency -

    - Lightweight -

    - Last known status -

    - Debugging -

    - Admin site -

    - Mobile app api -

    - rainbows, etc. -

    - Scalability -

    - Proven technologies -

    - small tech stack -

    - Error tracking -

    - Reduce data transfer -

    - Documentation -

    PROJECT REQUIREMENTS EXTRAS

  • Obfuscated andLightweight messages

  • Protocol Buffershttps://github.com/google/protobuf

    https://github.com/google/protobufhttps://github.com/google/protobuf

  • Protocol Buffershttps://github.com/google/protobuf

    https://github.com/google/protobufhttps://github.com/google/protobuf

  • How are we doing?

    - Real-time data -

    - Security -

    - Obfuscation -

    - Authentication -

    - 2-way communication -

    - Resiliency -

    - Lightweight -

    - Last known status -

    - Debugging -

    - Admin site -

    - Mobile app api -

    - rainbows, etc. -

    - Scalability -

    - Proven technologies -

    - small tech stack -

    - Error tracking -

    - Reduce data transfer -

    - Documentation -

    PROJECT REQUIREMENTS EXTRAS

  • How are we doing?

    - Real-time data -

    - Security -

    - Obfuscation -

    - Authentication -

    - 2-way communication -

    - Resiliency -

    - Lightweight -

    - Last known status -

    - Debugging -

    - Admin site -

    - Mobile app api -

    - rainbows, etc. -

    - Scalability -

    - Proven technologies -

    - small tech stack -

    - Error tracking -

    - Reduce data transfer -

    - Documentation -

    PROJECT REQUIREMENTS EXTRAS

  • Final Architecture

  • Wanna roll with us?Barcelona (ES) Almere (NL)

    elements.nl/careers

    https://www.elements.nl/careers/https://www.elements.nl/careers/

  • Thank You

  • Questions?

of 53/53
Brewing beer with Python Chesco Igual @chescales
Embed Size (px)
Recommended