Achieve Repeatable Builds Of Your Software On Any Machine With Earthly

The Python Podcast.__init__

Episode | Podcast

Date: Sun, 06 Feb 2022 17:15:00 -0500

<div class="wp-block-jetpack-markdown"><h2>Summary</h2> <p>It doesn&#8217;t matter how amazing your application is if you are unable to deliver it to your users. Frustrated with the rampant complexity involved in building and deploying software Vlad A. Ionescu created the Earthly tool to reduce the toil involved in creating repeatable software builds. In this episode he explains the complexities that are inherent to building software projects and how he designed the syntax and structure of Earthly to make it easy to adopt for developers across all language environments. By adopting Earthly you can use the same techniques for building on your laptop and in your CI/CD pipelines.</p> <h2>Announcements</h2> <ul> <li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li> <li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;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. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&amp;utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li> <li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Vlad A. Ionescu about Earthly, a syntax and runtime for software builds to reduce friction between development and delivery</li> </ul> <h2>Interview</h2> <ul> <li>Introductions</li> <li>How did you get introduced to Python?</li> <li>Can you describe what Earthly is and the story behind it?</li> <li>What are the core principles that engineers should consider when designing their build and delivery process?</li> <li>What are some of the common problems that engineers run into when they are designing their build process? <ul> <li>What are some of the challenges that are unique to the Python ecosystem?</li> </ul> </li> <li>What is the role of Earthly in the overall software lifecycle? <ul> <li>What are the other tools/systems that a team is likely to use alongside Earthly?</li> <li>What are the components that Earthly might replace?</li> </ul> </li> <li>How is Earthly implemented? <ul> <li>What were the core design requirements when you first began working on it?</li> <li>How have the design and goals of Earthly changed or evolved as you have explored the problem further?</li> </ul> </li> <li>What is the workflow for a Python developer to get started with Earthly? <ul> <li>How can Earthly help with the challenge of managing Javascript and CSS assets for web application projects?</li> </ul> </li> <li>What are some of the challenges (technical, conceptual, or organizational) that an engineer or team might encounter when adopting Earthly?</li> <li>What are some of the features or capabilities of Earthly that are overlooked or misunderstood that you think are worth exploring?</li> <li>What are the most interesting, innovative, or unexpected ways that you have seen Earthly used?</li> <li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Earthly?</li> <li>When is Earthly the wrong choice?</li> <li>What do you have planned for the future of Earthly?</li> </ul> <h2>Keep In Touch</h2> <ul> <li><a href="https://www.linkedin.com/in/vladalexandruionescu/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">LinkedIn</a></li> <li><a href="https://twitter.com/VladAIonescu?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">@VladAIonescu</a> on Twitter</li> <li><a href="https://vladaionescu.com/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Website</a></li> </ul> <h2>Picks</h2> <ul> <li>Tobias <ul> <li><a href="https://basecamp.com/shapeup?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Shape Up</a> book</li> </ul> </li> <li>Vlad <ul> <li><a href="https://www.penguinrandomhouse.com/books/72467/high-output-management-by-andrew-s-grove-former-chairman-and-ceo-of-intel/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">High Output Management</a> by Andy Grove</li> </ul> </li> </ul> <h2>Closing Announcements</h2> <ul> <li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Data Engineering Podcast</a> for the latest on modern data management.</li> <li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&amp;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&#8217;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&amp;uo=6&amp;at=&amp;ct=&amp;utm_source=rss&amp;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://earthly.dev/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Earthly</a></li> <li><a href="https://bazel.build/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Bazel</a></li> <li><a href="https://www.pantsbuild.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Pants</a> <ul> <li><a href="https://www.pythonpodcast.com/pants-monorepo-build-tool-episode-290/?utm_source=rss&amp;utm_medium=rss">Podcast Episode</a></li> </ul> </li> <li><a href="https://www.arm.com/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">ARM</a></li> <li><a href="https://aws.amazon.com/ec2/graviton/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">AWS Graviton</a></li> <li><a href="https://www.apple.com/newsroom/2020/11/apple-unleashes-m1/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Apple M1 CPU</a></li> <li><a href="https://www.qemu.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Qemu</a></li> <li><a href="https://www.phoenixframework.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Phoenix</a> web framework for <a href="https://elixir-lang.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Elixir</a> language</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&amp;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&amp;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&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fearthly-repeatable-build-tool-episode-351%2F&amp;action_name=Achieve+Repeatable+Builds+Of+Your+Software+On+Any+Machine+With+Earthly+-+Episode+351&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&amp;utm_source=rss&amp;utm_medium=rss" style="border: 0; width: 0; height: 0;" width="0" />