Published Sep 3, 2019

SE-Radio Episode 239: Andrew Clay Shafer on Modern Platform-as-a-Service

    Andrew Clay Shafer delves into the evolution of platform-as-a-service with a focus on DevOps practices, containerization, and Cloud Foundry, highlighting how these innovations revolutionize modern software deployment and service delivery, all while emphasizing the importance of development hygiene and open-source principles.
    Episode Highlights
    Software Engineering Radio - the podcast for professional software developers logo

    Popular Clips

    Episode Highlights

    • Docker & Buildpacks

      The integration of Docker with buildpacks has significantly improved deployment processes. Andrew Shafer explains that while Docker allows for the creation of deployment artifacts, buildpacks provide a structured approach to ensure consistency and hygiene in deployments 1. He notes that a sufficiently advanced Docker build pipeline is almost indistinguishable from a buildpack, highlighting the evolution of these technologies 2.

      A sufficiently advanced docker build pipeline is indistinguishable from a buildpack.

      --- Andrew Shafer

      This integration ensures that developers can maintain control over their deployment environments, reducing potential security risks and improving reliability.

         

      Container Evolution

      Container technology has evolved dramatically, reshaping software development and deployment. Andrew Shafer compares containers to intermodal shipping containers, emphasizing their role in standardizing and simplifying the transport of applications across environments 3. Docker's contribution to this evolution is significant, as it has made container technology accessible to developers by providing a social workflow for sharing and building upon existing images 4.

      Docker socialize the sharing of these containers... it's actually a packaged complete file system that you can go run whatever application.

      --- Andrew Shafer

      This accessibility has led to widespread adoption and innovation in container-based development.

         

      Hygiene Essentials

      Maintaining development hygiene is crucial for successful software deployment. Andrew Shafer stresses the importance of version control, testing, and continuous integration as foundational practices for ensuring code quality and reliability 5. He warns against embedding environment-specific logic within code, as it can lead to catastrophic failures when moving from test to production environments 6.

      If your logic has to know what environment it's in, then you set yourself up for these catastrophes.

      --- Andrew Shafer

      By adhering to these hygiene practices, developers can mitigate risks and ensure smoother deployments.

    Related Episodes