Wednesday, September 7, 2022

Terraform multi-account setup for IBM Cloud

Making progress with Terraform
Today's post is a quick write-up for me, kind of my own documentation. I wanted to access two different IBM Cloud accounts within a single Terraform deployment. But how to proceed? It is relatively simple if you know how to (and found the relevant documentation). Here is what my setup looks like.

Tuesday, September 6, 2022

New IBM Cloud security features you should know

Custom role for operating Code Engine
Cybersecurity is always in a state of change. There are new security features and new attack methods - or was it the other way? Over the past months, several new security features were added to IBM Cloud. In this blog post, I want to quickly describe them and point you to IBM Cloud blog posts where I discuss them in greater detail.

Monday, August 22, 2022

Database event in Edinburgh: IDUG 2022 EMEA Db2 Tech Conference

IDUG 2022 Db2 Tech Conference
Two months are left before the IDUG 2022 EMEA Db2 Tech Conference is to begin. After two years of virtual-only events, this conference marks a new start for the (mostly) European part of the Db2 community, the International Db2 User Group (IDUG). Last month, the IDUG 2022 NA conference in Boston, USA, showed the value of face-to-face events. Networking, formal and informal exchange of information, education, certification, and some fun. So what to expect from the conference in October?

Tuesday, June 7, 2022

Use event subscriptions for scheduled scale up and down of your IBM Cloud Code Engine apps

Few lines of scripting
Over the past months, I wrote several blog posts related to IBM Cloud Code Engine. Code Engine is a managed, serverless platform for containerized workloads. You can run (web) apps and (batch) jobs, both types can receive events. Code Engine apps have settings for minimum and maximum scaling and have assigned compute resources within these boundaries. A "scale to zero" is possible, i.e., there isn't any app instance running and, because it is pay per use, nothing is charged during that time. Which brings up the question, how can I schedule different min / max scale values, e.g., scale down to zero over night, but have some higher minimums during the day? 

I heard that built-in support is on the roadmap. For now, I am using a Code Engine cron subscription for the job...

Thursday, June 2, 2022

Create a REST API with OpenAPI spec for your database objects

Swagger UI for my events API
Recently, I wanted to create REST API for data managed in a Db2 on Cloud database. It was needed for a chatbot project using Watson Assistant. After looking into my options, I settled on APIFlask. In this blog, I am going to share my experiences and some resources for creating a REST API with an OpenAPI specification for database objects.

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 myapp.example.com, 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.