DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
DevOps in an
IoT World
PETE GALLAGHER
PETECODES.CO.UK / PJGCREATIONS.CO.UK
29/10/2020
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
About Me
Pete Gallagher
@pete_codes / @PJGCreations
www.PeteCodes.co.uk
www.PJGCreations.co.uk
Pete@PJGCreations.co.uk
IT Consultant, Microsoft Certified Trainer & Azure MVP, Pluralsight Author
Decades of Desktop, Web & Embedded Software experience,
Meetup Organiser,
STEM Ambassador, Code Club Organiser … Gadget Addict
Father of two inquisitive girls
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
What we’re going to be doing…
 What is IoT?
 What is DevOps?
 A simple IoT App
 An open source DevOps pipeline
 IoT Edge
 Azure DevOps
 Q&A
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
What is IoT?
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
What is IoT?
“In the broadest sense, the term IoT encompasses
everything connected to the internet, but it is
increasingly being used to define objects that "talk" to
each other.”
"Simply, the Internet of Things is made up of devices
– from simple sensors to smartphones and wearables
– connected together"
https://www.wired.co.uk/article/internet-of-things-what-is-explained-iot
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
What is IoT?
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
http://bit.ly/gartnertrends2018
“Gartner forecasted that 14.2 billion connected
things would be in use in 2019, and that the
total would reach 25 billion by 2021”
What is IoT?
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
https://www.statista.com/statistics/471264/iot-number-of-connected-devices-worldwide/
What is IoT?
0
10
20
30
40
50
60
70
80
2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025
Billions Of Connected IoT Devices By Year
26.66
35.82
0
10
20
30
40
50
60
70
80
2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025
Billions Of Connected IoT Devices By Year
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
https://iot.ieee.org/images/files/pdf/IEEE_IoT_Towards_Definition_Inter
net_of_Things_Revision1_27MAY15.pdf
What is IoT?
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
What is DevOps?
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
What is DevOps?
“DevOps is a set of practices that combines
software development (Dev) and information-
technology operations (Ops).
It aims to shorten the systems development life
cycle and provide continuous delivery with high
software quality”
https://en.wikipedia.org/wiki/DevOps
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
What is DevOps?
“To practice DevOps effectively, software
applications have to meet a set of architecturally
significant requirements (ASRs).
Such as: deployability, modifiability, testability,
and monitorability”
https://en.wikipedia.org/wiki/DevOps
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
What is DevOps?
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
Agile Engineering Podcast
AVAILABLE NOW
THROUGH ALL
MAJOR
PROVIDERS
https://agileengineeringpodcast.com/
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
A Simple IoT App
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
A Simple IoT App
IoT Hub Azure
“Thing”
Local Web App
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
Demo
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
Add a smidge of collaboration
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
A Simple IoT App
IoT Hub
Web App
GitHub
Azure
“Thing”
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
Demo
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
Can we make this more DevOps-y?
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
A Simple IoT App
IoT Hub
Web App
GitHub
“Thing”
Jenkins Docker Hub
Docker
A (now less) Simple IoT App
Azure
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
Demo
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
What is Jenkins?
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
What is Jenkins?
“Jenkins is a free and open source automation
server.”
“Jenkins helps to automate the non-human part
of the software development process, with
continuous integration and facilitating technical
aspects of continuous delivery”
https://en.wikipedia.org/wiki/Jenkins_(software)
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
What are Docker and Docker Hub?
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
What is Docker?
“Docker is a set of platform as a service (PaaS)
products that use OS-level virtualization to deliver
software in packages called containers”
“Containers are isolated from one another and
bundle their own software, libraries and
configuration files; they can communicate with each
other through well-defined channels”
https://en.wikipedia.org/wiki/Docker_(software)
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
What is Docker Hub?
“Docker Hub is a service provided by Docker for
finding and sharing container images with your
team.”
“Docker Hub provides the following major
features: Repos, Teams & Orgs, Official Images,
Publisher Images, Builds, Webhooks”
https://docs.docker.com/docker-hub/
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
Demo… Continued
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
What’s the Microsoft Way?
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
A (now less) Simple IoT App
IoT
Hub
Web
App
GitHub
Azure
“Thing”
Jenkins Docker Hub
Docker Container
Registry
IoT Edge
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
Microsoft Azure IoT Edge
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
What is Azure IoT Edge?
“Azure IoT Edge is a fully managed service built
on Azure IoT Hub. Deploy your cloud workloads
to run on Edge Devices as containers”
“Devices spend less time communicating with
the cloud and react more quickly to local
changes.”
https://azure.microsoft.com/en-gb/services/iot-edge/
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
https://www.gartner.com/smarterwithgartner/gartner-top-10-strategic-
technology-trends-for-2020/
“By 2023, there could be more than 20 times as
many smart devices at the edge of the network
as in conventional IT roles. ”
What is Azure IoT Edge?
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
What is Azure IoT Edge?
IoT
Hub Azure
Container
Registry
“Thing”
“Edge Device”
TelemetryML / AI
Azure
Function
Azure IoT Edge Runtime
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
Demo
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
Microsoft Azure DevOps
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
What is Azure DevOps?
“Azure DevOps provides developer services to
support teams to plan work, collaborate on code
development, and build and deploy
applications”
https://docs.microsoft.com/en-us/azure/devops/user-guide/what-is-
azure-devops?view=azure-devops
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
What is Azure DevOps?
Repos
Pipelines
Boards
Server
Artifacts
Test Plans
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
A (now less) Simple IoT App
IoT
Hub
Web
App
GitHub
Azure
“Edge Device”
IoT Edge
Container
Registry
Azure
Repo
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
IoT
Hub
Web
App
Azure
Container
Registry
Azure
Repo
IoT Edge
“Edge Device”
“Edge Build”
IoT Edge
Build Agent
VS Code Repo Build
Release
Registry
IoT Hub
A (now less) Simple IoT App
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
Demo
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
Links
 Azure IoT Hubs
