| Recent Blog Posts
Reducing Deployment Risks via Policies for Jenkins Pipelines|
Fri, Jun 16th 2017 10:42a Niklas Heidloff
Earlier this year IBM introduced a new service DevOps Insights (beta) which helps among other things to reduce deployment risks. Policies can be defined to ensure that unit tests, functional tests and other tests pass before new versions of applications are deployed.
As I blogged earlier this functionality can be used for IBM DevOps Delivery Pipelines. Additionally it can also be used for Jenkins projects since data can be sent from Jenkins to other tools like IBM DevOps Insights that are in the
Leveraging Jenkins in DevOps Toolchains on Bluemix|
Wed, Jun 14th 2017 9:31a Niklas Heidloff
As part of the IBM Bluemix Continues Delivery functionality toolchains allow the integration of third party and open source tools. One example is the usage of the automation server Jenkins to build and deploy applications rather than using the delivery pipelines provided by IBM.
In order to test this functionality I’ve run a Docker Jenkins container locally. Obviously you could also deploy Jenkins on Bluemix but I wanted to keep it as simple as possible.
In order to configure Jenkins, I s
Reduce Deployment Risks via Policies in DevOps Pipelines|
Mon, Jun 12th 2017 1:34p Niklas Heidloff
Earlier this year IBM introduced a new service DevOps Insights (beta) which helps among other things to reduce deployment risks. Policies can be defined to ensure that unit tests, functionality tests and other tests pass before new versions of applications are deployed.
The following screenshot shows the DevOps Insights dashboard with a sample application that contains two deployable units, one microservice and one web application. For each deployable unit icons indicate which tests have been ru
Integrated API Management for Cloud Foundry Apps|
Thu, Jun 8th 2017 9:53a Niklas Heidloff
Last week IBM introduced a new feature in IBM Bluemix. Developers can now easily add API management functionality to their Cloud Foundry apps hosted on Bluemix.
The end-to-end API lifecycle solution API Connect has been available in Bluemix for quick some time. With the recent addition it’s much easier to leverage this functionality since everything can be configured from the application dashboards.
I’ve just tried it for a simple sample. API definitions can be imported via Swagger/O
Integrating Tools into Bluemix DevOps Toolchains|
Wed, Jun 7th 2017 7:10a Niklas Heidloff
As part of the Bluemix Continues Delivery functionality toolchains allow the integration of third party and open source tools. Below are two samples how to leverage PagerDuty and Slack to get notifications about state changes in pipelines.
With PagerDuty you can receive text and voice messages on your smartphone and configure which teams members should be notified for certain event types.
Here is an example screenshot of my smartphone. You can take action via phone without having to log in to t
Some Pictures from Pioneers|
Wed, Jun 7th 2017 6:32a Niklas Heidloff
Last week I attended Pioneers in Vienna, Austria, to present IBM Watson and the IBM Cloud and to talk with developers. Below are some pictures.
Pioneers is a conference primarily for startups and investors. IBM provides a program where qualified startups can receive up to $120K in IBM Cloud credits.
The new team in Germany from left to right: Niklas, Steffi, Marion, Ansgar and Ethan.
The conference was held at the Hofburg Vienna.
Some more pictures from out booth.
I also brought my Anki ca
Managing Microservices on Kubernetes with Istio|
Wed, May 31st 2017 5:13p Niklas Heidloff
Last week IBM and Google announced Istio, an open platform to connect, manage, and secure microservices. Istio improves the visibility of the data flowing between the different services and the good news for developers is that you don’t have to change your code.
There is good documentation available, but in a nutshell Istio inserts proxies in pods which are called instead of the custom containers (services) directly. This allows Istio to control and monitor the requests to the services. As
GitLab now available in Bluemix|
Tue, May 30th 2017 2:51p Niklas Heidloff
I’m still catching up on all the new functionality that has been added to IBM Bluemix over the last year. One new capability is to use GitLab for source control and lightweight project management.
Earlier this year the original JazzHub functionality was sunset and new and advanced capabilities have been added to Bluemix Continues Delivery. Developers can now use GitLab and integrate it in Bluemix DevOps toolchains. Alternatively you can also use GitHub (public) as well as GitHub Enterprise
Automated Frontend Testing with Bluemix Delivery Pipelines|
Mon, May 29th 2017 10:37a Niklas Heidloff
In order to do functional end-to-end testing of web applications, Selenium is a great tool to execute automated tests on different browsers. Below is a quick introduction how to run these tests from delivery pipelines in IBM Bluemix.
Bluemix DevOps provides toolchains to build, deploy and manage applications. These toolchains can contain services provided by Bluemix as well as open source and third party tools. An example of a third party tool is Sauce Labs, which allows running Selenium based t
Deploying Node Express Apps to OpenWhisk|
Wed, May 24th 2017 1:35p Niklas Heidloff
I’m catching up with all the great new features that have been added to OpenWhisk over the last months. My colleague Lionel Villard published two articles how to run Node Express web applications in a serverless environment. Very cool.
Rather than repeating everything from Lionel’s articles, let me give you a quick summary how this works.
In the OpenWhisk action you use the openwhisk-expressjs module to send a redirect to the Express server.
const app = require('./server');
Quick Update: Excited to work as Developer Advocate again|
Mon, May 22nd 2017 1:54p Niklas Heidloff
Over the last year I’ve worked on a very interesting internal project. I’ve learned a lot about conversational experiences and it was a lot of fun. Most importantly I enjoyed working with great people in the Emerging Technologies organization.
Recently a new opportunity has come up and I’m happy to share that I will work as developer advocate again! I will be part of an international organization of advocates and will focus on developers in Germany, Austria and Switzerland. Tec
My Advice: Don’t use Angular 2+ without Redux|
Thu, Apr 13th 2017 6:34a Niklas Heidloff
Recently I have used Angular 2+ in one of my projects. There are many things I like about Angular like dependency injections, TypeScript, etc. One thing that gave me a hard time was to understand Angular’s change detection strategy. Below is a quick tip how to use Angular without having to worry (too much) about how to refresh your components.
One of the design goals of Angular 2 was to provide better performance than AngularJS which is why new features were added to reduce changes to the
Invoking OpenWhisk Actions from Angular 2 Apps|
Tue, Apr 11th 2017 2:14p Niklas Heidloff
In my last blog entry I documented how to deploy Angular 2+ apps to Bluemix via the HTTP server nginx. All that server does it to host the static files. Below I describe how to use OpenWhisk actions for server-side business logic that can be invoked from Angular apps.
In order to avoid cross origin security errors proxy servers need to be used. Fortunately both the local web server that is installed via the Angular CLI and nginx can be configured as proxies.
I’m using the same simple app a
Deploying Angular 2 Apps to Bluemix|
Tue, Apr 11th 2017 8:01a Niklas Heidloff
Over the last months I’ve done quite a lot of Angular 2 development (now Angular 4). Below is a description how to create a new Angular app and deploy it as Docker container to Bluemix in just a few minutes.
In order to create a new Angular app you can use the Angular CLI.
npm install -g @angular/cli
ng new angular-app
ng build --prod
There are several ways to deploy Angular apps to Bluemix. For example you can build a simple Node.js web server to host the files. Or y
Running the Sample App BlueChatter on Kubernetes|
Mon, Apr 10th 2017 3:56p Niklas Heidloff
Since last month Bluemix supports Kubernetes (beta) which many people consider the de-facto standard for orchestrations of containers. Some of the older and simpler Bluemix sample applications use docker-compose. Below is a description how to run those examples on Kubernetes.
Essentially the docker-compose file needs to be converted to a Kubernetes yaml file. As example I use the chat application BlueChatter. The sample is a Node.js application that leverages Redis to store session data. The fil
Orchestrating Docker Containers with Kubernetes|
Fri, Apr 7th 2017 1:37p Niklas Heidloff
Last month IBM announced the beta of Kubernetes support in the IBM Bluemix Container Service. Below is a short introduction to Kubernetes and a short description how to get started using Kubernetes on IBM Bluemix.
In a nutshell Kubernetes allows running and managing cloud native apps that consist of multiple containers. To get started you need to know some terminology. For example a ‘Deployment’ contains ‘Pods’ that can contain multiple Docker containers (but typically co
Using IBM Watson Discovery to query Unstructured Data|
Wed, Apr 5th 2017 7:32a Niklas Heidloff
In my previous blog entry I described how to use Watson Knowledge Studio to create models to identify information in unstructured data. These models can be used by the Watson services and offerings Watson Discovery, Watson Explorer and Watson Natural Language Understanding. Below is a quick intro how to use Watson Discovery to query unstructured data.
Watson Discovery is a service to extract value from unstructured data by converting, normalizing and enriching it. In order to use it you first ne
Understanding Natural Language Text via Watson Knowledge Studio|
Tue, Apr 4th 2017 2:10p Niklas Heidloff
One of the newer IBM Watson offerings that I really like is Watson Knowledge Studio. It basically allows identifying information in unstructured data. Below is a quick overview of the Knowledge Studio functionality.
Watson Knowledge Studio is not a Bluemix service but an SaaS offering to create models for custom corpora of data that can actually be deployed and used in other Watson services (more about this in another blog). These models are either machine-learning models which work more generic
Getting started with Tensorflow on IBM Bluemix|
Mon, Apr 3rd 2017 4:11p Niklas Heidloff
In order to learn Deep Learning I’ve taken an Udacity course that I can highly recommend. One reason I took that course was because I also liked the Udacity machine learning courses. Another reason was because I wanted to learn Tensorflow which to me looks like the most popular deep learning library right now.
Below is the YouTube playlist of the course. The assignments can be run locally via Docker.
Another good starting point to learn Tensorflow is the video “Tensorflow and deep l
Thu, Sep 1st 2016 4:01a Niklas Heidloff
Some people have asked why I haven’t blogged since June. Here is why …
Almost two years ago I started to work for IBM Emerging Technologies. I wanted to work in this group for multiple reasons. One reason was because some of the people in that group worked as developer evangelists for Bluemix which is what I wanted to do as well. I really enjoyed this role since I could learn a lot, since I could blog and open source samples, since I could attend developer conferences and more. As yo