Benjamin Muschko

Independent Consultant, Automated Ascent

Benjamin Muschko is a software engineer, consultant, and trainer with more than 20 years of experience in the industry. He specializes in cloud-native application development and transformation, container solutions, DevSecOps, and Continuous Integration/Continuous Delivery implementations. Ben is an author, a frequent speaker at conferences, and an avid open source advocate.

Presentations

The ability to use, troubleshoot, and monitor Kubernetes as an application developer is in high demand. In response, the Cloud Native Computing Foundation (CNCF) developed the Certified Kubernetes Application Developer (CKAD) program to establish credibility and value in the job market. The exam is different from the typical multichoice format of other certifications. It’s completely performance based, under immense time pressure, and requires deep knowledge of the tasks.

This full day hands-on workshop walks you through all the topics covered in the exam to fully prepare you to pass with flying colors. The course is suitable to beginners to Kubernetes. You'll learn when and how to apply Kubernetes concepts to manage an application.

I'll hand out print copies of the book “Certified Kubernetes Application Developer (CKAD) Study Guide: In-Depth Guidance and Practice, 1st Edition” for questions from the audience. I'll also provide a free 30-day trial access to the O'Reilly learning platform to read the 2nd edition of the book.

We'll cover the following topics and more:

  • Pod and Namespace Management
  • Multi-Container Pods
  • Probes and Health Checks
  • ConfigMaps and Secrets
  • State Persistence
  • Deployments and Deployment Strategies
  • Custom Resource Definitions (CRD)
  • Authentication, Authorization via Role-Based Access Control (RBAC)
  • Services and Networking
  • Troubleshooting Scenarios

Deploying applications to a range of Kubernetes clusters at scale is no easy task. GitOps helps with defining and tracking the desired state of applications in the form of manifests in a source code repository. Changes to the desired state, for example the use of a newly-released container image, can automatically trigger the deployment process.

This session primarily focuses on GitHub Actions and Argo CD to automate the building and deployment process geared toward cloud-native applications. We’ll take a look at the CI pipeline that builds, tests, and releases code changes. Next, you will integrate the pipeline with the deployment process managed by Argo CD with the goal of avoiding manual interaction.

We won’t stop there. Enterprise requirements call for supporting progressive delivery patterns. Argo Rollouts take Argo CD to the next level. You will learn how to implement the blue-green and canary deployment strategies with Argo Rollouts.

By the end of this session, you will be able to implement automated CI/CD pipelines for your own Kubernetes environments. Production-ready, operational aspects of your Argo CD installation, like monitoring, observability and high availability, are not going to be covered.

Prerequisites:

  • A good understanding of the Continuous Integration/Continuous Delivery methodology.
  • Exposure to Git, GitHub & optionally GitHub Actions.
  • Working knowledge of containers and Kubernetes.

The process of developing an application typically involves the work of multiple engineers, and that work is usually broken down into several modules. There is always a risk that modules developed by different engineers will not sync when integrating with each other for use in production. Integration testing helps minimize this risk by enabling better integration of modules. But many organizations struggle with maintaining tests that require more complex setup procedures. As a result, integration tests become flaky, unreliable and require manual intervention. In an automate-all-the-things world, this costs organizations time and money.

Join us for this session and discover how to set up and run integration and functional tests with the help of the open source library Testcontainers. You will learn how to stand up lightweight, disposable containers running your application as reliable test fixtures.

Prerequisites:

  • A basic understanding of Docker and the Java programming language
  • Hands-on experience with common Java frameworks and dependencies
  • Experience with writing test code with the test framework JUnit 4 or JUnit 5

Books

  • This study guide walks you through all the topics you need to fully prepare for the Certified Kubernetes Application Developer (CKAD) exam. Author Benjamin Muschko also shares his personal experience with preparing for all aspects of the exam.

    New topics include: Deployment strategies, the Helm package manager, resources that extend Kubernetes (CRD), building container images, and more
  • This study guide walks you through all the topics you need to fully prepare for the CertifiedSecurity Specialist (CKS) exam. Author Benjamin Muschko also shares his personal experience with preparing for all aspects of the exam.
  • This study guide walks you through all the topics you need to fully prepare for the Certified Kubernetes Administrator (CKA) exam. Author Benjamin Muschko also shares his personal experience with preparing for all aspects of the exam.
  • This study guide walks you through all the topics you need to fully prepare for the Certified Kubernetes Application Developer (CKAD) exam. Author Benjamin Muschko also shares his personal experience with preparing for all aspects of the exam.

Gradle in Action

by Benjamin Muschko

  • Summary

    Gradle in Action is a comprehensive guide to end-to-end project automation with Gradle. Starting with the basics, this practical, easy-to-read book discusses how to build a full-fledged, real-world project. Along the way, it touches on advanced topics like testing, continuous integration, and monitoring code quality. You'll also explore tasks like setting up your target environment and deploying your software.

    About the Technology

    Gradle is a general-purpose build automation tool. It extends the usage patterns established by its forerunners, Ant and Maven, and allows builds that are expressive, maintainable, and easy to understand. Using a flexible Groovy-based DSL, Gradle provides declarative and extendable language elements that let you model your project's needs the way you want.

    About the Book

    Gradle in Action is a comprehensive guide to end-to-end project automation with Gradle. Starting with the basics, this practical, easy-to-read book discusses how to establish an effective build process for a full-fledged, real-world project. Along the way, it covers advanced topics like testing, continuous integration, and monitoring code quality. You'll also explore tasks like setting up your target environment and deploying your software.

    The book assumes a basic background in Java, but no knowledge of Groovy.

    Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

    Whats Inside

    • A comprehensive guide to Gradle
    • Practical, real-world examples
    • Transitioning from Ant and Maven
    • In-depth plugin development
    • Continuous delivery with Gradle

    About the Author

    Benjamin Muschko is a member of the Gradleware engineering team and the author of several popular Gradle plugins.

    Table of Contents

      PART 1 INTRODUCING GRADLE
    1. Introduction to project automation
    2. Next-generation builds with Gradle
    3. Building a Gradle project by example
    4. PART 2 MASTERING THE FUNDAMENTALS
    5. Build script essentials
    6. Dependency management
    7. Multiproject builds
    8. Testing with Gradle
    9. Extending Gradle
    10. Integration and migration
    11. PART 3 FROM BUILD TO DEPLOYMENT
    12. IDE support and tooling
    13. Building polyglot projects
    14. Code quality management and monitoring
    15. Continuous integration
    16. Artifact assembly and publishing
    17. Infrastructure provisioning and deployment