SlideShare une entreprise Scribd logo
1  sur  51
Télécharger pour lire hors ligne
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Update Strategies
for the Edge
There’s a better way.
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Kat Cosgrove
IoT Engineer
Developer Advocate
Twitter: @Dixie3Flatline
Email: katc@jfrog.com
jfrog.com/shownotes
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
How large is the Edge?
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
20,400,000,000
That’s a lot of devices.
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Updates Today
They don’t update; device is effectively single-use
OR
It’s time-consuming, complicated, or requires
physical access
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Why change?
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
It’s inconvenient
Edge computing is massive and growing
- Consumer
- Industrial
- Medical
Slow OTA updates are annoying
Wired updates are expensive and more annoying
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
It’s dangerous
Unpatched bugs can be a huge vulnerability
- Expose private data
- Harnessed for a botnet
- Used for cryptocurrency mining
- Safety implications for medical
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
What’s slowing us down?
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Not building for it.
Many devices are not made to be updated.
- Designed to run one version until the end
- “Update strategy” here is flashing the device
- Bugs are inevitable
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Between 1 and 25
Number of bugs per 1000 LOC
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Connectivity Concerns
We can’t rely on the device’s network
- Networks may be unstable
- Bandwidth may be low
- Network probably isn’t secure
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Hardware Variations
- It’s 20.4 billion devices
- Lots of specialized hardware
- Variations in memory, storage space, architecture
How do we design something that handles so much
variety?
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Updates are your friend. Embrace updates, not security
nightmares.
Think future-forward.
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Get better with age.
Your product should not be getting worse from the moment it
ships.
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Build robust.
Brittle software means a brittle device, and that doesn’t inspire
trust.
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Modern DevOps tools.
Your developers will thank you and things will run more
smoothly.
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
The Proof of Concept
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Cars Now
- Majority not designed for OTA updates
- OTA updates are still slow and inconvenient
- Little standardization
- Significant portion of recalls are due to software
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Cars as Edge Devices
- Presented a range of solvable pain points in one
device
- Tangible example for end users and manufacturers
- Device in question meant speed, reliability, and
safety were equally important
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Workflows and Tools
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Two Distinct Workflows
Firmware Updates
- More difficult update
- Takes only minutes
- Rollback if there is a
failure
- Relies on Mender and
Yocto
Software Updates
- Without flashing
firmware
- No interruption of user
- Takes only seconds
- Relies on K3S and
Helm
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Software Workflow
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
K3S + Helm
PIPELINES
Code & Build
Deploytoproduction(car)
VCS & CI
ARTIFACTORY
Schedule
Containers
CD
ACCESS
MISSION CONTROL
XRAY
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Kubernetes, but 5 less
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
K3S
- Lightweight Kubernetes, designed for
Edge devices
- Uses only 512mb of RAM
- 40mb binary
- Very minimal OS requirements
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
A package manager for Kubernetes
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Helm
“Charts” describe complex applications
- Easily repeatable installation
- Final authority on application
- Easy to version
- Supports rollbacks
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Helm Charts
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
The Result - Software
Application updates are quick and efficient
- Average of 35 seconds from dev to car
- No interruption for the user
- Can happen while device is in use
- Could happen silently, depends on device purpose
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Firmware Workflow
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
PIPELINES
CODE & BUILD
Deploytoproduction(car)
VCS & CI
ARTIFACTORY EMBEDDED OS
ACCESS
MISSION CONTROL
XRAY
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
OTA updates for embedded Linux devices
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Mender Overview
Ticks several of the boxes we’re looking for:
- Updates are signed and verified
- Supports automatic rollbacks
- Several distinct installation strategies
- Dual A/B strategy
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Mender - A/B
Two partitions are on the device
- Bootloader aware of “active”
- Update streams to “inactive”
- Automatically revert to
previous partition on failure
Now let’s handle the size of our
builds.
User Space A User Space B
Kernel
Initramfs A
Kernel
Initramfs B
Bootloader
Update A
Update B
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Custom Linux distributions for any hardware architecture
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Yocto Overview
- Eliminates OS bloat
- Drastically reduces resources required
- BitBake recipes and layers define your build
- Layers for common configurations are provided
- Custom layers to isolate applications or behaviors
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Yocto Layers
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Yocto and Artifactory
- After first build, we can make things much faster
- Yocto cache allows for incremental updates
- Build cache can be stored in Artifactory
- Reduces time required to build by up to 50%
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
The Result - Firmware
- Cuts the total time after first build to 5-10 minutes
- Build is as small as possible
- Updates are signed and secure
- Automatic rollbacks in case of failure
Success!
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Other Tools
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
OSTree
Git for operating systems
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
OSTree
- Versions updates of Linux operating systems
- Git-like system with branching
- Tracks file system trees
- Allows for updates and rollbacks
- Exists as a meta-layer for Yocto
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Testing framework for operating systems on embedded devices
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
LAVA
- Linaro Automation and Validation Architecture
- CI system for deploying an OS to device for testing
- Can deploy to physical or virtual hardware
- Boot testing, bootloader testing, or system testing
- Results tracked over time
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
LAVA
- Designed for validation during development
- For example, whether the kernel compiles and boots
- Templates for more than 100 boards built in
- Custom devices types can be added
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
LAVA Tests
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Wrapping Up
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
Edge and IoT updates are broken
This is a security problem that must be addressed
Modern DevOps tools are here to help
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
@jfrog | Copyright © 2019 JFrog. All Rights Reserved
THANKS!
@Dixie3Flatline katc@jfrog.com
jfrog.com/shownotes