https://azure.microsoft.com/en-gb/services/iot-hub/
 Jenkins
https://jenkins.io/
 Docker
https://www.docker.com/
 Docker Hub
https://hub.docker.com/
 Jenkins and Docker Demo
https://www.youtube.com/watch?v=og1pr6facYY
 Azure IoT Edge
https://azure.microsoft.com/en-gb/services/iot-edge/
 Azure IoT Edge Deep Dive
https://www.youtube.com/watch?v=Ifst1k1lD7A
 Azure DevOps
https://azure.microsoft.com/en-gb/services/devops/
 Node “onoff” Package
https://www.npmjs.com/package/onoff
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
 Twitter
@pete_codes / @PJGCreations
 Email:
pete@pjgcreations.co.uk
 Website:
https://www.petecodes.co.uk
https://www.pjgcreations.co.uk
 Notts IoT:
https://www.nottsiot.co.uk
 Dot Net Notts:
https://www.dotnetnotts.co
 Notts Dev Workshop:
https://www.nottsdevworkshop.co.uk
 LATi:
https://www.lati.org.uk
 Agile Engineering Podcast:
https://agileengineeringpodcast.com/
Contact Me
Slides: http://bit.ly/pjgdevopsiotbrighton2020
DevOps in an IoT World – Copyright Pete Gallagher 2020 – @Pete_Codes
Contact Me
Pete Gallagher
@pete_codes / @PJGCreations
www.PeteCodes.co.uk
www.PJGCreations.co.uk
Pete@PJGCreations.co.uk

