Cloud Foundry on top of Kubernetes @IBM Cloud – a small test

This blog is related to the topics Cloud Foundry Enterprise Environment , serverless , code patterns and the IBM Coder Program.

I just want to move an existing Cloud Foundry app on IBM Cloud to the new IBM Cloud Foundry Enterprise Environment,which instantiates Cloud Foundry on top of Kubernetes. You can find more details about this IBM Cloud offering in this blog post “An on-demand, single-tenant Platform-as-a-Service on IBM Cloudfrom IBM.

Motivation

Maybe you noticed the section Combined Power in my blog post Operations and Developers side by side @“Continuous Lifecycle” and “Container Conf” related to Simon Moser’s session CF3 – Combining the Power of Cloud Foundry and Kubernetes” ? In this blog post you can read more about the motivation to combine the power.  Also you can find out which open source projects ( eirini for example) are relevant.

Based on  Simon Moser´s speech, I was motivated to check out the Cloud Foundry Enterprise Environment on IBM Cloud.

I started my test of moving an existing Could Foundry App. I have chosen to move the app instance from one of my modified code patterns . My selection was the Predictive Industrial Visual Analysis. This code pattern has a big focus on serverless, but I will write more about the serverless part in the near future.

Let’s get started: How do I move an existing Cloud Foundry app?

Continue reading

Let‘s Code Pattern 02: Diversity and Inclusion – ensure loan fairness

The good combination of IBM coder program  and code patterns motivated me to dig in into the data science area a little bit, relating to the real-world topic diversity and inclusion . Also it was interesting to see: How the AI Fairness 360 toolkit, which is an open-source library to help detect and remove bias in machine learning models, can be used for data science in this context.

The diversity and inclusion topic started with a good statement:

Diversity and inclusion is more than a checkbox, it’s fuel for growth and success in any business or community.” IBM Coder Program.

This was one reason why I completed the challenges of the Diversity and Inclusion topic in the IBM coder program .

The IBM coder program

If you don’t know the IBM coder program, just visit this  link .
The program is about:

  • Growing skillset and reputation
  • Discovering and transparently discuss content 
  • Being rewarded with various tangible and intangible rewards

The code pattern Ensure loan fairness  was one of the challenges for Diversity and Inclusion topic.

Code pattern “Ensure loan fairness”

This code pattern is about machine learning with artificial intelligence, data science and python. It gives an introduction in how to use the AIF360 tool kit .

  • “The AI Fairness 360 toolkit is an open-source library to help detect and remove bias in machine learning models. The AI Fairness 360 Python package includes a comprehensive set of metrics for datasets and models to test for biases, explanations for these metrics, and algorithms to mitigate bias in datasets and models.“

In the related demo on IBM research-trusted UI, you can verify given ai models with different datasets and the bias mitigation algorithms .

BLOG-pattern-02-image

Continue reading

“code pattern” – my point of view

Today I want to focus on a interesting question I got:  “Why does IBM call something a code pattern and not just sample?” The question was related to my last blog.

Here is my personal point of view

First, there is no existing definition of the word pattern in combination with usage of the word code.

  • Based on the given definition, here is my free interpretation of the word pattern :
    “A pattern is something you can reproduce in different areas, and this interpretation is more less always comparable to a sample.  “
  • The main difference between sample and pattern from my point of view is: 
    “A pattern is always created to reproduce something which worked and will work again and this is not the case with a sample.”

Sure, a code pattern is NO design pattern  😉 . The combination of the words design and pattern has an official definition.

From my understanding, IBM uses the word pattern in combination with code, with the intention of showing you that you can reuse the code in the way you want.

A code pattern does NOT need to be related to IBM products or IBM services, but it should be related to one or more technologies and should contain code, which a developer is able to reuse under an apache license.

Structure of the code pattern

A code pattern should always contain:

  • Clear definition of the used technologies
  • Should contain code which can be used to instantiate an application
  • Should contain the possible deployment models (cloud, local, and so on) of the application

A code pattern should always have the following high level structure:

  • Summary (main objective),
  • Description (what it does)
  • Flow (how it works)
  • Instructions (how to instantiate)
  • … and for sure the code, which is available on github

This was my personal perspective on the definition of a code pattern, based on my experience with code patterns so far.

I hope this was helpful for you and feel free to provide feedback 😉

Let’s see what’s next?

Greetings,

Thomas

PS: By the way, you can use the IBM Cloud for free, if you simply create an IBM Lite account. Here you only need an e-mail address.

Let‘s Code Pattern 01: Use blockchain to track fitness club rewards

What is Let‘s code pattern?

I am starting a blog series to explore blog series to explore some code patterns, like those which are available on IBM Developer. I will call these series Let‘s code pattern .

Definitions for Let‘s code pattern

On IBM Developer website, there are complete solutions to problems that developers face every day. Code patterns leverage multiple technologies to solve issues that our developer advocates have recognized as common use cases across multiple industries.

Do you want to add something about Open Source and the code is available??
For the  series Let‘s code pattern , I have defined three topics I will observe for each code pattern in the future.

  1. Did the code pattern work?
  2. Did I need to make changes to the readme?
  3. How complex was it for me?

I always will clone the code pattern to my own repository, to make any changes I want to apply.  For example; to add my simple git and cloud helper bash scripts or customisations to the code or in the readme.

Let’s start with the first code pattern

I am starting the Let’s code pattern series with the Blockchain code pattern  called “Use blockchain to track fitness club rewards”. The web app is designed to track and trace member rewards, using IoT and the blockchain. It’s a fairly recent code pattern, which was published just last week.

The code pattern “Use blockchain to track fitness club rewards” enables you to setup a blockchain  locally on your computer using Hyperledger Composer. The code pattern is based on an Angular web app. You can implement it and start to learn from this project, which is based on a fitness club use-case.

Here’s my customised GitHub version of the code pattern: https://github.com/thomassuedbroecker/Using-Blockchain-to-Track-fitness-Rewards#part00

Let’s begin! Let’s get down to business

Overall it was useful starting point for me to dig into this area without using a cloud instance. The local instance makes blockchain with Hyperledger composer simpler. But I notice, I have to read additional information to get a better understanding of the Hyperledger composer in more detail.

Continue reading