Contenu connexe

Tendances

Three Ways InfluxDB Enables You to Use Time Series Data Across Your Entire En...
Three Ways InfluxDB Enables You to Use Time Series Data Across Your Entire En...Three Ways InfluxDB Enables You to Use Time Series Data Across Your Entire En...
Three Ways InfluxDB Enables You to Use Time Series Data Across Your Entire En...
InfluxData
 

Tendances (19)

Meetup talk Red Hat OpenShift service mesh
Meetup talk Red Hat OpenShift service meshMeetup talk Red Hat OpenShift service mesh
Meetup talk Red Hat OpenShift service mesh
 
Operator development made easy with helm
Operator development made easy with helmOperator development made easy with helm
Operator development made easy with helm
 
„GitOps with Flux and Flagger“
„GitOps with Flux and Flagger“„GitOps with Flux and Flagger“
„GitOps with Flux and Flagger“
 
Deploy prometheus on kubernetes
Deploy prometheus on kubernetesDeploy prometheus on kubernetes
Deploy prometheus on kubernetes
 
GitOps, Jenkins X &Future of CI/CD
GitOps, Jenkins X &Future of CI/CDGitOps, Jenkins X &Future of CI/CD
GitOps, Jenkins X &Future of CI/CD
 
GitOps is the best modern practice for CD with Kubernetes
GitOps is the best modern practice for CD with KubernetesGitOps is the best modern practice for CD with Kubernetes
GitOps is the best modern practice for CD with Kubernetes
 
Cloud Economics - Crayon Optimization Services
Cloud Economics - Crayon Optimization ServicesCloud Economics - Crayon Optimization Services
Cloud Economics - Crayon Optimization Services
 
Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)
Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)
Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)
 
Yannis Zarkadas. Enterprise data science workflows on kubeflow
Yannis Zarkadas. Enterprise data science workflows on kubeflowYannis Zarkadas. Enterprise data science workflows on kubeflow
Yannis Zarkadas. Enterprise data science workflows on kubeflow
 
[Konveyor] migrate and modernize your application portfolio to kubernetes wit...
[Konveyor] migrate and modernize your application portfolio to kubernetes wit...[Konveyor] migrate and modernize your application portfolio to kubernetes wit...
[Konveyor] migrate and modernize your application portfolio to kubernetes wit...
 
India Serverless Summit 2017 - Sponsorship Deck
India Serverless Summit 2017 - Sponsorship DeckIndia Serverless Summit 2017 - Sponsorship Deck
India Serverless Summit 2017 - Sponsorship Deck
 
Three Ways InfluxDB Enables You to Use Time Series Data Across Your Entire En...
Three Ways InfluxDB Enables You to Use Time Series Data Across Your Entire En...Three Ways InfluxDB Enables You to Use Time Series Data Across Your Entire En...
Three Ways InfluxDB Enables You to Use Time Series Data Across Your Entire En...
 
