Juana Nakfour

Recent Posts

Kubeflow 1.0 monitoring and enhanced JupyterHub builds in Open Data Hub 0.8

Kubeflow 1.0 monitoring and enhanced JupyterHub builds in Open Data Hub 0.8

The new Open Data Hub version 0.8 (ODH) release includes many new features, continuous integration (CI) additions, and documentation updates. For this release, we focused on enhancing JupyterHub image builds, enabling more mixing of Open Data Hub and Kubeflow components, and designing our comprehensive end-to-end continuous integration and continuous deployment and delivery (CI/CD) process. In this article, we introduce the highlights of this newest release.

Note: Open Data Hub is an open source project and a community Operator for building an AI-as-a-Service (AIaaS) platform on Red Hat OpenShift.

Continue reading “Kubeflow 1.0 monitoring and enhanced JupyterHub builds in Open Data Hub 0.8”

Share
From notebooks to pipelines: Using Open Data Hub and Kubeflow on OpenShift

From notebooks to pipelines: Using Open Data Hub and Kubeflow on OpenShift

Data scientists often use notebooks to explore data and create and experiment with models. At the end of this exploratory phase is the product-delivery phase, which is basically getting the final model to production. Serving a model in production is not a one-step final process, however. It is a continuous phase of training, development, and data monitoring that is best captured or automated using pipelines. This brings us to a dilemma: How do you move code from notebooks to containers orchestrated in a pipeline, and schedule the pipeline to run after specific triggers like time of day, new batch data, and monitoring metrics?

Continue reading From notebooks to pipelines: Using Open Data Hub and Kubeflow on OpenShift

Share
Integrating Kubeflow with Red Hat OpenShift Service Mesh

Integrating Kubeflow with Red Hat OpenShift Service Mesh

Open Data Hub is an open source project providing an end-to-end artificial intelligence and machine learning (AI/ML) platform that runs on Red Hat OpenShift. As we explained in our previous article, we see real potential and value in the Kubeflow project, and we’ve enabled Kubeflow 0.7 on RedHat OpenShift 4.2. Kubeflow installs multiple AI/ML components and requires Istio to control and route service traffic.

As part of the Open Data Hub project, we’ve also integrated Kubeflow with Red Hat OpenShift Service Mesh. In this article, we present Red Hat OpenShift Service Mesh as an alternative to the native Kubeflow Istio installation, especially for users who already have OpenShift Service Mesh installed on their cluster.

Continue reading “Integrating Kubeflow with Red Hat OpenShift Service Mesh”

Share
Installing Kubeflow v0.7 on OpenShift 4.2

Installing Kubeflow v0.7 on OpenShift 4.2

As part of the Open Data Hub project, we see potential and value in the Kubeflow project, so we dedicated our efforts to enable Kubeflow on Red Hat OpenShift. We decided to use Kubeflow 0.7 as that was the latest released version at the time this work began. The work included adding new installation scripts that provide all of the necessary changes such as permissions for service accounts to run on OpenShift.

Continue reading Installing Kubeflow v0.7 on OpenShift 4.2

Share
AI/ML pipelines using Open Data Hub and Kubeflow on Red Hat OpenShift

AI/ML pipelines using Open Data Hub and Kubeflow on Red Hat OpenShift

When it comes to the process of optimizing a production-level artificial intelligence/machine learning (AI/ML) process, workflows and pipelines are an integral part of this effort. Pipelines are used to create workflows that are repeatable, automated, customizable, and intelligent.

An example AI/ML pipeline is presented in Figure 1, where functionalities such as data extract, transform, and load (ETL), model training, model evaluation, and model serving are automated as part of the pipeline.

Continue reading “AI/ML pipelines using Open Data Hub and Kubeflow on Red Hat OpenShift”

Share

A step-by-step tutorial for continuous integration with Jenkins for a Red Hat Mobile Native iOS application

Part 2: How to Setup Jenkins to build iOS .ipa and run unit tests.

