Date: Sun, 24 Jul 2022 20:00:00 -0400
<div class="wp-block-jetpack-markdown"><h2>Summary</h2> <p>Application architectures have been in a constant state of evolution as new infrastructure capabilities are introduced. Virtualization, cloud, containers, mobile, and now web assembly have each introduced new options for how to build and deploy software. Recognizing the transformative potential of web assembly, Matt Butcher and his team at Fermyon are investing in tooling and services to improve the developer experience. In this episode he explains the opportunity that web assembly offers to all language communities, what they are building to power lightweight server-side microservices, and how Python developers can get started building and contributing to this nascent ecosystem.</p> <h2>Announcements</h2> <ul> <li>Hello and welcome to Podcast.__init__, the podcast about Python’s role in data and science.</li> <li>When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show!</li> <li>Need to automate your Python code in the cloud? Want to avoid the hassle of setting up and maintaining infrastructure? Shipyard is the premier orchestration platform built to help you quickly launch, monitor, and share python workflows in a matter of minutes with 0 changes to your code. Shipyard provides powerful features like webhooks, error-handling, monitoring, automatic containerization, syncing with Github, and more. Plus, it comes with over 70 open-source, low-code templates to help you quickly build solutions with the tools you already use. Go to <a href="https://www.dataengineeringpodcast.com/shipyard?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">dataengineeringpodcast.com/shipyard</a> to get started automating with a free developer plan today!</li> <li>Your host as usual is Tobias Macey and today I’m interviewing Matt Butcher about Fermyon and the impact of WebAssembly on software architecture and deployment across language boundaries</li> </ul> <h2>Interview</h2> <ul> <li>Introductions</li> <li>How did you get introduced to Python?</li> <li>For anyone who isn’t familiar with WebAssembly can you give your elevator pitch for why it matters?</li> <li>What is the current state of language support for Python in the WASM ecosystem?</li> <li>Can you describe what Fermyon is and the story behind it?</li> <li>What are your goals with Fermyon and what are the products that you are building to support those goals?</li> <li>There has been a steady progression of technologies aimed at better ways to build, deploy, and manage software (e.g. virtualization, cloud, containers, etc.). What are the problems with the previous options and how does WASM address them?</li> <li>What are some examples of the types of applications/services that work well in a WASM environment?</li> <li>Can you describe how you have architected the Fermyon platform? <ul> <li>How did you approach the design of the interfaces and tooling to support developer ergonomics?</li> <li>How have the design and goals of the platform changed or evolved since you started working on it?</li> </ul> </li> <li>Can you describe what a typical workflow is for an application team that is using Spin/Fermyon to build and deploy a service?</li> <li>What are some of the architectural patterns that WASM/Fermyon encourage?</li> <li>What are some of the limitations that WASM imposes on services using it as a runtime? (e.g. system access, threading/multiprocessing, library support, C extensions, etc.)</li> <li>What are the new and emerging topics and capabilities in the WASM ecosystem that you are keeping track of?</li> <li>With Spin as the core building block of your platform, how are you approaching governance and sustainability of the open source project? <ul> <li>What are your guiding principles for when a capability belongs in the OSS vs. commercial offerings?</li> </ul> </li> <li>What are the most interesting, innovative, or unexpected ways that you have seen Fermyon used?</li> <li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Fermyon?</li> <li>When is Fermyon the wrong choice?</li> <li>What do you have planned for the future of Fermyon?</li> </ul> <h2>Keep In Touch</h2> <ul> <li><a href="https://www.linkedin.com/in/mattbutcher/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">LinkedIn</a></li> <li><a href="https://twitter.com/technosophos?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">@technosophos</a> on Twitter</li> <li><a href="https://github.com/technosophos?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">technosophos</a> on GitHub</li> </ul> <h2>Picks</h2> <ul> <li>Tobias <ul> <li><a href="https://www.marvel.com/movies/thor-love-and-thunder?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Thor: Love & Thunder</a> movie</li> </ul> </li> <li>Matt <ul> <li><a href="https://www.goodreads.com/book/show/34569357-remembrance-of-earth-s-past?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Remembrance of Earth’s Past</a> trilogy ("Three Body Problem" is the first) by Cixin Liu</li> </ul> </li> </ul> <h2>Closing Announcements</h2> <ul> <li>Thank you for listening! Don’t forget to check out our other shows. The <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Data Engineering Podcast</a> covers the latest on modern data management. The <a href="https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Machine Learning Podcast</a> helps you go from idea to production with machine learning.</li> <li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li> <li>If you’ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li> <li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">iTunes</a> and tell your friends and co-workers</li> </ul> <h2>Links</h2> <ul> <li><a href="https://fermyon.com?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Fermyon</a></li> <li>Our <a href="https://www.fermyon.com/wasm-languages/python?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Python entry</a> for the <a href="https://www.fermyon.com/wasm-languages/webassembly-language-support?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Wasm Language Matrix</a></li> <li><a href="https://github.com/singlestore-labs/python-wasi?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">SingleStore’s WASI-Python</a></li> <li>Great notes about <a href="https://pythondev.readthedocs.io/wasm.html?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Wasm support in CPyton</a></li> <li><a href="https://pyodide.org/en/stable/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Pyodide</a> for Python in the Browser</li> <li><a href="https://slashdot.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">SlashDot</a></li> <li><a href="https://webassembly.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Web Assembly (WASM)</a></li> <li><a href="https://www.rust-lang.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Rust</a></li> <li><a href="https://www.assemblyscript.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">AssemblyScript</a></li> <li><a href="https://grain-lang.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Grain</a> WASM language</li> <li><a href="https://www.singlestore.com/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">SingleStore</a> <ul> <li><a href="https://www.dataengineeringpodcast.com/a-multipurpose-database-for-transactions-and-analytics-to-simplify-your-data-architecture-with-singlestore/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Data Engineering Podcast Episode</a></li> </ul> </li> <li><a href="https://wasi.dev/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">WASI</a></li> <li><a href="https://github.com/PyO3/pyo3?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">PyO3</a></li> <li><a href="https://pyoxidizer.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">PyOxidizer</a></li> <li><a href="https://rustpython.github.io/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">RustPython</a></li> <li><a href="https://www.drupal.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Drupal</a></li> <li><a href="https://www.openstack.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">OpenStack</a></li> <li><a href="https://deislabs.io/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Deis</a></li> <li><a href="https://helm.sh/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Helm</a></li> <li><a href="https://redpanda.com/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">RedPanda</a> <ul> <li><a href="https://www.dataengineeringpodcast.com/vectorized-red-panda-streaming-data-episode-152/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Data Engineering Podcast Episode</a></li> </ul> </li> <li><a href="https://www.envoyproxy.io/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Envoy Proxy</a></li> <li><a href="https://www.fastly.com/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Fastly</a></li> <li><a href="https://en.wikipedia.org/wiki/Function_as_a_service?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Functions as a Service</a></li> <li><a href="https://cloudevents.io/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">CloudEvents</a></li> <li><a href="https://www.finickywhiskers.com/index.html?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Finicky Whiskers</a></li> <li><a href="https://github.com/fermyon/spin?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Fermyon Spin</a></li> <li><a href="https://www.nomadproject.io/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Nomad</a></li> <li><a href="https://en.wikipedia.org/wiki/Tree_shaking?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Tree Shaking</a></li> <li><a href="https://github.com/zappa/Zappa?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Zappa</a></li> <li><a href="https://github.com/aws/chalice?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Chalice</a></li> <li><a href="https://www.openfaas.com/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">OpenFaaS</a></li> <li><a href="https://www.cncf.io/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">CNCF</a></li> <li><a href="https://bytecodealliance.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Bytecode Alliance</a></li> <li><a href="https://www.fermyon.com/blog/hashiconf-eu-spin-nomad-2022?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Finicky Whiskers Minecraft</a></li> <li><a href="https://kotlinlang.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Kotlin</a></li> </ul> <p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">CC BY-SA</a></p> </div> <img alt="" height="0" src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Ffermyon-web-assembly-application-architecture-episode-372%2F&action_name=Powering+The+Next+Generation+Of+Application+Architectures+With+Web+Assembly+And+The+Fermyon+Platform+-+Episode+372&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border: 0; width: 0; height: 0;" width="0" />