Zero-downtime deployment with Kubernetes [Meetup #21 - 01]
Zero-downtime deployment with Kubernetes [Meetup #21 - 01]Zero-downtime deployment with Kubernetes [Meetup #21 - 01]
Zero-downtime deployment with Kubernetes [Meetup #21 - 01]
 
High-Precision GPS Positioning for Spring Developers
High-Precision GPS Positioning for Spring DevelopersHigh-Precision GPS Positioning for Spring Developers
High-Precision GPS Positioning for Spring Developers
 
Migrating from oracle soa suite to microservices on kubernetes
Migrating from oracle soa suite to microservices on kubernetesMigrating from oracle soa suite to microservices on kubernetes
Migrating from oracle soa suite to microservices on kubernetes
 
IoT Scale Event-Stream Processing for Connected Fleet at Penske
IoT Scale Event-Stream Processing for Connected Fleet at PenskeIoT Scale Event-Stream Processing for Connected Fleet at Penske
IoT Scale Event-Stream Processing for Connected Fleet at Penske
 
Logstash Editor: The vscode extension to boost your productivity!
Logstash Editor: The vscode extension to boost your productivity!Logstash Editor: The vscode extension to boost your productivity!
Logstash Editor: The vscode extension to boost your productivity!
 
Cloud Native Application Framework
Cloud Native Application FrameworkCloud Native Application Framework
Cloud Native Application Framework
 
Modernizing Your Enterprise Application Architecture with Microservices and A...
Modernizing Your Enterprise Application Architecture with Microservices and A...Modernizing Your Enterprise Application Architecture with Microservices and A...
Modernizing Your Enterprise Application Architecture with Microservices and A...
 

Similaire à Update Strategies for the Edge, by Kat Cosgrove

HKG18-212 - Trusted Firmware M: Introduction
HKG18-212 - Trusted Firmware M: IntroductionHKG18-212 - Trusted Firmware M: Introduction
HKG18-212 - Trusted Firmware M: Introduction
Linaro
 

Similaire à Update Strategies for the Edge, by Kat Cosgrove (20)

swampUP: Over-The-Air (OTA) firmware upgrades for Internet of Things devices ...
swampUP: Over-The-Air (OTA) firmware upgrades for Internet of Things devices ...swampUP: Over-The-Air (OTA) firmware upgrades for Internet of Things devices ...
swampUP: Over-The-Air (OTA) firmware upgrades for Internet of Things devices ...
 
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad AssisKubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
 
OpUtils Free training
OpUtils Free training OpUtils Free training
OpUtils Free training
 
Free OpUtils Training presentation
Free OpUtils Training presentationFree OpUtils Training presentation
Free OpUtils Training presentation
 
OpUtils webinar
OpUtils webinarOpUtils webinar
OpUtils webinar
 
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
 
Yokogawa & NextNine – Lessons Learned: Global Cybersecurity Management System...
Yokogawa & NextNine – Lessons Learned: Global Cybersecurity Management System...Yokogawa & NextNine – Lessons Learned: Global Cybersecurity Management System...
Yokogawa & NextNine – Lessons Learned: Global Cybersecurity Management System...
 
Accel series 2020_winter-en
Accel series 2020_winter-enAccel series 2020_winter-en
Accel series 2020_winter-en
 
Artifactory Essentials Workshop on August 27, 2020 by JFrog
Artifactory Essentials Workshop on August 27, 2020 by JFrogArtifactory Essentials Workshop on August 27, 2020 by JFrog
Artifactory Essentials Workshop on August 27, 2020 by JFrog
 
Randstad Docker meetup - Serverless
Randstad Docker meetup - ServerlessRandstad Docker meetup - Serverless
Randstad Docker meetup - Serverless
 
Accel series 2019_winter_en
Accel series 2019_winter_enAccel series 2019_winter_en
Accel series 2019_winter_en
 
Data Migration Approach to SAP ISU CRM ECC.pdf
Data Migration Approach to SAP ISU CRM ECC.pdfData Migration Approach to SAP ISU CRM ECC.pdf
Data Migration Approach to SAP ISU CRM ECC.pdf
 
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdf
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdfUC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdf
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdf
 
HKG18-212 - Trusted Firmware M: Introduction
HKG18-212 - Trusted Firmware M: IntroductionHKG18-212 - Trusted Firmware M: Introduction
HKG18-212 - Trusted Firmware M: Introduction
 
NFF-GO (YANFF) - Yet Another Network Function Framework
NFF-GO (YANFF) - Yet Another Network Function FrameworkNFF-GO (YANFF) - Yet Another Network Function Framework
NFF-GO (YANFF) - Yet Another Network Function Framework
 
What are latest new features that DPDK brings into 2018?
What are latest new features that DPDK brings into 2018?What are latest new features that DPDK brings into 2018?
What are latest new features that DPDK brings into 2018?
 
vSZ Demo
vSZ DemovSZ Demo
vSZ Demo
 
Hyperledger weatherreport20190219 公開版
Hyperledger weatherreport20190219 公開版Hyperledger weatherreport20190219 公開版
Hyperledger weatherreport20190219 公開版
 
Why Splunk Chose Pulsar_Karthik Ramasamy
Why Splunk Chose Pulsar_Karthik RamasamyWhy Splunk Chose Pulsar_Karthik Ramasamy
Why Splunk Chose Pulsar_Karthik Ramasamy
 
Pulsar summit-keynote-final
Pulsar summit-keynote-finalPulsar summit-keynote-final
Pulsar summit-keynote-final
 

Plus de Cloud Native Day Tel Aviv

Plus de Cloud Native Day Tel Aviv (20)

Cloud Native is a Cultural Decision. By Reshef Mann
Cloud Native is a Cultural Decision. By Reshef MannCloud Native is a Cultural Decision. By Reshef Mann
Cloud Native is a Cultural Decision. By Reshef Mann
 
Container Runtime Security with Falco, by Néstor Salceda
Container Runtime Security with Falco, by Néstor SalcedaContainer Runtime Security with Falco, by Néstor Salceda
Container Runtime Security with Falco, by Néstor Salceda
 
Kafka Mirror Tester: Go and Kubernetes Powered Test Suite for Kafka Replicati...
Kafka Mirror Tester: Go and Kubernetes Powered Test Suite for Kafka Replicati...Kafka Mirror Tester: Go and Kubernetes Powered Test Suite for Kafka Replicati...
Kafka Mirror Tester: Go and Kubernetes Powered Test Suite for Kafka Replicati...
 
Running I/O intensive workloads on Kubernetes, by Nati Shalom
Running I/O intensive workloads on Kubernetes, by Nati ShalomRunning I/O intensive workloads on Kubernetes, by Nati Shalom
Running I/O intensive workloads on Kubernetes, by Nati Shalom
 
WTF Do We Need a Service Mesh? By Anton Weiss.
WTF Do We Need a Service Mesh? By Anton Weiss.WTF Do We Need a Service Mesh? By Anton Weiss.
WTF Do We Need a Service Mesh? By Anton Weiss.
 
Building a Cloud-Native SaaS Product The Hard Way. By Arthur Berezin
Building a Cloud-Native SaaS Product The Hard Way. By Arthur BerezinBuilding a Cloud-Native SaaS Product The Hard Way. By Arthur Berezin
Building a Cloud-Native SaaS Product The Hard Way. By Arthur Berezin
 
The Four Questions (Every Monitoring Engineer gets asked), by Leon Adato
The Four Questions (Every Monitoring Engineer gets asked), by Leon AdatoThe Four Questions (Every Monitoring Engineer gets asked), by Leon Adato
The Four Questions (Every Monitoring Engineer gets asked), by Leon Adato
 
K8s Pod Scheduling - Deep Dive. By Tsahi Duek.
K8s Pod Scheduling - Deep Dive. By Tsahi Duek.K8s Pod Scheduling - Deep Dive. By Tsahi Duek.
K8s Pod Scheduling - Deep Dive. By Tsahi Duek.
 
Cloud Native: The Cattle, the Pets, and the Germs, by Avishai Ish-Shalom
Cloud Native: The Cattle, the Pets, and the Germs, by Avishai Ish-ShalomCloud Native: The Cattle, the Pets, and the Germs, by Avishai Ish-Shalom
Cloud Native: The Cattle, the Pets, and the Germs, by Avishai Ish-Shalom
 
MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.
MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.
MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.
 
Cloud native transformation patterns, by Pini Reznik
Cloud native transformation patterns, by Pini ReznikCloud native transformation patterns, by Pini Reznik
Cloud native transformation patterns, by Pini Reznik
 
Cloud and Edge: price, performance and privacy considerations in IOT, by Tsvi...
Cloud and Edge: price, performance and privacy considerations in IOT, by Tsvi...Cloud and Edge: price, performance and privacy considerations in IOT, by Tsvi...
Cloud and Edge: price, performance and privacy considerations in IOT, by Tsvi...
 
Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...
Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...
Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...
 
12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...
12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...
12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...
 
Not my problem! Delegating responsibilities to the infrastructure - Yshay Yaa...
Not my problem! Delegating responsibilities to the infrastructure - Yshay Yaa...Not my problem! Delegating responsibilities to the infrastructure - Yshay Yaa...
Not my problem! Delegating responsibilities to the infrastructure - Yshay Yaa...
 
Brain in the Cloud: Machine Learning on OpenStack & Kubernetes Done Right - E...
Brain in the Cloud: Machine Learning on OpenStack & Kubernetes Done Right - E...Brain in the Cloud: Machine Learning on OpenStack & Kubernetes Done Right - E...
Brain in the Cloud: Machine Learning on OpenStack & Kubernetes Done Right - E...
 
A stateful application walks into a Kubernetes bar - Arthur Berezin, JovianX ...
A stateful application walks into a Kubernetes bar - Arthur Berezin, JovianX ...A stateful application walks into a Kubernetes bar - Arthur Berezin, JovianX ...
A stateful application walks into a Kubernetes bar - Arthur Berezin, JovianX ...
 
The story of how KubeMQ was born - Oz Golan, KubeMQ - Cloud Native Day Tel Av...
The story of how KubeMQ was born - Oz Golan, KubeMQ - Cloud Native Day Tel Av...The story of how KubeMQ was born - Oz Golan, KubeMQ - Cloud Native Day Tel Av...
The story of how KubeMQ was born - Oz Golan, KubeMQ - Cloud Native Day Tel Av...
 
I want it all: go hybrid - Orit Yaron, Outbrain - Cloud Native Day Tel Aviv 2018
I want it all: go hybrid - Orit Yaron, Outbrain - Cloud Native Day Tel Aviv 2018I want it all: go hybrid - Orit Yaron, Outbrain - Cloud Native Day Tel Aviv 2018
I want it all: go hybrid - Orit Yaron, Outbrain - Cloud Native Day Tel Aviv 2018
 
Keeping I.T. Real - Aaron Wolf, Mathematics and computer programming teacher,...
Keeping I.T. Real - Aaron Wolf, Mathematics and computer programming teacher,...Keeping I.T. Real - Aaron Wolf, Mathematics and computer programming teacher,...
Keeping I.T. Real - Aaron Wolf, Mathematics and computer programming teacher,...
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Dernier (20)

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

Update Strategies for the Edge, by Kat Cosgrove

  • 1. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Update Strategies for the Edge There’s a better way.
  • 2. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Kat Cosgrove IoT Engineer Developer Advocate Twitter: @Dixie3Flatline Email: katc@jfrog.com jfrog.com/shownotes
  • 3. @jfrog | Copyright © 2019 JFrog. All Rights Reserved How large is the Edge?
  • 4. @jfrog | Copyright © 2019 JFrog. All Rights Reserved 20,400,000,000 That’s a lot of devices.
  • 5. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Updates Today They don’t update; device is effectively single-use OR It’s time-consuming, complicated, or requires physical access
  • 6. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Why change?
  • 7. @jfrog | Copyright © 2019 JFrog. All Rights Reserved It’s inconvenient Edge computing is massive and growing - Consumer - Industrial - Medical Slow OTA updates are annoying Wired updates are expensive and more annoying
  • 8. @jfrog | Copyright © 2019 JFrog. All Rights Reserved It’s dangerous Unpatched bugs can be a huge vulnerability - Expose private data - Harnessed for a botnet - Used for cryptocurrency mining - Safety implications for medical
  • 9. @jfrog | Copyright © 2019 JFrog. All Rights Reserved What’s slowing us down?
  • 10. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Not building for it. Many devices are not made to be updated. - Designed to run one version until the end - “Update strategy” here is flashing the device - Bugs are inevitable
  • 11. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Between 1 and 25 Number of bugs per 1000 LOC
  • 12. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Connectivity Concerns We can’t rely on the device’s network - Networks may be unstable - Bandwidth may be low - Network probably isn’t secure
  • 13. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Hardware Variations - It’s 20.4 billion devices - Lots of specialized hardware - Variations in memory, storage space, architecture How do we design something that handles so much variety?
  • 14. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Updates are your friend. Embrace updates, not security nightmares. Think future-forward.
  • 15. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Get better with age. Your product should not be getting worse from the moment it ships.
  • 16. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Build robust. Brittle software means a brittle device, and that doesn’t inspire trust.
  • 17. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Modern DevOps tools. Your developers will thank you and things will run more smoothly.
  • 18. @jfrog | Copyright © 2019 JFrog. All Rights Reserved The Proof of Concept
  • 19. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Cars Now - Majority not designed for OTA updates - OTA updates are still slow and inconvenient - Little standardization - Significant portion of recalls are due to software
  • 20. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Cars as Edge Devices - Presented a range of solvable pain points in one device - Tangible example for end users and manufacturers - Device in question meant speed, reliability, and safety were equally important
  • 21. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Workflows and Tools
  • 22. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Two Distinct Workflows Firmware Updates - More difficult update - Takes only minutes - Rollback if there is a failure - Relies on Mender and Yocto Software Updates - Without flashing firmware - No interruption of user - Takes only seconds - Relies on K3S and Helm
  • 23. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Software Workflow
  • 24. @jfrog | Copyright © 2019 JFrog. All Rights Reserved K3S + Helm PIPELINES Code & Build Deploytoproduction(car) VCS & CI ARTIFACTORY Schedule Containers CD ACCESS MISSION CONTROL XRAY
  • 25. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Kubernetes, but 5 less
  • 26. @jfrog | Copyright © 2019 JFrog. All Rights Reserved K3S - Lightweight Kubernetes, designed for Edge devices - Uses only 512mb of RAM - 40mb binary - Very minimal OS requirements
  • 27. @jfrog | Copyright © 2019 JFrog. All Rights Reserved A package manager for Kubernetes
  • 28. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Helm “Charts” describe complex applications - Easily repeatable installation - Final authority on application - Easy to version - Supports rollbacks
  • 29. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Helm Charts
  • 30. @jfrog | Copyright © 2019 JFrog. All Rights Reserved The Result - Software Application updates are quick and efficient - Average of 35 seconds from dev to car - No interruption for the user - Can happen while device is in use - Could happen silently, depends on device purpose
  • 31. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Firmware Workflow
  • 32. @jfrog | Copyright © 2019 JFrog. All Rights Reserved PIPELINES CODE & BUILD Deploytoproduction(car) VCS & CI ARTIFACTORY EMBEDDED OS ACCESS MISSION CONTROL XRAY
  • 33. @jfrog | Copyright © 2019 JFrog. All Rights Reserved OTA updates for embedded Linux devices
  • 34. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Mender Overview Ticks several of the boxes we’re looking for: - Updates are signed and verified - Supports automatic rollbacks - Several distinct installation strategies - Dual A/B strategy
  • 35. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Mender - A/B Two partitions are on the device - Bootloader aware of “active” - Update streams to “inactive” - Automatically revert to previous partition on failure Now let’s handle the size of our builds. User Space A User Space B Kernel Initramfs A Kernel Initramfs B Bootloader Update A Update B
  • 36. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Custom Linux distributions for any hardware architecture
  • 37. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Yocto Overview - Eliminates OS bloat - Drastically reduces resources required - BitBake recipes and layers define your build - Layers for common configurations are provided - Custom layers to isolate applications or behaviors
  • 38. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Yocto Layers
  • 39. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Yocto and Artifactory - After first build, we can make things much faster - Yocto cache allows for incremental updates - Build cache can be stored in Artifactory - Reduces time required to build by up to 50%
  • 40. @jfrog | Copyright © 2019 JFrog. All Rights Reserved The Result - Firmware - Cuts the total time after first build to 5-10 minutes - Build is as small as possible - Updates are signed and secure - Automatic rollbacks in case of failure Success!
  • 41. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Other Tools
  • 42. @jfrog | Copyright © 2019 JFrog. All Rights Reserved OSTree Git for operating systems
  • 43. @jfrog | Copyright © 2019 JFrog. All Rights Reserved OSTree - Versions updates of Linux operating systems - Git-like system with branching - Tracks file system trees - Allows for updates and rollbacks - Exists as a meta-layer for Yocto
  • 44. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Testing framework for operating systems on embedded devices
  • 45. @jfrog | Copyright © 2019 JFrog. All Rights Reserved LAVA - Linaro Automation and Validation Architecture - CI system for deploying an OS to device for testing - Can deploy to physical or virtual hardware - Boot testing, bootloader testing, or system testing - Results tracked over time
  • 46. @jfrog | Copyright © 2019 JFrog. All Rights Reserved LAVA - Designed for validation during development - For example, whether the kernel compiles and boots - Templates for more than 100 boards built in - Custom devices types can be added
  • 47. @jfrog | Copyright © 2019 JFrog. All Rights Reserved LAVA Tests
  • 48. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Wrapping Up
  • 49. @jfrog | Copyright © 2019 JFrog. All Rights Reserved Edge and IoT updates are broken This is a security problem that must be addressed Modern DevOps tools are here to help
  • 50. @jfrog | Copyright © 2019 JFrog. All Rights Reserved
  • 51. @jfrog | Copyright © 2019 JFrog. All Rights Reserved THANKS! @Dixie3Flatline katc@jfrog.com jfrog.com/shownotes