In this episode of the Agile Embedded Podcast, we, Jeff Gable and Luca Ingianni, discuss various modern development buzzwords, techniques, and tools applicable to embedded systems. We cover concepts such as microservices, Docker, Kubernetes, continuous integration, delivery, deployment, A/B testing, API-first design, behavior-driven development, and modern programming languages like Rust. We explore the practical applications and benefits of using these technologies in embedded systems, while also addressing challenges related to safety-critical industries and the integration of AI. Tools like Memfault, Mender, Renode, STM Viewer, and Tracealyzer are mentioned for enhancing debugging, observability, and monitoring. We emphasize the potential of AI in development and real-time applications, recommending its cautious and informed use. Throughout the episode, we share professional insights and invite our listeners to contribute their experiences and opinions.
Discussing Modern Development Techniques in Embedded Systems
In this episode of the Agile Embedded Podcast, hosts Jeff Gable and Luca Ingianni play buzzword bingo, discussing various modern development techniques, tools, and methodologies in the context of embedded systems. They explore the relevance and applicability of terms like microservices, serverless, Kubernetes, Docker, continuous integration, continuous delivery, continuous deployment, A/B testing, API-first design, behavior-driven development, and modern languages such as Rust and C++. They also touch upon the use of AI in development and deployment processes, along with debugging, observability, monitoring, and simulation tools like Memfault, Mender, and Renode. The conversation seeks to provide insights and opinions on which of these techniques and tools are worth investigating or applying to embedded projects.
00:00 Introduction to the Agile Embedded Podcast
00:06 Exploring Modern Development Buzzwords
01:26 Web Technologies in Embedded Systems
05:28 Diving into Docker for Embedded Development
07:49 Understanding Immutable Infrastructure
13:32 Continuous Integration, Delivery, and Deployment
19:53 A/B Testing in IoT Devices
23:06 API First Design in Embedded Systems
26:08 Modern Languages: The Case for Rust
27:54 Exploring Rust in Embedded Systems
28:37 Challenges with Modern C Programming
30:10 Embedded Linux and Language Flexibility
32:27 Model-Based Development with Simulink
33:53 Modern Tooling for Embedded Systems
40:25 AI in Embedded Systems
44:05 AI-Assisted Development
47:36 Conclusion and Contact Information