Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

IoT backend architecture

324 views

Published on

An introduction into how IoT backend works. Explained on a example of Gigaset elements smart home system.

Presented at SAP Next-Gen Lab inauguration at WSB Wrocław.

Published in: Internet
  • Be the first to comment

  • Be the first to like this

IoT backend architecture

  1. 1. IoT Backend Architecture Tomasz Tarczyński, Gigaset
  2. 2. Gigaset elements Tomasz Tarczyński: IoT Backend Architecture
  3. 3. Gigaset elements Tomasz Tarczyński: IoT Backend Architecture
  4. 4. Gigaset elements Tomasz Tarczyński: IoT Backend Architecture
  5. 5. Requirements of IoT Backend ● API for frontend applications (because User wants to see what’s going on) ● API for devices (IoT; because we want input) ● Fast internal event processing (because User expects results instantly) ● Storage for events Tomasz Tarczyński: IoT Backend Architecture
  6. 6. Requirements of IoT Backend 1. Reliability The system should always: ● be available ● respond promptly to requests ● provide accurate results Tomasz Tarczyński: IoT Backend Architecture
  7. 7. Requirements of IoT Backend 2. Velocity Fast delivery of new features ● Frequent releases ● No major regressions ● Bugs fixed promptly Tomasz Tarczyński: IoT Backend Architecture
  8. 8. First Generation IoT Backend
  9. 9. A monolith app ● All backend functionality in 1 app ● Deployed in the cloud ● IaaS Infrastructure as a Service
  10. 10. A monolith app ● All backend functionality in 1 app ● Deployed in the cloud ● IaaS Infrastructure as a Service Rev. Proxy DB App
  11. 11. A monolith app ● HA High Availability ● Resistant to individual component failure Load Balancer Rev. Proxy DB App Rev. Proxy Rev. Proxy DB AppApp DB Load Balancer
  12. 12. Teams building it ● Dev ● Design APIs ● Design logic ● Write code ● Build the app ● Write tests ● Debug problems Tomasz Tarczyński: IoT Backend Architecture
  13. 13. Teams building it ● Dev ● Design APIs ● Design logic ● Write code ● Build the app ● Write tests ● Debug problems Tomasz Tarczyński: IoT Backend Architecture ● Ops ● Design infrastructure ● Design configuration ● Design monitoring ● Deploy apps ● Deploy services ● Capacity planning ● React to failures
  14. 14. Teams building it Tomasz Tarczyński: IoT Backend Architecture
  15. 15. Limitations of First Generation IoT Backend 1. Big releases ● Long tests (~1 week) 2. Infrequent releases ● Release to production once per month 3. Painful deployments 4. Failures Tomasz Tarczyński: IoT Backend Architecture
  16. 16. Second Generation IoT Backend
  17. 17. Microservices 1. The monolith split into ~70 small single-purpose apps 2. Individual app developed by 1–2 devs Tomasz Tarczyński: IoT Backend Architecture
  18. 18. Microservices 3. Fully automated deployments of apps ● With no human intervention required 4. Short time to deploy ● 30 minutes from requested to done Tomasz Tarczyński: IoT Backend Architecture
  19. 19. Microservices – example user notif. notif. config repo Postgre SQL GCM APNS
  20. 20. Building Blocks APNS analyzer heart beat Elastic search Postgre SQL UI/UX events config repo GCM analyzer intrus. event log user AuthZ user notif. Rabbit MQ adapter base station redis cache reverse channel adapter gobox adapter camera rule engine UI/UX config state repo postfix
  21. 21. Teams building it ● Dev ● Deploy apps ● Deploy configuration ● Monitor results ● React to failures Tomasz Tarczyński: IoT Backend Architecture ● Ops ● Design automation ● Design monitoring ● Write automation code ● Write monitoring code
  22. 22. Tools used ● Dev Tomasz Tarczyński: IoT Backend Architecture ● Ops
  23. 23. Benefits of Second Generation IoT Backend 1. Faster iteration time ● 1 day (instead of 1 month) 2. Frequent releases ● Up to 10 production releases a day 3. Fully automated deployments 4. Failures: improved MTTR – Mean Time To Recover ● 30 minutes (instead of 4 hours) Tomasz Tarczyński: IoT Backend Architecture
  24. 24. Future: Third Generation IoT Backend
  25. 25. Cloud Native Platform 1. Use Infrastructure-as-a-Service (IaaS) 2. VMs are the wrong abstraction 3. Data center OS ● Orchestrate ● Treat a data center as a single machine ● API for the data center Tomasz Tarczyński: IoT Backend Architecture
  26. 26. Student’s Projects Proposals 1. Overview and Comparison of Cloud IoT platforms (SAP IoT, AWS IoT, ...) 2. Exploring benefits of a Cloud Native platform. Apply Design Thinking to backend architecture. 3. How to improve communication within company. Explore ChatOps. Tomasz Tarczyński: IoT Backend Architecture
  27. 27. Thanks! Tomasz Tarczynski @ttarczynski

×