Artwork

Το περιεχόμενο παρέχεται από το Jacob Beningo. Όλο το περιεχόμενο podcast, συμπεριλαμβανομένων των επεισοδίων, των γραφικών και των περιγραφών podcast, μεταφορτώνεται και παρέχεται απευθείας από τον Jacob Beningo ή τον συνεργάτη της πλατφόρμας podcast. Εάν πιστεύετε ότι κάποιος χρησιμοποιεί το έργο σας που προστατεύεται από πνευματικά δικαιώματα χωρίς την άδειά σας, μπορείτε να ακολουθήσετε τη διαδικασία που περιγράφεται εδώ https://el.player.fm/legal.
Player FM - Εφαρμογή podcast
Πηγαίνετε εκτός σύνδεσης με την εφαρμογή Player FM !

#017 - Modernizing Embedded Systems: Step #2 - Modernize Your Software Architecture

32:35
 
Μοίρασέ το
 

Manage episode 510060521 series 3546005
Το περιεχόμενο παρέχεται από το Jacob Beningo. Όλο το περιεχόμενο podcast, συμπεριλαμβανομένων των επεισοδίων, των γραφικών και των περιγραφών podcast, μεταφορτώνεται και παρέχεται απευθείας από τον Jacob Beningo ή τον συνεργάτη της πλατφόρμας podcast. Εάν πιστεύετε ότι κάποιος χρησιμοποιεί το έργο σας που προστατεύεται από πνευματικά δικαιώματα χωρίς την άδειά σας, μπορείτε να ακολουθήσετε τη διαδικασία που περιγράφεται εδώ https://el.player.fm/legal.

Summary

In this episode of the Embedded Frontier Podcast, Jacob Beningo dives into modernizing embedded software architecture—the second step in his seven-step framework for building faster, smarter firmware. He explores why most legacy architectures turn into “giant balls of mud,” how tightly coupling software to hardware holds teams back, and the four architectural dimensions you must consider: characteristics, principles, decisions, and structure.

Jacob also shares controversial yet practical perspectives, including his philosophy that “there is no hardware, only data,” and why data—not hardware—should dictate design. From architectural decision records (ADRs) to adopting a top-down approach with the 4C model, this episode provides actionable insights for designing scalable, maintainable, and future-ready embedded systems.

Takeaways

  • Avoid spaghetti code: Emergent architectures rarely scale; intentional design upfront is critical.
  • Define architecture characteristics: Select 3–7 key qualities (e.g., modularity, scalability, robustness) to guide decisions.
  • Establish design principles: Adopt philosophies like “data dictates design” and “there is no hardware, only data.”
  • Capture architectural decisions: Use ADRs to record trade-offs and prevent wasted rework.
  • Think top-down: Use the 4C model (Context → Containers → Components → Classes) instead of bottom-up hardware-first design.
  • Abstract hardware: Decouple hardware details from application logic for scalability and reusability.
  • Prepare for change: Modern IoT and ML-driven systems demand flexible, forward-looking architectures.

Keywords

embedded systems, software architecture, modularity, scalability, ADR, design principles, data dictates design, hardware abstraction, IoT, DevOps, test-driven development, modern firmware, top-down design, containers, 4C model

  continue reading

Κεφάλαια

1. Introduction – Recap of the seven-step modernization framework and today’s focus on architecture. (00:00:00)

2. The Problem with Emergent Architectures – Why most embedded systems become “giant balls of mud.” (00:02:20)

3. Four Dimensions of Modern Architecture – Characteristics, principles, decisions, and structure. (00:04:50)

4. Defining Characteristics – Selecting 3–7 traits (e.g., modularity, scalability, security) to guide design. (00:07:15)

5. Design Principles – “Data dictates design” and “There is no hardware, only data.” (00:09:30)

6. Capturing Architectural Decisions – Using ADRs to avoid wasted rework and team misalignment. (00:12:05)

7. Structural Choices – Bare metal vs. RTOS vs. Linux, and trade-offs in complex IoT/AI systems. (00:16:50)

8. Top-Down Thinking – Using the 4C model to design reusable, scalable systems. (00:21:45)

9. The Payoff – How abstraction and ADRs enable DevOps, TDD, and long-term maintainability. (00:27:00)

