Daniel Hinojosa

Independent Consultant

Daniel Hinojosa

Daniel is a programmer, consultant, instructor, speaker, and recent author. With over 20 years of experience, he does work for private, educational, and government institutions. He is also currently a speaker for No Fluff Just Stuff tour. Daniel loves JVM languages like Java, Groovy, and Scala; but also dabbles with non JVM languages like Haskell, Ruby, Python, LISP, C, C++. He is an avid Pomodoro Technique Practitioner and makes every attempt to learn a new programming language every year. For downtime, he enjoys reading, swimming, Legos, football, and barbecuing.

Presentations

Gitops: From Commit to Deploy

Join us for a hands-on workshop, GitOps: From Commit to Deploy, where you’ll explore the entire lifecycle of modern application deployment using GitOps principles.

We’ll begin by committing an application to GitHub and watching as your code is automatically built through Continuous Integration (CI) and undergoes rigorous unit and integration tests. Once your application passes these tests, we’ll build container images that encapsulate your work, making it portable, secure, and deployment-ready. Next, we’ll push these images to a container registry preparing for deployment

Next, you will learn how to sync your application in a staging Kubernetes cluster using ArgoCD (CD), a powerful tool that automates and streamlines the deployment process. Finally, we’ll demonstrate a canary deployment in a production environment with ArgoCD, allowing for safe, gradual rollouts that minimize risk.

By the end of this workshop, you’ll have practical experience with the tools and techniques that perform GitOps deployments, so you can take this information and set up your deployments at work.

  • Creating Your Application
  • Running Locally
  • Proper Commits
  • Security Scans
  • Safe Image Creation
  • Image Publishing
  • ArgoCD and Syncing
  • Canary Deployments

Gitops: From Commit to Deploy

Join us for a hands-on workshop, GitOps: From Commit to Deploy, where you’ll explore the entire lifecycle of modern application deployment using GitOps principles.

We’ll begin by committing an application to GitHub and watching as your code is automatically built through Continuous Integration (CI) and undergoes rigorous unit and integration tests. Once your application passes these tests, we’ll build container images that encapsulate your work, making it portable, secure, and deployment-ready. Next, we’ll push these images to a container registry preparing for deployment

Next, you will learn how to sync your application in a staging Kubernetes cluster using ArgoCD (CD), a powerful tool that automates and streamlines the deployment process. Finally, we’ll demonstrate a canary deployment in a production environment with ArgoCD, allowing for safe, gradual rollouts that minimize risk.

By the end of this workshop, you’ll have practical experience with the tools and techniques that perform GitOps deployments, so you can take this information and set up your deployments at work.

  • Creating Your Application
  • Running Locally
  • Proper Commits
  • Security Scans
  • Safe Image Creation
  • Image Publishing
  • ArgoCD and Syncing
  • Canary Deployments

The Fine Art of Canary Deployments

Canary Deployments are the last ingredient of any Continuous Delivery or Continuous Deployment rollout. A canary deployment is a deployment strategy that releases an application or service incrementally to a subset of users. All infrastructure in a target environment is updated in small phases (e.g., 2%, 25%, 75%, 100%). This control makes a canary release the lowest risk-prone compared to all other deployment strategies, like the blue-green strategy. If you need to back out of a production deployment quickly without much disruption, then canary deployments may be an excellent practice to set up.

We will treat this talk like a recipe so that you can set up a canary in your work environment.

  • Continuous Integration, Continuous Delivery,
  • Continuous Deployment Overview
  • You can perform this anywhere: Cloud instances or Kubernetes
  • What is Canary? What are some of the strategies you can use?
  • What CD Frameworks perform Canary Deployments?
  • How do you perform metrics? Are things going too slow or too fast?
  • How do you back out if this rollout is not performing as well as it should?
  • Can you perform canary deployments without a CD framework? Perhaps something native to Kubernetes?
  • Performing using Spinnaker, Argo, Istio
  • Conclusion

MLOps Half Day Workshop

MLOps is a mix of Machine Learning and Operations. It is the new frontier for those interested in or knowledgeable about both of these disciplines. MLOps supports the operationalization of machine learning models developed by data scientists and delivers the model for processing via streaming or batch operations. Operationalizing Machine Learning Models is nurturing your data from notebook to deployment through pipelines.

In this workshop, we will describe the processes:

  • Model Development
  • Model Packaging
  • Model Deployment
  • Model Cataloging
  • Model Monitoring
  • Model Maintenance

Some of the technologies we will discover include:

  • Airflow, Kubeflow, MLFlow
  • Prometheus & Grafana
  • TensorFlow, XGBoost,
  • Serving
  • Hyperparameter Tuning

Our exercises will include running and understanding MLFlow.

MLOps Half Day Workshop

MLOps is a mix of Machine Learning and Operations. It is the new frontier for those interested in or knowledgeable about both of these disciplines. MLOps supports the operationalization of machine learning models developed by data scientists and delivers the model for processing via streaming or batch operations. Operationalizing Machine Learning Models is nurturing your data from notebook to deployment through pipelines.

In this workshop, we will describe the processes:

  • Model Development
  • Model Packaging
  • Model Deployment
  • Model Cataloging
  • Model Monitoring
  • Model Maintenance

Some of the technologies we will discover include:

  • Airflow, Kubeflow, MLFlow
  • Prometheus & Grafana
  • TensorFlow, XGBoost,
  • Serving
  • Hyperparameter Tuning

Our exercises will include running and understanding MLFlow.

Books

Testing in Scala

by Daniel Hinojosa

  • If you build your Scala application through Test-Driven Development, you’ll quickly see the advantages of testing before you write production code. This hands-on book shows you how to create tests with ScalaTest and the Specs2—two of the best testing frameworks available—and how to run your tests in the Simple Build Tool (SBT) designed specifically for Scala projects.

    By building a sample digital jukebox application, you’ll discover how to isolate your tests from large subsystems and networks with mocking code, and how to use the ScalaCheck library for automated specification-based testing. If you’re familiar with Scala, Ruby, or Python, this book is for you.

    • Get an overview of Test-Driven Development
    • Start a simple project with SBT and create tests before you write code
    • Dive into SBT’s basic commands, interactive mode, packaging, and history
    • Use ScalaTest both in the command line and with SBT, and learn how to incorporate JUnit and TestNG
    • Work with the Specs2 framework, including Specification styles, matchers DSLs, and Data Tables
    • Understand mocking by using Java frameworks EasyMock and Mockito, and the Scala-only framework ScalaMock
    • Automate testing by using ScalaCheck to generate fake data