Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cloud and Hybrid Developer Environments - how v...

Cloud and Hybrid Developer Environments - how virtualization transforms your IDEs for embedded projects

Back in 2017 at QA&Test Bilbao, I explored how Docker and Jenkins pipelines could transform CI/CD for embedded projects. Fast forward to 2023, containerization has become the norm in embedded software QA. My recent talk focused on tools like Testcontainers and WireMock, now widely used for testing not just backend services but entire embedded systems—from SCADA to IoT—within virtualized environments powered by Kubernetes. These technologies now form the backbone of modern testing infrastructure in software, and now expand to edge and embedded systems to cover full-system virtualization and integration testing. Same happens on the developer machines.

Embedded QA Engineers are entering a new era of development enabled by Cloud Development Environments (CDEs) like GitHub Codespaces or Devcontainers, where fully configured workspaces can run on laptops, Kubernetes clusters or public clouds. Containers and VMs, often managed with tools like KubeVirt and QEMU, and wrapped by frameworks like Testcontainers, enable scalable, hardware-aware test setups that support HIL testing, firmware validation, and system modeling. It might sound like a miracle, but it’s actually possible with modern tech stacks!

This talk demonstrates how to build such “hybrid developer environments” entirely with open source tools, combining C++/SystemVerilog development, embedded hardware access, and even AI-driven test automation – showing that the modern IDE for embedded QA is now distributed, intelligent, and platform-agnostic.

Avatar for Oleg Nenashev

Oleg Nenashev PRO

October 22, 2025
Tweet

More Decks by Oleg Nenashev

Other Decks in Technology

Transcript

  1. Cloud and Hybrid Developer Environments How virtualization transforms your IDEs

    for embedded projects Oleg Nenashev, PhD Independent Consultant QA&Test 2025 Bilbao
  2. Disclaimer • I am at this conference as independent, #OpenToWork

    • Opinions are my own • I am not talking about any my past or current companies speakerdeck.com/onenashev
  3. 3

  4. > whoami @oleg_nenashev oleg-nenashev Dr. Nenashev / Mr. Jenkins Community

    builder Developer Tools Hacker #RussiansAgainstPutin #StandWithUkraine
  5. What does engineer use daily? • CI Systems • Issue

    Trackers • Chats • Zoom / Google Meet / … • Email • Calendar • … 13
  6. Local Environments in containers, too Supported in: • Visual Studio

    Code (link) • Visual Studio (link) • IntelliJ Platform IDEs (link) • Cloud IDEs and Services • CI/CD Systems 21 https://containers.dev/ Your developer tools and environments, packaged as containers. With proper developer experience
  7. Reuse Dev Containers can be shared as a part of

    your project Dev Containers can be reused in CI/CD pipelines 29 https://github.com/oleg-nenashev/oleg-nenashev/ blob/main/.github/workflows/ci.yml
  8. QEMU • Multi-platform execution on a single machine • Container

    adapters are available 30 https://github.com/qemus
  9. Testing with hardware VM, container or bare-metal Power Reset when

    it hangs Deploy bit-files, Blasting cables Debugging cables, firmware upload We don’t change them, huh? Your Developer Machine Drivers Tools Peripherals Attached peripherals Runtime
  10. Hardware tests with containers? • It works • You can

    run containers in privileged mode • You can use drivers from host OS • It works on a success path • BUT: software errors, timeouts, access conflicts, device hanging when switching containers • BUT: you still need special test equipment and drivers Expectations Reality There are limitations, but doable
  11. Containers for Simulations • We avoid using Hardware when possible

    • Low overhead and startup time • Resource quota management ◦ CPU/RAM ◦ Prioritization for users ◦ Licenses • Multi-instance tests (Docker Compose, Kubernetes Pods, etc.) 35
  12. Dev Container for Simulations 36 • Most Simulators already have

    Docker images • Docker images can be quickly converted to Dev Containers
  13. We were doing CDEs before they were a mainstream 44

    Image source: https://www.combell.com/en/blog/w hat-is-rdp-remote-desktop-protocol/
  14. Cloud Developer Environments • Most of the functionality runs in

    the cloud • SaaS or self-hosted • Local Tools are just wrappers • Resources and licenses can be shared 45
  15. Existing CDEs • GitHub Codespaces • Eclipse Che / Theia

    • Ona (fka Gitpod) • AWS Cloud9 • Strong Network (Citrix) • Coder • Cloudomation • … • Web based AI IDEs 46 Source: https://discord.com/blog/how-discord-moved-engin eering-to-cloud-development-environments
  16. Existing CDEs, but for Embedded Projects 52 • IDE Extensions

    • Dev Container(s) for… ◦ Build Tools ◦ Simulators ◦ Verification tools • Testcontainers
  17. DYI CDEs • You can build a CDE on your

    own • IDEs with CDE plugins • Control planes • Workspaces & Cloud • Storage / Data (!) Security aspect is an area for commercial CDEs 54 Source: https://coder.com/
  18. DYI CDEs • Container Engines (e.g. Docker) and Kubernetes for

    the environment • Device Plugins for FPGA (e.g. one for Xilinx) • KubeVirt for virtual machines 55
  19. Example - Xilinx Tools FPGA grids can be served and

    used in Kubernetes CDEs can be provisioned accordingly https://github.com/Xilinx/FP GA_as_a_Service 56
  20. Takeaways 1. Consider using Dev Containers 2. There are tools

    and frameworks for embedded projects, but a lot of DYI 3. For common software stacks, the existing IDEs are at your service 4. CDEs may mean local, too
  21. Abstract 62 Back in 2017 at QA&Test Bilbao, I explored

    how Docker and Jenkins pipelines could transform CI/CD for embedded projects. Fast forward to 2023, containerization has become the norm in embedded software QA. My recent talk focused on tools like Testcontainers and WireMock, now widely used for testing not just backend services but entire embedded systems—from SCADA to IoT—within virtualized environments powered by Kubernetes. These technologies now form the backbone of modern testing infrastructure in software, and now expand to edge and embedded systems to cover full-system virtualization and integration testing. Same happens on the developer machines. Embedded QA Engineers are entering a new era of development enabled by Cloud Development Environments (CDEs) like GitHub Codespaces or Devcontainers, where fully configured workspaces can run on laptops, Kubernetes clusters or public clouds. Containers and VMs, often managed with tools like KubeVirt and QEMU, and wrapped by frameworks like Testcontainers, enable scalable, hardware-aware test setups that support HIL testing, firmware validation, and system modeling. It might sound like a miracle, but it’s actually possible with modern tech stacks! This talk demonstrates how to build such “hybrid developer environments” entirely with open source tools, combining C++/SystemVerilog development, embedded hardware access, and even AI-driven test automation – showing that the modern IDE for embedded QA is now distributed, intelligent, and platform-agnostic. Stay a while and listen, I have a PoC ready!