How to setup the reactive Cloud Native Starter sample application on OpenShift in IBM Cloud

In this blog post I want to point out that I just created a 5 min YouTube video related to the great Hands-on workshop: Reactive Endpoints with Quarkus on OpenShift. In that short video I show the setup of the example application to show reactive programming.

The image below shows the major architecture of the reactive programming example. There are three Java Microservices, one Vue.js UI application and two infrastructure components running on OpenShift (Kubernetes).

reactive-architecture

 


I hope this was useful for you and let’s see what’s next?

Greetings,

Thomas

PS:  You can try out Cloud Foundry Apps or Kubernetes on IBM Cloud. 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.

#IBMDeveloper, #IBMCloud, #OpenShift, #Kafka, #Postgres, #MicroProfile, #Java #reactive

 

 

Automated deployment of a microservice to Kubernetes on IBM Cloud

In that blog post I want to point out the awesome topic, how to automate the deployment of a Microservice using a delivery pipeline on IBM Cloud.

Maybe you already know Niklas, Harald and I made the great project called Cloud Native Starter. That project includes a Hands-on workshop that is called “Build a Java Microservice and deploy the Microservice to Kubernetes on IBM Cloud”.  In Lab 4 you have to deploy the Authors Microservice to Kubernetes on IBM Cloud. Sometimes we have limited time in workshops. The limited time is the reason why we want to reduce the manual effort for students in a workshop to a minimum, therefor we took the IBM® Cloud Continuous Delivery and I created a repeatable way with minimal human interaction. The delivery pipeline contains sequences of stages which retrieve inputs and run jobs, such as builds, and deployments.

That image shows two stages, one stage is called FETCH and the other DEPLOY_SERVICES. The FETCH stages contains a job called Fetch code and the DELOY_SERVICES has two jobs one for build and one for deployment.

Toolchain-04

With the realization of the automated setup for the creation of the toolchain, you can just press the button Create toolchain in the GitHub project and follow a guided wizard to deploy the Authors Microservice.

Visit the hands-on workshop Use a IBM Cloud toolchain to deploy a Java Microservices to Kubernetes on IBM Cloud and press the button 😉

create-toolchain-gitbook

Continue reading

Deploy the Reactive Cloud Native Starter example to IBM Cloud

The Cloud Native Starter project now contains the new great topic, the development of Reactive Microservices  with Java, quarkus, MicroProfile and Vue.js as front-end. The Reactive example implementation runs on minikube, local OpenShift and on IBM Cloud Kubernetes. Here are the instructions on GitHub.

But what does reactive mean? Here is an extract of the definition in  The Reactive Manifesto.

“Systems built as Reactive Systems are more flexible, loosely-coupled and scalable. This makes them easier to develop and amenable to change. They are significantly more tolerant of failure and when failure does occur they meet it with elegance rather than disaster. Reactive Systems are highly responsive, giving users effective interactive feedback.” 

But be aware, our example is not a full Reactive System it shows reactive programming techniques.

Note: To understand the difference between these two topics, that badge on cognitiveclass is useful Reactive Architecture: Introduction to Reactive Systems.

In our reactive programming example, you see directly changes in the database on the Web UI, without refreshing the browser.

reactive-sample

In this blog post I want to share, how you deploy that awesome Reactive example to a free IBM Cloud Kubernetes Cluster and using the free quota of the IBM Cloud Container Registry. We avoid for the setup that you have to use any paid IBM Cloud services, because you want just to see how the Reactive example works on IBM Cloud.
To create a free Cluster you need a feature code to create a Trial Account or you create a pay as you go account and you only use the free services of IBM Cloud.

That is the major architecture of the Reactive example. Three Java Microservices, one Vue UI application and two infrastructure components running on Kubernetes.

reactive-architecture

But what is reactive programming in more detail? If you want to get more details of the Reactive topic, just visit the blog post Development of Reactive Applications with Quarkus from Niklas Heidloff and if you want to explore the setup for local OpenShift take a look into the blog post Cloud Native Starter on Red Hat OpenShift 4 from Harald Uebele.

Continue reading

Central management of billing and resource usage tracking across multiple accounts in IBM Cloud

In this blog post I want to shortly highlight the topic central management of billing and resource usage tracking across multiple accounts. I think it is good to know that topic, even if you will currently not use it.

I didn’t use IBM Cloud Enterprise until now, but is great to know that this is possible. This organisational topic is (more or less 😉 ) related to one of my older blog posts  “What are major elements to organize my services, apps and devices in IBM Cloud?”

The announcement was in Juli 2019 :

“Now you can organize multiple IBM Cloud accounts in flexible hierarchical groups.”

For more details please visit that blog post introducing IBM Cloud Enterprises.

Continue reading

Cors and Node-RED using a simple forwarding server

When you use Node-RED on IBM Cloud during hackathons you will notice REST calls in flows cannot be directly invoked from a web application. The reason for this is mostly that cors (cross-origin resource sharing) is not enabled for the Node-RED server. This blog post is a simple workaround for this problem.

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.

