DockerCon 2023: Embracing Wasm And AI
DockerCon 2023 in LA delved into topics ranging from WebAssembly to container security to AI. The conference blended deep insights with hands-on applications, highlighting the transformative era we can anticipate resulting from these synergistic topics.
As October began, DockerCon once more returned as an in-person event. This time, Docker attendees congregated at the Magic Box, an awesome space just outside of downtown Los Angeles. At times, the LA autumn temperature passed 90 degrees Fahrenheit, but that didn’t stop us from taking full advantage of Magic Box’s indoor and outdoor space.
The schedule this year was broken up into roughly four tracks. Day one focused on CI/CD and container security. Day two focused on WebAssembly (Wasm) and Artificial Intelligence (AI). I wish the tracks had been spread out over both days. I found very few day-one sessions that piqued my interest, but on day two, I sometimes had to pick between three overlapping sessions.
The day two keynote announcements largely centred on AI. Highlights for me included Ollama talking about how they store AI models in OCI registries like DockerHub. That is a very compelling idea when it comes to storing these sometimes-massive AI datasets. In particular, with embeddings and elaborate system prompts, this could be a great way of taking an LLM, tailoring it to your specific needs and then storing that artifact.
I also enjoyed WEST’s Lewis Hein’s keynote about the design constraints of running containers within infrastructure in the middle of the Atlantic Ocean. Both Ollama and WEST gave deep dive talks that afternoon, but both conflicted with Wasm sessions that I needed to go to. So, I will have to catch those when the videos are posted in November.
After the keynotes, there were two simultaneous Wasm talks:
The inimitable Nigel Poulton gave a great talk on Spin, Docker, and Kubernetes in action. For reasons that will become evident in a moment, I could not attend this one. But several people told me that they had gone and really enjoyed it.
At the same time as Nigel’s talk, I was giving a talk just a couple of rooms over. I built a crossword puzzle helper using Spin, Docker Desktop, and Fermyon Serverless AI. We built a two-component Wasm app designed to provide suggestions for those crossword clues that require some brainstorming help. We asked some questions like:
- What are five synonyms for pink?
- Who were five actors in the movie “The Bourne Identity”?
We then compared running the app locally on macOS, in Docker Desktop in a Linux VM, and on Fermyon Cloud using high-performance A100 GPUs. We also compared using a 7-billion parameter local model versus the 13-billion parameter Fermyon Cloud model.
Right after this session, Docker’s Djordje Lukic absolutely blitzed through something like eight example Wasm apps running in Docker Desktop. It was absolutely awesome to watch him build and run apps in different languages that did different things. I had to giggle when Djordje drew applause for compiling a C program on the first try! (Some things are still hard after all these years, and when you stand on the stage, you taunt fate!) He showed a couple of Spin apps, one of which was based on Bartholomew, and another was a complex app that used containers and Wasm in conjunction, and used Docker Compose to build the application.
After the lunch break, Thorsten Hans hosted a hallway track discussion on Wasm. Docker’s hallway track setup included chairs, whiteboards, and tables. That made it easy for us just to circle up and have some great conversations.
As soon as that was done, I was off to Timo Stark’s “WebAssembly the Hard Way” talk. Timo talked about how, as a “depth-first” learner, his journey into Wasm led him to learn about stack-based virtual machines, the nuances of memory access, and the Wasm ABI.
This is one of those talks that I wish everyone could have watched. Timo went from high-level to low-level and then returned to the surface to show off a demo of the results of his learnings. It was fun and informative, and I wish I’d had something like this at my disposal when I was first learning Wasm.
Finally, we ended the day with a panel discussion about Wasm. Nigel Poulton served as moderator, while Docker DevRel superstar Michael Irwin joined Timo and me. We talked about our hopes for Wasm, the exciting developments we’ve seen in the last year, and how Wasm works with Virtual Machines (VMs) and containers in the third wave of cloud computing.
Docker Desktop has long included support for Spin applications. If you’d like to try it out, you can build your first app with the Spin QuickStart guide, and then read our blog post on how to run this app inside of Docker Desktop.