A robust and agile mobile application development environment requires continuous integration and delivery. It also requires an integrated and automated unit testing process that helps bring applications to market successfully. This two-part series details my work done at Red Hat Open Innovation Labs and as a Mobile Technical Account Manager to capture these mobile innovations in a useful, repeatable way. In part one of this two-part series, I broke down the steps to create and unit test a native iOS application using Red Hat’s Mobile Application Platform. In part two, I’ll show how Jenkins can be used to automate continuous integration and unit testing of that Mobile app.

Continue reading “A step-by-step tutorial for continuous integration with Jenkins for a Red Hat Mobile Native iOS application”

Share

A step-by-step tutorial for continuous integration with Jenkins for a Red Hat Mobile Native iOS application

This post was originally published on redhat.com.

Part 1: Adding Unit Tests to Native iOS Red Hat Mobile Application Platform Application

A robust and agile mobile application development environment requires continuous integration and delivery. It also requires an integrated and automated unit testing process that helps bring applications to market successfully. This two-part series details my work done at the Red Hat Open Innovation Labs and as a Mobile Technical Account Manager to capture these mobile innovations in a useful, repeatable way. In part one of this two-part series, I break down the steps to create and unit test a native iOS application using Red Hat Mobile Application Platform. In part two, I’ll show how Jenkins can be used to automate continuous integration and unit testing of that Mobile app. If you would like to try out our Red Hat Mobile Application Platform product please visit our Red Hat Mobile Application Platform site.

Continue reading “A step-by-step tutorial for continuous integration with Jenkins for a Red Hat Mobile Native iOS application”

Share

A step-by-step tutorial for continuous integration with Jenkins on a Red Hat Mobile Native Android application: Part 2

In part one of our series, we established the process around creating an Android application using Red Hat’s Mobile Application Platform and adding unit tests. Now, we’ll walk through how to use Jenkins for continuous integration on this app.

Pre-requisites for this tutorial

  1. RHMAP Instances
  2. Jenkins installed on Fedora
  3. Android Studio setup on a development machine.

The following are the topics covered in today’s post:

  1. Setup Jenkins to run Android Unit Test
  2. Install Jenkins plugins
  3. Install Android SDK and Tools
  4. Setup SSH on RHMAP and Jenkins
  5. Create an Android Emulator from command line
  6. Create a Jenkins project to run Android Unit Tests

Setup Jenkins to run Android Unit Test

This tutorial assumes Jenkins and git tools are installed on a Fedora machine.

Install Jenkins plugins

We need to install all the plugins needed to run Android build. From the Jenkins portal go to Manage Jenkins → Manage plugins→ Available and select the following

  1. Android Emulator Plugin
  2. Git plugin
  3. Gradle Plugin

Click Install without restart.

Continue reading “A step-by-step tutorial for continuous integration with Jenkins on a Red Hat Mobile Native Android application: Part 2”

Share

A step-by-step tutorial for continuous integration with Jenkins for a Red Hat Mobile Native Android application: Part 1

The dramatic influx of mobile application development has driven many new innovations that make it easier than ever to create compelling, flexible, and secure  applications. This two-part series details my work done at Red Hat’s Open Innovation Labs to capture these mobile innovations in a useful, repeatable way. In part one of this two-part series, I break down the steps to create and unit test a native android application using Red Hat’s Mobile Application Platform. In part two, I show how Jenkins can be used to automate  continuous integration and unit testing of that Mobile app.

This post was originally published on the Red Hat Services blog.

PART 1

Part 1 of this series covers the creation of a native Gradle Android application, shows how to add unit and instrumentation tests specific to Android.

Pre-requisites for this tutorial:

  1. Red Hat Mobile Application Platform Instance
  2. Android Studio set up on a development machine.

The following are the topics covered in today’s post and the video below:

  1. Creating an Android Application using RHMAP
  2. Creating an Android Unit test and Instrumented test
  3. Adding an Android Unit Test
  4. Adding an Android Instrumented Unit Test

Continue reading “A step-by-step tutorial for continuous integration with Jenkins for a Red Hat Mobile Native Android application: Part 1”

Share