I developed this workaround to have full control and be very flexible during a hackathon, when using Node-RED for prototyping and building integrations to services and web-applications, without changing Node-RED settings or using cors browser enabler.

Continue reading

Being @Hacknext a Hackathon and Conference to create impact in InsurTech

I was one of the coaches at the sold out Hacknext in Munich, hosted at Kohlebunker, from  7. March – 9. March 2019 and in this blog post I want to share my personal impressions.

From my point of view it was great to see: young people build relevant solutions for the future with the latest technologies on cloud.
Best wishes to all hackers who attended and every success for the future.

IMG_6066.JPG

Hacknext  includes a hackathon and conference related to the insurance business called InsurTech.

In other words the hackers, attendees and coaches were spending three days in the Kohlebunker for:

  • Taking on challenges together, approximately 110 hackers organized into 20 teams
  • Benefiting from professional exchange on InsurTech with approximately 60 conference attendees
  • Providing valuable support from the API coaches

The challenges

Each of the hacker teams had to address a minimum of one of these challenges:

  • Using smart data and its benefits for insurance
  • Building the future of digital bancassurance
  • (R)evolutioning of the insurance agent
  • Rethinking retirement

In the following YouTube video you get a short impression of the great atmosphere at the hacknext:

Continue reading

How to deploy a container to the IBM Cloud Kubernetes service

I want to describe another way to run the  Highscores-Service of the #BlueCloudMirror game . In the game I use  IBM Cloud Foundry apps, now I want to explore IBM Cloud Kubernetes.

Note: The #BlueCloudMirror game we  @Niklas, @Harald and I made, is available as an Pattern on IBM Developer.

The first step was creating a container for the Highscores-Service,  which I described in my blog post how to build a container.

In this post I deploy my scores-service container to the IBM Cloud Kubernetes service.  This is  not a blueprint for IBM Kubernetes deployments, if you looking for a blueprint,  just take a look hereIBM Cloud documentation contains a great guide for getting started:  How to setup and use IBM Cloud Kubernetes

I share my experiences and observations with you, along with my deployment.

Let’s start with an overview of the topics I touch in this blog post:

Simplified Architecture 

kube-basic-architecture

The above picture shows a simplified architecture for the scores-service inside Kubernetes. You can see the relevant elements for the deployment. If you are interested in the details of  these elements, just click on the linked Kubernetes documentation.

The major elements:

Continue reading

#BlueCloudMirror Game – highscores

I am a part of the team along with @Niklas and @Harald , who created and developed the fun Blue Cloud Mirror Game. 

game

This is my first blog  about this topic, and I will follow with future posts to detail the different parts of highscores (scores) and the technologies and components involved.

You can also take a look at other existing information:

The motivation for the highscores (scores)

If you play a game, you usually want to compare yourself with others. To do this, you simply have to save scoring information somewhere and provide access for the players who want to see the highscores, even if they do not play the game.

The high-level architecture overview on scores

The objective was to implement this on the cloud with state-of-the-art runtimes, services, security topics, to cover microservices, and to have an easy scalable cloud architecture.
I developed the scores part and the functions-api for users.

scores-architecture

The Game, Scores Service UI and the Highscores webapp are hosted on different runtimes and for the execution they will be loaded into a browser.

Continue reading

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

Promo code and free Kubernetes Cluster @IBM Cloud

You may have received a promo/feature code when you attended a conference, meetup, or hackathon, but you have no experience with IBM Cloud yet, and you want to access the free Kubernetes cluster in the IBM Cloud as soon as possible, because you can use the cluster for your own “playing” and “testing”.

To create a the free Kubernetes cluster you need a “trial” (no credit card needed) or a “pay as you go” (credit card needed) IBM Cloud Account. You activate an IBM Cloud trial account with your promo/feature code. In both cases you can use the  free Kubernetes cluster.

The remaining usual questions are:

  • How to enter a promo/feature code?
  • How to instantiate a free Kubernetes Cluster ?

I created a short youtube video related to these questions below.

If you don’t want to watch the video, these are the simple three steps you have to follow:

1. Register at IBM Cloud:

  • Register yourself on IBM Cloud with the link you got on your feature/promo code or register here on IBM Cloud.

2. Insert a promo/feature code:

  • FYI: No longer valid:
    • Select “Manage->Billing” in the menu on the IBM Cloud WebUI
    • Insert your promo code

3. Create a free Kubernetes Cluster:

  • Select the Kubernetes service from the catalog and press free cluster.
    kubernetes-ibmcloud-01
  • Give the cluster a name like cloud-nativekubernetes-ibmcloud-02
  • Press create
  • Follow the instructions in the “Access” tab, to access your cluster with kubectl from your local pc.
    kubernetes-ibmcloud-03

That’s all.

When you start with IBM Cloud you educate yourself with the badge IBM Cloud Essentials related to IBM Cloud before you access the IBM Cloud. BTW, this way would be the best choice ;-). With IBM Cloud Essentials  you have free education and an official badge.

today-ibm-cloud-badge.png

I hope this was useful for you and 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.

#ibmdeveloper, #ibmcloud, #featurecode, #promocode, #trial, #free