10. What’s Next – Preview of upcoming DevOps discussion with Brendan Slade from NXP. (00:30:00)

21 επεισόδια

Artwork
iconΜοίρασέ το
 
Manage episode 510060521 series 3546005
Το περιεχόμενο παρέχεται από το Jacob Beningo. Όλο το περιεχόμενο podcast, συμπεριλαμβανομένων των επεισοδίων, των γραφικών και των περιγραφών podcast, μεταφορτώνεται και παρέχεται απευθείας από τον Jacob Beningo ή τον συνεργάτη της πλατφόρμας podcast. Εάν πιστεύετε ότι κάποιος χρησιμοποιεί το έργο σας που προστατεύεται από πνευματικά δικαιώματα χωρίς την άδειά σας, μπορείτε να ακολουθήσετε τη διαδικασία που περιγράφεται εδώ https://el.player.fm/legal.

Summary

In this episode of the Embedded Frontier Podcast, Jacob Beningo dives into modernizing embedded software architecture—the second step in his seven-step framework for building faster, smarter firmware. He explores why most legacy architectures turn into “giant balls of mud,” how tightly coupling software to hardware holds teams back, and the four architectural dimensions you must consider: characteristics, principles, decisions, and structure.

Jacob also shares controversial yet practical perspectives, including his philosophy that “there is no hardware, only data,” and why data—not hardware—should dictate design. From architectural decision records (ADRs) to adopting a top-down approach with the 4C model, this episode provides actionable insights for designing scalable, maintainable, and future-ready embedded systems.

Takeaways

  • Avoid spaghetti code: Emergent architectures rarely scale; intentional design upfront is critical.
  • Define architecture characteristics: Select 3–7 key qualities (e.g., modularity, scalability, robustness) to guide decisions.
  • Establish design principles: Adopt philosophies like “data dictates design” and “there is no hardware, only data.”
  • Capture architectural decisions: Use ADRs to record trade-offs and prevent wasted rework.
  • Think top-down: Use the 4C model (Context → Containers → Components → Classes) instead of bottom-up hardware-first design.
  • Abstract hardware: Decouple hardware details from application logic for scalability and reusability.
  • Prepare for change: Modern IoT and ML-driven systems demand flexible, forward-looking architectures.

Keywords

embedded systems, software architecture, modularity, scalability, ADR, design principles, data dictates design, hardware abstraction, IoT, DevOps, test-driven development, modern firmware, top-down design, containers, 4C model

  continue reading

Κεφάλαια

1. Introduction – Recap of the seven-step modernization framework and today’s focus on architecture. (00:00:00)

2. The Problem with Emergent Architectures – Why most embedded systems become “giant balls of mud.” (00:02:20)

3. Four Dimensions of Modern Architecture – Characteristics, principles, decisions, and structure. (00:04:50)

4. Defining Characteristics – Selecting 3–7 traits (e.g., modularity, scalability, security) to guide design. (00:07:15)

5. Design Principles – “Data dictates design” and “There is no hardware, only data.” (00:09:30)

6. Capturing Architectural Decisions – Using ADRs to avoid wasted rework and team misalignment. (00:12:05)

7. Structural Choices – Bare metal vs. RTOS vs. Linux, and trade-offs in complex IoT/AI systems. (00:16:50)

8. Top-Down Thinking – Using the 4C model to design reusable, scalable systems. (00:21:45)

9. The Payoff – How abstraction and ADRs enable DevOps, TDD, and long-term maintainability. (00:27:00)

10. What’s Next – Preview of upcoming DevOps discussion with Brendan Slade from NXP. (00:30:00)

21 επεισόδια

All episodes

×
 
Loading …

Καλώς ήλθατε στο Player FM!

Το FM Player σαρώνει τον ιστό για podcasts υψηλής ποιότητας για να απολαύσετε αυτή τη στιγμή. Είναι η καλύτερη εφαρμογή podcast και λειτουργεί σε Android, iPhone και στον ιστό. Εγγραφή για συγχρονισμό συνδρομών σε όλες τις συσκευές.

 

Οδηγός γρήγορης αναφοράς

Ακούστε αυτήν την εκπομπή ενώ εξερευνάτε
Αναπαραγωγή