Monday, May 16, 2022

Containerize your Db2 Python app

De-containerizing my stuff
By following my blog posts (here or at the IBM Cloud site)  or my code samples, you might know that many of my apps are coded in Python. Moreover, many projects involve IBM Db2 (see "How to connect from Python to Db2"). With Docker and other container technologies around and many projects involving Kubernetes / OpenShift or Knative / IBM Cloud Code Engine, the next question is how to containerize / dockerize your Db2 application written in Python. Well, here I share some of my experience...

Tuesday, May 10, 2022

Some fun with traefik routing on the edge of a reverse proxy

Path-based routing with Traefik

In a recent blog post, I mentioned that I use the traefik edge router / reverse proxy to put a custom domain in front of my IBM Cloud Code Engine apps. Today, I want to share details on how I configured path-based routing, i.e., depending on the path in the URI a different Code Engine app serves the request. The use case is to implement a microservices-based solution architecture with multiple backend services reachable over a single host name (on a custom domain).

Monday, May 9, 2022

A simple nginx deployment on IBM Cloud Code Engine

HTML files as configmap in Code Engine
Over the weekend I deployed nginx on IBM Cloud Code Engine. It's nothing fancy or earth-moving. But I wanted to note down and share the steps with you on how to deploy this HTTP server and serve few static HTML pages. All is based on using the command line interface (CLI) and is done with few commands.

Thursday, May 5, 2022

Custom domain for your serverless Code Engine app

Output of a IBM Cloud Code Engine app
A custom domain, e.g. somethin like, always puts a nice touch on an app. Often, it is required for corporate identity. Still, not all services offer that capability. As written, I recently migrated some apps from Cloud Foundry to IBM Cloud Code Engine. Right now, Code Engine does not support custom domains out of the box, but I heard that it is planned. Thus, I looked into temporary workarounds for using a custom domain name for my serverless Code Engine apps.

Monday, April 25, 2022

Best practices for successful support cases

Success you will have, time it takes.
Successful support cases
In my day job, I work with latest technology and cloud services. In addition, I work with customers / users and help them succeed. And in my private life, I also use technical equipment. In all three of these scenarios, mostly in the first two, I often create support cases. And I like to get the issues resolved, not just support cases closed. Over the years, I came up with these best practices for successful support cases.

Wednesday, April 6, 2022

Required IAM privileges for a service ID to update Code Engine app

Remember the steps
This blog post today is one of those written for me. In the past I stated a couple times that I use this blog to remember things. Today, it is about setting up IBM Cloud IAM privileges for a Service ID. That service ID needs to build a new container image, then update an existing Code Engine app.

Thursday, March 24, 2022

Blue-green deployment with IBM Cloud Code Engine and Knative

Code Engine app with green revision
From reading my past post on migrating from Cloud Foundry to Code Engine, you probably guessed that I am currently working with IBM Cloud Code Engine. One of the topics I looked into the past few days is advanced configuration of my app using the Knative CLI. Code Engine is using Knative which, again, is based on Kubernetes. All of them are involved in configuring traffic management for my app, so that I could realize blue-green deployment. It allows to gradually move traffic from the current stable to a newer app revision. Not much is needed to get it to work.

Wednesday, March 16, 2022

From Bluemix to IBM Cloud, from Cloud Foundry to Code Engine

"Bring Your Own Community"
About seven years ago, I started to work with, then blog about Bluemix and Cloud Foundry. Not my first, but one of the first posts is titled "Some fun with Bluemix, Cloud Foundry, Python, JSON and the Weather". Reading that article again I feel nostalgic and it brings back memories of how I learned to deploy my apps to Cloud Foundry. And how I had fun with new cloud technologies.

Friday, March 11, 2022

IDUG EMEA 2022 Tech Conference: Call for presentations open

Submit your Db2 presentation now
This is a rather short (and quick) post. Have you seen that the CfP (Call for Presentations) for the Db2 conference in Scotland scheduled for October is open? The IDUG 2022 EMEA Db2 Tech Conference will be held in Edinburgh, Scotland, from October 22-26 this year (for sure, I promise!). Because IDUG is the International Db2 User Group and hence is organized by users and lives from user participation the conference planning committee is hoping for many submissions by users.

Do you know how to install Db2 or connect to it? Have you successfully retrieved query results, in a program written in Python, Node.js, Cobol, Go or C++? Have you provisioned Db2 on Cloud, pulled the container image with Db2 Warehouse and deployed it? If you answered yes to one of these questions, go ahead and submit a presentation, share your experience!

I expect the CfP to be open until end of April.

If you have feedback, suggestions, or questions about this post, please reach out to me on Twitter (@data_henrik) or LinkedIn.

Wednesday, February 23, 2022

Get certified for IBM Cloud, new certifications available

This week, I completed another certification, I passed the IBM Cloud Security Engineer exam. It is a natural step when you consider that many of my IBM Cloud blog posts are about security-related topics.

In this blog post, I want to give you a quick overview of IBM Cloud certifications and what it topics are covered for the IBM Cloud Security Engineer certification.

Monday, January 31, 2022

Simple, quick and secure cloud onboarding for workshops and hackathons

Create an external Identity Provider
Short-lived projects like hackathons or workshops often have the following characteristics:

  • similar privileges for everyone on the project,
  • only few IAM (Identity and Access Management) roles,
  • preferred simple administration (setup, running it, cleanup) over tightest security.

Additionally, such projects often are repeated with similar setup, but other participants. So, how do you onboard them efficiently and securely?

With that question in mind, I published two blog posts on the IBM side along with code on GitHub:

The articles utilize features and services like access groups and trusted profiles, external identity providers based on IBM Cloud App ID. The code is in Terraform and Python for full automation where possible. Enjoy.

If you have feedback, suggestions, or questions about this post, please reach out to me on Twitter (@data_henrik) or LinkedIn.