DevOps in an IoT World - Brighton Web Development - 29-10-20

  • 1.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes DevOps in an IoT World PETE GALLAGHER PETECODES.CO.UK / PJGCREATIONS.CO.UK 29/10/2020
  • 2.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes About Me Pete Gallagher @pete_codes / @PJGCreations www.PeteCodes.co.uk www.PJGCreations.co.uk Pete@PJGCreations.co.uk IT Consultant, Microsoft Certified Trainer & Azure MVP, Pluralsight Author Decades of Desktop, Web & Embedded Software experience, Meetup Organiser, STEM Ambassador, Code Club Organiser … Gadget Addict Father of two inquisitive girls
  • 3.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes What we’re going to be doing…  What is IoT?  What is DevOps?  A simple IoT App  An open source DevOps pipeline  IoT Edge  Azure DevOps  Q&A
  • 4.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes What is IoT?
  • 5.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes What is IoT? “In the broadest sense, the term IoT encompasses everything connected to the internet, but it is increasingly being used to define objects that "talk" to each other.” "Simply, the Internet of Things is made up of devices – from simple sensors to smartphones and wearables – connected together" https://www.wired.co.uk/article/internet-of-things-what-is-explained-iot
  • 6.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes What is IoT?
  • 7.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes http://bit.ly/gartnertrends2018 “Gartner forecasted that 14.2 billion connected things would be in use in 2019, and that the total would reach 25 billion by 2021” What is IoT?
  • 8.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes https://www.statista.com/statistics/471264/iot-number-of-connected-devices-worldwide/ What is IoT? 0 10 20 30 40 50 60 70 80 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 Billions Of Connected IoT Devices By Year 26.66 35.82 0 10 20 30 40 50 60 70 80 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 Billions Of Connected IoT Devices By Year
  • 9.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes https://iot.ieee.org/images/files/pdf/IEEE_IoT_Towards_Definition_Inter net_of_Things_Revision1_27MAY15.pdf What is IoT?
  • 10.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes What is DevOps?
  • 11.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes What is DevOps? “DevOps is a set of practices that combines software development (Dev) and information- technology operations (Ops). It aims to shorten the systems development life cycle and provide continuous delivery with high software quality” https://en.wikipedia.org/wiki/DevOps
  • 12.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes What is DevOps? “To practice DevOps effectively, software applications have to meet a set of architecturally significant requirements (ASRs). Such as: deployability, modifiability, testability, and monitorability” https://en.wikipedia.org/wiki/DevOps
  • 13.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes What is DevOps?
  • 14.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes Agile Engineering Podcast AVAILABLE NOW THROUGH ALL MAJOR PROVIDERS https://agileengineeringpodcast.com/
  • 15.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes A Simple IoT App
  • 16.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes A Simple IoT App IoT Hub Azure “Thing” Local Web App
  • 17.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes Demo
  • 18.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes Add a smidge of collaboration
  • 19.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes A Simple IoT App IoT Hub Web App GitHub Azure “Thing”
  • 20.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes Demo
  • 21.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes Can we make this more DevOps-y?
  • 22.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes A Simple IoT App IoT Hub Web App GitHub “Thing” Jenkins Docker Hub Docker A (now less) Simple IoT App Azure
  • 23.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes Demo
  • 24.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes What is Jenkins?
  • 25.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes What is Jenkins? “Jenkins is a free and open source automation server.” “Jenkins helps to automate the non-human part of the software development process, with continuous integration and facilitating technical aspects of continuous delivery” https://en.wikipedia.org/wiki/Jenkins_(software)
  • 26.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes What are Docker and Docker Hub?
  • 27.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes What is Docker? “Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers” “Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels” https://en.wikipedia.org/wiki/Docker_(software)
  • 28.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes What is Docker Hub? “Docker Hub is a service provided by Docker for finding and sharing container images with your team.” “Docker Hub provides the following major features: Repos, Teams & Orgs, Official Images, Publisher Images, Builds, Webhooks” https://docs.docker.com/docker-hub/
  • 29.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes Demo… Continued
  • 30.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes What’s the Microsoft Way?
  • 31.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes A (now less) Simple IoT App IoT Hub Web App GitHub Azure “Thing” Jenkins Docker Hub Docker Container Registry IoT Edge
  • 32.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes Microsoft Azure IoT Edge
  • 33.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes What is Azure IoT Edge? “Azure IoT Edge is a fully managed service built on Azure IoT Hub. Deploy your cloud workloads to run on Edge Devices as containers” “Devices spend less time communicating with the cloud and react more quickly to local changes.” https://azure.microsoft.com/en-gb/services/iot-edge/
  • 34.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes https://www.gartner.com/smarterwithgartner/gartner-top-10-strategic- technology-trends-for-2020/ “By 2023, there could be more than 20 times as many smart devices at the edge of the network as in conventional IT roles. ” What is Azure IoT Edge?
  • 35.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes What is Azure IoT Edge? IoT Hub Azure Container Registry “Thing” “Edge Device” TelemetryML / AI Azure Function Azure IoT Edge Runtime
  • 36.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes Demo
  • 37.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes Microsoft Azure DevOps
  • 38.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes What is Azure DevOps? “Azure DevOps provides developer services to support teams to plan work, collaborate on code development, and build and deploy applications” https://docs.microsoft.com/en-us/azure/devops/user-guide/what-is- azure-devops?view=azure-devops
  • 39.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes What is Azure DevOps? Repos Pipelines Boards Server Artifacts Test Plans
  • 40.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes A (now less) Simple IoT App IoT Hub Web App GitHub Azure “Edge Device” IoT Edge Container Registry Azure Repo
  • 41.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes IoT Hub Web App Azure Container Registry Azure Repo IoT Edge “Edge Device” “Edge Build” IoT Edge Build Agent VS Code Repo Build Release Registry IoT Hub A (now less) Simple IoT App
  • 42.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes Demo
  • 43.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes Links  Azure IoT Hubs https://azure.microsoft.com/en-gb/services/iot-hub/  Jenkins https://jenkins.io/  Docker https://www.docker.com/  Docker Hub https://hub.docker.com/  Jenkins and Docker Demo https://www.youtube.com/watch?v=og1pr6facYY  Azure IoT Edge https://azure.microsoft.com/en-gb/services/iot-edge/  Azure IoT Edge Deep Dive https://www.youtube.com/watch?v=Ifst1k1lD7A  Azure DevOps https://azure.microsoft.com/en-gb/services/devops/  Node “onoff” Package https://www.npmjs.com/package/onoff
  • 44.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes  Twitter @pete_codes / @PJGCreations  Email: pete@pjgcreations.co.uk  Website: https://www.petecodes.co.uk https://www.pjgcreations.co.uk  Notts IoT: https://www.nottsiot.co.uk  Dot Net Notts: https://www.dotnetnotts.co  Notts Dev Workshop: https://www.nottsdevworkshop.co.uk  LATi: https://www.lati.org.uk  Agile Engineering Podcast: https://agileengineeringpodcast.com/ Contact Me Slides: http://bit.ly/pjgdevopsiotbrighton2020
  • 45.
    DevOps in anIoT World – Copyright Pete Gallagher 2020 – @Pete_Codes Contact Me Pete Gallagher @pete_codes / @PJGCreations www.PeteCodes.co.uk www.PJGCreations.co.uk Pete@PJGCreations.co.uk