Congratulations!

[Valid RSS] This is a valid RSS feed.

Recommendations

This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: http://heidloff.net/nh/home.nsf/feed.rss

  1. <?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
  2. xmlns:content="http://purl.org/rss/1.0/modules/content/"
  3. xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  4. xmlns:dc="http://purl.org/dc/elements/1.1/"
  5. xmlns:atom="http://www.w3.org/2005/Atom"
  6. xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  7. xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  8. >
  9.  
  10. <channel>
  11. <title>Niklas Heidloff</title>
  12. <atom:link href="http://heidloff.net/feed/" rel="self" type="application/rss+xml" />
  13. <link>http://heidloff.net</link>
  14. <description></description>
  15. <lastBuildDate>Tue, 26 Sep 2017 09:48:53 +0000</lastBuildDate>
  16. <language>en-US</language>
  17. <sy:updatePeriod>hourly</sy:updatePeriod>
  18. <sy:updateFrequency>1</sy:updateFrequency>
  19. <generator>http://wordpress.org/?v=4.3.12</generator>
  20. <item>
  21. <title>Deploying Apps to Kubernetes on the IBM Cloud with Helm</title>
  22. <link>http://heidloff.net/article/kubernetes-helm-ibm-cloud</link>
  23. <comments>http://heidloff.net/article/kubernetes-helm-ibm-cloud#comments</comments>
  24. <pubDate>Tue, 26 Sep 2017 08:46:56 +0000</pubDate>
  25. <dc:creator><![CDATA[Niklas Heidloff]]></dc:creator>
  26. <category><![CDATA[Articles]]></category>
  27.  
  28. <guid isPermaLink="false">http://heidloff.net/?p=2553</guid>
  29. <description><![CDATA[<p>Helm is the package manager for Kubernetes. With Helm you can very easily deploy applications, tools and databases like MongoDB, PostgreSQL, WordPress and Apache Spark into your own Kubernetes clusters. Below is a brief description how to use Helm for the IBM Cloud Container service. Here is a short description of Helm and Helm Charts [&#8230;]</p>
  30. <p>The post <a rel="nofollow" href="http://heidloff.net/article/kubernetes-helm-ibm-cloud">Deploying Apps to Kubernetes on the IBM Cloud with Helm</a> appeared first on <a rel="nofollow" href="http://heidloff.net">Niklas Heidloff</a>.</p>
  31. ]]></description>
  32. <content:encoded><![CDATA[<p><a href="https://github.com/kubernetes/helm" rel="noopener" target="_blank">Helm</a> is the package manager for Kubernetes. With Helm you can very easily deploy applications, tools and databases like MongoDB, PostgreSQL, WordPress and Apache Spark into your own Kubernetes clusters. Below is a brief description how to use Helm for the IBM Cloud Container service.<span id="more-2553"></span></p>
  33. <p>Here is a short description of Helm and Helm Charts from the <a href="https://helm.sh/" rel="noopener" target="_blank">Helm</a> home page:</p>
  34. <p>&#8220;Helm helps you manage Kubernetes applications. Helm Charts helps you define, install, and upgrade even the most complex Kubernetes application. Charts are easy to create, version, share, and publish, so start using Helm and stop the copy-and-paste madness. The latest version of Helm is maintained by the <a href="https://www.cncf.io/" rel="noopener" target="_blank">CNCF</a>.&#8221;</p>
  35. <p>In the easiest way you can install applications by invoking commands like &#8216;helm install stable/mongodb&#8217;. You can also configure applications before installing them via yaml configuration files.</p>
  36. <p>The Kubernetes community provides a curated catalog of <a href="https://github.com/kubernetes/charts/tree/master/stable" rel="noopener" target="_blank">stable Helm Charts</a>. Additionally IBM provides <a href="https://github.com/IBM/charts/tree/master/stable" rel="noopener" target="_blank">charts</a> for Db2, MQ and more.</p>
  37. <p>Below is a quick example for how to deploy <a href="https://github.com/kubernetes/charts/tree/master/stable/mongodb" rel="noopener" target="_blank">MongoDB</a> to Kubernetes on the IBM Cloud.</p>
  38. <p>First you need to configure the Bluemix CLI to work against your Kubernetes cluster and you need to <a href="https://docs.helm.sh/using_helm/#quickstart-guide" rel="noopener" target="_blank">install Helm</a> on your development machine.</p>
  39. <pre class="brush: plain; title: ; notranslate">
  40. bx login -a https://api.ng.bluemix.net
  41. bx target --cf
  42. bx cs init
  43. bx cs cluster-config mycluster
  44. set environment variable: export KUBECONFIG=...
  45. bx cr login
  46. helm init
  47. helm repo add stable https://kubernetes-charts.storage.googleapis.com/
  48. </pre>
  49. <p>Next you can install Kubernetes applications with the following command:</p>
  50. <pre class="brush: plain; title: ; notranslate">
  51. helm install --name my-tag stable/mongodb
  52. </pre>
  53. <p>If you want to delete everything later, run &#8216;helm delete my-tag&#8217;.</p>
  54. <p>To find out the IP address and port run these commands:</p>
  55. <pre class="brush: plain; title: ; notranslate">
  56. bx cs workers mycluster
  57. kubectl get svc
  58. kubectl get svc my-service
  59. </pre>
  60. <p>If you have a paid account, this is all you have to do.</p>
  61. <p>The free account does not support <a href="https://console.bluemix.net/docs/containers/cs_planning.html#cs_planning_apps_storage" rel="noopener" target="_blank">persistent volumes</a>. As workaround you can use disk space on worker nodes. Run &#8216;kubectl create -f config.yaml&#8217; with the following content in config.yaml for MongoDB.</p>
  62. <pre class="brush: plain; title: ; notranslate">
  63. kind: PersistentVolume
  64. apiVersion: v1
  65. metadata:
  66.  name: mongo-simple-mongodb
  67.  namespace: default  
  68. spec:  
  69.  capacity:
  70.    storage: 10Gi
  71.  accessModes:
  72.    - ReadWriteOnce
  73.  hostPath:
  74.    path: &quot;/tmp/data&quot;
  75. </pre>
  76. <p>After this you can see everything working on the Kubernetes dashboard (&#8216;kubectl proxy&#8217;).</p>
  77. <p><a href="http://heidloff.net/wp-content/uploads/2017/09/helm-mongo.png"><img src="http://heidloff.net/wp-content/uploads/2017/09/helm-mongo.png" alt="helm-mongo" width="2282" height="1942" class="alignnone size-full wp-image-2554" /></a></p>
  78. <p>The post <a rel="nofollow" href="http://heidloff.net/article/kubernetes-helm-ibm-cloud">Deploying Apps to Kubernetes on the IBM Cloud with Helm</a> appeared first on <a rel="nofollow" href="http://heidloff.net">Niklas Heidloff</a>.</p>
  79. ]]></content:encoded>
  80. <wfw:commentRss>http://heidloff.net/article/kubernetes-helm-ibm-cloud/feed/</wfw:commentRss>
  81. <slash:comments>0</slash:comments>
  82. </item>
  83. <item>
  84. <title>Deploying MicroProfile based Java Applications to Bluemix</title>
  85. <link>http://heidloff.net/article/microprofile-bluemix-kubernetes</link>
  86. <comments>http://heidloff.net/article/microprofile-bluemix-kubernetes#comments</comments>
  87. <pubDate>Fri, 22 Sep 2017 13:50:23 +0000</pubDate>
  88. <dc:creator><![CDATA[Niklas Heidloff]]></dc:creator>
  89. <category><![CDATA[Articles]]></category>
  90.  
  91. <guid isPermaLink="false">http://heidloff.net/?p=2548</guid>
  92. <description><![CDATA[<p>Eclipse MicroProfile is an open source project to optimize Enterprise Java for microservices architectures. MicroProfile based applications can be deployed to Kubernetes. This article describes how to build microservices via the Microservice Builder and how to deploy them to Bluemix. The Microservice Builder provides functionality to easily create new Java based microservices. Below is a [&#8230;]</p>
  93. <p>The post <a rel="nofollow" href="http://heidloff.net/article/microprofile-bluemix-kubernetes">Deploying MicroProfile based Java Applications to Bluemix</a> appeared first on <a rel="nofollow" href="http://heidloff.net">Niklas Heidloff</a>.</p>
  94. ]]></description>
  95. <content:encoded><![CDATA[<p>Eclipse <a href="http://microprofile.io/" rel="noopener" target="_blank">MicroProfile</a> is an open source project to optimize Enterprise Java for microservices architectures. MicroProfile based applications can be deployed to Kubernetes. This article describes how to build microservices via the Microservice Builder and how to deploy them to Bluemix.<span id="more-2548"></span></p>
  96. <p>The <a href="https://developer.ibm.com/microservice-builder/" rel="noopener" target="_blank">Microservice Builder</a> provides functionality to easily create new Java based microservices. Below is a quick walkthrough how to create new microservices, how to run them locally and how to deploy them to Kubernetes on Bluemix public. You can find more information on the Microservice Builder <a href="https://developer.ibm.com/microservice-builder/" rel="noopener" target="_blank">landing page</a>.</p>
  97. <p>To create a new project install the Bluemix CLI and run these commands:</p>
  98. <pre class="brush: plain; title: ; notranslate">
  99. bx plugin install -r bluemix dev
  100. bx dev create
  101. </pre>
  102. <p><a href="http://heidloff.net/wp-content/uploads/2017/09/microprofile-wizard2.png"><img src="http://heidloff.net/wp-content/uploads/2017/09/microprofile-wizard2.png" alt="microprofile-wizard2" width="1828" height="1292" class="alignnone size-full wp-image-2547" /></a></p>
  103. <p>After this you can change the starter template with your IDE of choice. Here is a <a href="https://github.com/nheidloff/microprofile" rel="noopener" target="_blank">sample project</a> that contains the generated code.</p>
  104. <p><a href="http://heidloff.net/wp-content/uploads/2017/09/microprofile-wizard1.png"><img src="http://heidloff.net/wp-content/uploads/2017/09/microprofile-wizard1.png" alt="microprofile-wizard1" width="2710" height="1888" class="alignnone size-full wp-image-2546" /></a></p>
  105. <p>In order to run the microservice locally (http://localhost:9080) run these commands.</p>
  106. <pre class="brush: plain; title: ; notranslate">
  107. bx dev build
  108. bx dev run
  109. </pre>
  110. <p>Before deploying the microservice to Bluemix, you need to login with the CLI:</p>
  111. <pre class="brush: plain; title: ; notranslate">
  112. bx login -a https://api.ng.bluemix.net
  113. bx target --cf
  114. bx cs init
  115. bx cs cluster-config mycluster
  116. set environment variable: export KUBECONFIG=...
  117. bx cr login
  118. </pre>
  119. <p>You also need to change the image name in the generated <a href="https://github.com/nheidloff/microprofile/blob/master/manifests/kube.deploy.yml#L35" rel="noopener" target="_blank">Kubernetes yml file</a> to include the Bluemix DNS name and your namespace, e.g. &#8220;registry.ng.bluemix.net/nheidloff/microprofile:latest&#8221;.</p>
  120. <pre class="brush: plain; title: ; notranslate">
  121. apiVersion: extensions/v1beta1
  122. kind: Deployment
  123. ...
  124.         containers:
  125.         - name: microprofile
  126.           image: registry.ng.bluemix.net/nheidloff/microprofile:latest
  127. </pre>
  128. <p>Before deploying the service to Kubernetes, the image needs to be tagged and pushed.</p>
  129. <pre class="brush: plain; title: ; notranslate">
  130. docker tag microprofile registry.ng.bluemix.net/nheidloff/microprofile
  131. docker push registry.ng.bluemix.net/nheidloff/microprofile
  132. kubectl create -f manifests
  133. </pre>
  134. <p>To find out the IP address and port run these commands:</p>
  135. <pre class="brush: plain; title: ; notranslate">
  136. bx cs workers mycluster
  137. kubectl get svc microprofile-service
  138. </pre>
  139. <p>The post <a rel="nofollow" href="http://heidloff.net/article/microprofile-bluemix-kubernetes">Deploying MicroProfile based Java Applications to Bluemix</a> appeared first on <a rel="nofollow" href="http://heidloff.net">Niklas Heidloff</a>.</p>
  140. ]]></content:encoded>
  141. <wfw:commentRss>http://heidloff.net/article/microprofile-bluemix-kubernetes/feed/</wfw:commentRss>
  142. <slash:comments>0</slash:comments>
  143. </item>
  144. <item>
  145. <title>Deploying MicroProfile based Apps to IBM Cloud private</title>
  146. <link>http://heidloff.net/article/microprofile-ibm-cloud-private-kubernetes</link>
  147. <comments>http://heidloff.net/article/microprofile-ibm-cloud-private-kubernetes#comments</comments>
  148. <pubDate>Thu, 21 Sep 2017 14:30:57 +0000</pubDate>
  149. <dc:creator><![CDATA[Niklas Heidloff]]></dc:creator>
  150. <category><![CDATA[Articles]]></category>
  151.  
  152. <guid isPermaLink="false">http://heidloff.net/?p=2539</guid>
  153. <description><![CDATA[<p>Eclipse MicroProfile is an open source project to optimize Enterprise Java for microservices architectures. MicroProfile based applications can be deployed to Kubernetes. This article describes how to deploy a sample application to IBM Cloud private. IBM Cloud private is a Kubernetes based platform to run cloud-native applications on-premises. It also comes with a Docker image [&#8230;]</p>
  154. <p>The post <a rel="nofollow" href="http://heidloff.net/article/microprofile-ibm-cloud-private-kubernetes">Deploying MicroProfile based Apps to IBM Cloud private</a> appeared first on <a rel="nofollow" href="http://heidloff.net">Niklas Heidloff</a>.</p>
  155. ]]></description>
  156. <content:encoded><![CDATA[<p>Eclipse <a href="http://microprofile.io/" rel="noopener" target="_blank">MicroProfile</a> is an open source project to optimize Enterprise Java for microservices architectures. MicroProfile based applications can be deployed to Kubernetes. This article describes how to deploy a sample application to <a href="https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/W1559b1be149d_43b0_881e_9783f38faaff/page/Overview%20of%20IBM%20Cloud%20private" rel="noopener" target="_blank">IBM Cloud private</a>.<span id="more-2539"></span></p>
  157. <p>IBM Cloud private is a <a href="http://heidloff.net/article/cloud-native-on-premises-ibm" rel="noopener" target="_blank">Kubernetes based platform</a> to run cloud-native applications on-premises. It also comes with a Docker image registry. For developers there is a <a href="https://www.ibm.com/support/knowledgecenter/en/SSBS6K_2.1.0/installing/install_containers_CE.html" rel="noopener" target="_blank">community edition</a> available to run everything in one virtual machine.</p>
  158. <p>The example I&#8217;m using is a simple conference application originally provided by the <a href="https://github.com/eclipse/microprofile-conference" rel="noopener" target="_blank">MicroProfile developers</a> and slightly changed by the <a href="https://github.com/WASdev/sample.microservicebuilder.docs" rel="noopener" target="_blank">IBM team</a> to showcase IBM technologies like WebSphere Liberty which has been <a href="http://www.openliberty.io/" rel="noopener" target="_blank">open sourced</a> this week. My colleagues Animesh Singh and Ishan Gulhane have <a href="https://github.com/IBM/Java-MicroProfile-on-Kubernetes" rel="noopener" target="_blank">documented</a> how to deploy this sample to Kubernetes on Bluemix public.</p>
  159. <p>There are different approaches to deploy applications to IBM Cloud private. I&#8217;d like to blog later about the approach to use delivery pipelines. Below I describe how to deploy from a development machine via command line. </p>
  160. <p>Most of the steps to deploy the sample to Bluemix public or IBM Cloud private are identical. So I only document the differences below.</p>
  161. <p>The Microservice Builder Fabric can be installed via helm commands as documented or from the IBM Cloud private admin interface.</p>
  162. <p><a href="http://heidloff.net/wp-content/uploads/2017/09/cloud-private-sample1.png"><img src="http://heidloff.net/wp-content/uploads/2017/09/cloud-private-sample1.png" alt="cloud-private-sample1" width="2208" height="1672" class="alignnone size-full wp-image-2540" /></a></p>
  163. <p>Before building the images some <a href="https://www.ibm.com/support/knowledgecenter/en/SSBS6K_2.1.0/manage_images/using_docker_cli.html" rel="noopener" target="_blank">configuration</a> needs to be done. The hosts file of the development machine needs to be changed to define the IP of the cluster. Additionally Docker needs to be configured to be able to access the Docker host on the virtual machine. This process is a little tricky, especially on Mac. In one terminal invoke these commands:</p>
  164. <pre class="brush: plain; title: ; notranslate">
  165. ssh [email protected]
  166. cd /etc/docker/certs.d/mycluster\:8500/
  167. cp ca.crt /tmp/
  168. </pre>
  169. <p>In a second terminal run these commands:</p>
  170. <pre class="brush: plain; title: ; notranslate">
  171. sudo screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
  172. mkdir /etc/docker/certs.d/
  173. mkdir /etc/docker/certs.d/mycluster:8500/
  174. cd /etc/docker/certs.d/mycluster:8500/
  175. scp [email protected]:/tmp/ca.crt .
  176. </pre>
  177. <p>After this you should be able to access the Docker registry on IBM Cloud private (user: admin, pw: admin):</p>
  178. <pre class="brush: plain; title: ; notranslate">
  179. docker login mycluster:8500
  180. docker build -t mycluster:8500/admin/microservice-vote-cloudant sample.microservicebuilder.vote
  181. docker push mycluster:8500/admin/microservice-vote-cloudant
  182. </pre>
  183. <p>There is also a script to build and push all six images. If you want to use it run &#8220;./scripts/build_and_push_docker_images.sh mycluster:8500/admin&#8221;.</p>
  184. <p>After the images have been pushed you can see them also in the IBM Cloud private admin interface.</p>
  185. <p><a href="http://heidloff.net/wp-content/uploads/2017/09/cloud-private-sample2.png"><img src="http://heidloff.net/wp-content/uploads/2017/09/cloud-private-sample2.png" alt="cloud-private-sample2" width="2094" height="1358" class="alignnone size-full wp-image-2541" /></a></p>
  186. <p>Before the sample can be deployed, Kubernetes needs to be configured. Open the admin interface (e.g. https://192.168.178.36:8443) and choose &#8216;Configure Client&#8217;. Copy and paste these commands in your terminal. For example:</p>
  187. <pre class="brush: plain; title: ; notranslate">
  188. kubectl config set-cluster mycluster --server=https://192.168.178.36:8001 --insecure-skip-tls-verify=true
  189. kubectl config set-context mycluster-context --cluster=mycluster
  190. kubectl config set-credentials mycluster-user --token=eyJhbG......q_ATOQe-J2A
  191. kubectl config set-context mycluster-context --user=mycluster-user --namespace=default
  192. kubectl config use-context mycluster-context
  193. </pre>
  194. <p><a href="http://heidloff.net/wp-content/uploads/2017/09/cloud-private-sample3.png"><img src="http://heidloff.net/wp-content/uploads/2017/09/cloud-private-sample3-300x278.png" alt="cloud-private-sample3" width="300" height="278" class="alignnone size-medium wp-image-2542" /></a></p>
  195. <p>&#8216;kubectl create -f manifests&#8217; starts the deployment which takes a couple of minutes. After this the sample application can be accessed, e.g. via http://192.168.178.36:30056/#/speakers.</p>
  196. <p>Thanks a lot, again, to Ansgar Schmidt for helping me with the setup.</p>
  197. <p>The post <a rel="nofollow" href="http://heidloff.net/article/microprofile-ibm-cloud-private-kubernetes">Deploying MicroProfile based Apps to IBM Cloud private</a> appeared first on <a rel="nofollow" href="http://heidloff.net">Niklas Heidloff</a>.</p>
  198. ]]></content:encoded>
  199. <wfw:commentRss>http://heidloff.net/article/microprofile-ibm-cloud-private-kubernetes/feed/</wfw:commentRss>
  200. <slash:comments>0</slash:comments>
  201. </item>
  202. <item>
  203. <title>Watson Machine Learning Sample for Developers</title>
  204. <link>http://heidloff.net/article/watson-machine-learning-sample</link>
  205. <comments>http://heidloff.net/article/watson-machine-learning-sample#comments</comments>
  206. <pubDate>Tue, 19 Sep 2017 15:37:34 +0000</pubDate>
  207. <dc:creator><![CDATA[Niklas Heidloff]]></dc:creator>
  208. <category><![CDATA[Articles]]></category>
  209.  
  210. <guid isPermaLink="false">http://heidloff.net/?p=2525</guid>
  211. <description><![CDATA[<p>Last month IBM announced the general availability of Watson Machine Learning which can be used by data scientists to create models and it can be used by developers to run predictions from their applications. Below is a simple sample walkthrough. As sample scenario I&#8217;ve chosen the Titanic dataset to predict whether people would have survived [&#8230;]</p>
  212. <p>The post <a rel="nofollow" href="http://heidloff.net/article/watson-machine-learning-sample">Watson Machine Learning Sample for Developers</a> appeared first on <a rel="nofollow" href="http://heidloff.net">Niklas Heidloff</a>.</p>
  213. ]]></description>
  214. <content:encoded><![CDATA[<p>Last month IBM <a href="https://datascience.ibm.com/blog/watson-machine-learning-general-availability/" target="_blank">announced</a> the general availability of <a href="https://console.bluemix.net/catalog/services/machine-learning" target="_blank">Watson Machine Learning</a> which can be used by data scientists to create models and it can be used by developers to run predictions from their applications. Below is a simple sample walkthrough.<span id="more-2525"></span></p>
  215. <p>As sample scenario I&#8217;ve chosen the Titanic dataset to predict whether people would have survived based on their age, ticket class, sex and number of siblings and spouses aboard the Titanic. I picked this dataset because it seems to be used a lot in tutorials and demos how to do machine learning.</p>
  216. <p>There are different ways for data scientists to create models with Watson Machine Learning. I&#8217;ve used the simplest approach. With the Model Builder you can create models with a graphical interface without having to write code or understand machine learning.</p>
  217. <p>First I created a new model.</p>
  218. <p><a href="http://heidloff.net/wp-content/uploads/2017/09/wml1.png"><img src="http://heidloff.net/wp-content/uploads/2017/09/wml1.png" alt="wml1" width="2290" height="1700" class="alignnone size-full wp-image-2522" /></a></p>
  219. <p>Next I uploaded the Titanic data set (.csv file).</p>
  220. <p><a href="http://heidloff.net/wp-content/uploads/2017/09/wml2.png"><img src="http://heidloff.net/wp-content/uploads/2017/09/wml2.png" alt="wml2" width="2314" height="786" class="alignnone size-full wp-image-2523" /></a></p>
  221. <p>At the top of the next page the label (column to predict) is defined, in this case &#8216;survived&#8217;. Below the label the list of features like age and ticket class are specified. Since in this sample I want to predict &#8216;survived&#8217; or &#8216;not survived&#8217; I choose &#8216;binary classification&#8217;. Since I&#8217;m not a data scientist I didn&#8217;t know which estimators to use and selected all of them.</p>
  222. <p><a href="http://heidloff.net/wp-content/uploads/2017/09/wml3.png"><img src="http://heidloff.net/wp-content/uploads/2017/09/wml3.png" alt="wml3" width="2316" height="1686" class="alignnone size-full wp-image-2524" /></a></p>
  223. <p>After the training has been completed you can see the results of the different estimators, select the best one and save the model.</p>
  224. <p><a href="http://heidloff.net/wp-content/uploads/2017/09/wml4.png"><img src="http://heidloff.net/wp-content/uploads/2017/09/wml4.png" alt="wml4" width="2370" height="1176" class="alignnone size-full wp-image-2529" /></a></p>
  225. <p>In order to run predictions from applications, the model needs to be deployed (bottom of the screenshot).</p>
  226. <p><a href="http://heidloff.net/wp-content/uploads/2017/09/wml51.png"><img src="http://heidloff.net/wp-content/uploads/2017/09/wml51.png" alt="wml5" width="2362" height="1630" class="alignnone size-full wp-image-2532" /></a></p>
  227. <p>Once deployed an endpoint is provided to invoke POST requests with input features which returns the prediction. Check out the <a href="http://watson-ml-api.mybluemix.net/#!/Deployments/post_v3_wml_instances_instance_id_published_models_published_model_id_deployments_deployment_id_online" target="_blank">API explorer</a> for details.</p>
  228. <p><a href="http://heidloff.net/wp-content/uploads/2017/09/wml6.png"><img src="http://heidloff.net/wp-content/uploads/2017/09/wml6.png" alt="wml6" width="2362" height="1240" class="alignnone size-full wp-image-2533" /></a></p>
  229. <p>To lean more about Watson Machine Learning open <a href="https://datascience.ibm.com/" target="_blank">IBM Data Science Experience</a> and give it a try.</p>
  230. <p>The post <a rel="nofollow" href="http://heidloff.net/article/watson-machine-learning-sample">Watson Machine Learning Sample for Developers</a> appeared first on <a rel="nofollow" href="http://heidloff.net">Niklas Heidloff</a>.</p>
  231. ]]></content:encoded>
  232. <wfw:commentRss>http://heidloff.net/article/watson-machine-learning-sample/feed/</wfw:commentRss>
  233. <slash:comments>0</slash:comments>
  234. </item>
  235. <item>
  236. <title>Some Pictures from Hack.IAA</title>
  237. <link>http://heidloff.net/article/pictures-hack.iaa-ibm</link>
  238. <comments>http://heidloff.net/article/pictures-hack.iaa-ibm#comments</comments>
  239. <pubDate>Tue, 19 Sep 2017 07:34:37 +0000</pubDate>
  240. <dc:creator><![CDATA[Niklas Heidloff]]></dc:creator>
  241. <category><![CDATA[Articles]]></category>
  242.  
  243. <guid isPermaLink="false">http://heidloff.net/?p=2517</guid>
  244. <description><![CDATA[<p>Last week I attended Hack.IAA, a hackathon with a focus on Artifical Intelligence and Car-2-X Communication organized by [email protected] 60 students had 24 hours to come up with new business models and innovative solutions. IBM provided access to the IBM Cloud and Watson and helped participants with technical questions. I had great discussions with the [&#8230;]</p>
  245. <p>The post <a rel="nofollow" href="http://heidloff.net/article/pictures-hack.iaa-ibm">Some Pictures from Hack.IAA</a> appeared first on <a rel="nofollow" href="http://heidloff.net">Niklas Heidloff</a>.</p>
  246. ]]></description>
  247. <content:encoded><![CDATA[<p>Last week I attended <a href="https://www.digitallife-campus.com/en/hack-iaa-2017" target="_blank">Hack.IAA</a>, a hackathon with a focus on Artifical Intelligence and Car-2-X Communication organized by <a href="https://www.daimler.com/innovation/digitalization/digitallife/" target="_blank">[email protected]</a>. 60 students had 24 hours to come up with new business models and innovative solutions. IBM provided access to the IBM Cloud and Watson and helped participants with technical questions. I had great discussions with the students and enjoyed the event.<span id="more-2517"></span></p>
  248. <p>The students used some of the Watson services like <a href="https://www.ibm.com/watson/services/visual-recognition/" target="_blank">Visual Recognition</a> and <a href="https://www.ibm.com/watson/services/conversation/" target="_blank">Conversation</a>, technologies like Node, Node-RED and the Bluemix Delivery Pipeline for easy deployments and they got inspired by  Internet of Things services like <a href="https://console.bluemix.net/docs/services/IotMapInsights/index.html" target="_blank">Context Mapping</a>. Below are some pictures.</p>
  249. <p>IBM mentors:</p>
  250. <p><a href="http://heidloff.net/wp-content/uploads/2017/09/iaa1.jpg"><img src="http://heidloff.net/wp-content/uploads/2017/09/iaa1.jpg" alt="iaa1" width="1000" height="563" class="alignnone size-full wp-image-2511" /></a></p>
  251. <p>Location:</p>
  252. <p><a href="http://heidloff.net/wp-content/uploads/2017/09/iaa3.jpg"><img src="http://heidloff.net/wp-content/uploads/2017/09/iaa3.jpg" alt="iaa3" width="1000" height="563" class="alignnone size-full wp-image-2513" /></a></p>
  253. <p>Final presentations on the big stage:</p>
  254. <p><a href="http://heidloff.net/wp-content/uploads/2017/09/iaa2.jpg"><img src="http://heidloff.net/wp-content/uploads/2017/09/iaa2.jpg" alt="iaa2" width="1000" height="563" class="alignnone size-full wp-image-2512" /></a></p>
  255. <p>Cognitive dress:</p>
  256. <p><a href="http://heidloff.net/wp-content/uploads/2017/09/iaa5.jpg"><img src="http://heidloff.net/wp-content/uploads/2017/09/iaa5.jpg" alt="iaa5" width="1000" height="746" class="alignnone size-full wp-image-2515" /></a></p>
  257. <p>Coding:</p>
  258. <p><a href="http://heidloff.net/wp-content/uploads/2017/09/iaa6.jpg"><img src="http://heidloff.net/wp-content/uploads/2017/09/iaa6.jpg" alt="iaa6" width="1000" height="563" class="alignnone size-full wp-image-2516" /></a></p>
  259. <p>The post <a rel="nofollow" href="http://heidloff.net/article/pictures-hack.iaa-ibm">Some Pictures from Hack.IAA</a> appeared first on <a rel="nofollow" href="http://heidloff.net">Niklas Heidloff</a>.</p>
  260. ]]></content:encoded>
  261. <wfw:commentRss>http://heidloff.net/article/pictures-hack.iaa-ibm/feed/</wfw:commentRss>
  262. <slash:comments>0</slash:comments>
  263. </item>
  264. <item>
  265. <title>My Favorite Tech Talks for Developers</title>
  266. <link>http://heidloff.net/article/favorite-tech-talks</link>
  267. <comments>http://heidloff.net/article/favorite-tech-talks#comments</comments>
  268. <pubDate>Mon, 18 Sep 2017 15:21:36 +0000</pubDate>
  269. <dc:creator><![CDATA[Niklas Heidloff]]></dc:creator>
  270. <category><![CDATA[Articles]]></category>
  271.  
  272. <guid isPermaLink="false">http://heidloff.net/?p=2507</guid>
  273. <description><![CDATA[<p>During my workouts I enjoy watching tech talks to learn about new technologies and trends. I&#8217;ve created a YouTube playlist with some of my favorite tech talks. The videos in the playlist are awesome sessions from great speakers like Martin Fowler, Brian Will, Erik Dörnenburg, Kevlin Henney and Jonas Bonér. The sessions cover topics like [&#8230;]</p>
  274. <p>The post <a rel="nofollow" href="http://heidloff.net/article/favorite-tech-talks">My Favorite Tech Talks for Developers</a> appeared first on <a rel="nofollow" href="http://heidloff.net">Niklas Heidloff</a>.</p>
  275. ]]></description>
  276. <content:encoded><![CDATA[<p>During my workouts I enjoy watching tech talks to learn about new technologies and trends. I&#8217;ve created a YouTube <a href="https://www.youtube.com/playlist?list=PLxE7fvzRQPboggFwQDlExZ0o8QsTUmSOT" target="_blank">playlist</a> with some of my favorite tech talks.<span id="more-2507"></span></p>
  277. <p>The videos in the playlist are awesome sessions from great speakers like Martin Fowler, Brian Will, Erik Dörnenburg, Kevlin Henney and Jonas Bonér. The sessions cover topics like cloud-native, microservices, functional programming, reactive programming, engineering culture, coding best practises and more.</p>
  278. <p><iframe width="853" height="480" src="https://www.youtube.com/embed/videoseries?list=PLxE7fvzRQPboggFwQDlExZ0o8QsTUmSOT" frameborder="0" allowfullscreen></iframe></p>
  279. <p>The post <a rel="nofollow" href="http://heidloff.net/article/favorite-tech-talks">My Favorite Tech Talks for Developers</a> appeared first on <a rel="nofollow" href="http://heidloff.net">Niklas Heidloff</a>.</p>
  280. ]]></content:encoded>
  281. <wfw:commentRss>http://heidloff.net/article/favorite-tech-talks/feed/</wfw:commentRss>
  282. <slash:comments>0</slash:comments>
  283. </item>
  284. <item>
  285. <title>Running Cloud-Native Applications On-Premises</title>
  286. <link>http://heidloff.net/article/cloud-native-on-premises-ibm</link>
  287. <comments>http://heidloff.net/article/cloud-native-on-premises-ibm#comments</comments>
  288. <pubDate>Mon, 18 Sep 2017 14:30:47 +0000</pubDate>
  289. <dc:creator><![CDATA[Niklas Heidloff]]></dc:creator>
  290. <category><![CDATA[Articles]]></category>
  291.  
  292. <guid isPermaLink="false">http://heidloff.net/?p=2500</guid>
  293. <description><![CDATA[<p>Cloud-native applications have a lot of advantages compared to monolithic architectures such as scalability and elasticity. Cloud-native platforms typically also provide services that developers can use without having to worry about infrastructure. These advantages are available in public clouds and now also in some private clouds which is important for companies with high data security [&#8230;]</p>
  294. <p>The post <a rel="nofollow" href="http://heidloff.net/article/cloud-native-on-premises-ibm">Running Cloud-Native Applications On-Premises</a> appeared first on <a rel="nofollow" href="http://heidloff.net">Niklas Heidloff</a>.</p>
  295. ]]></description>
  296. <content:encoded><![CDATA[<p>Cloud-native applications have a lot of advantages compared to monolithic architectures such as scalability and elasticity. Cloud-native platforms typically also provide services that developers can use without having to worry about infrastructure. These advantages are available in public clouds and now also in some private clouds which is important for companies with high data security and privacy requirements.<span id="more-2500"></span></p>
  297. <p>Recently IBM <a href="https://www.ibm.com/blogs/bluemix/2017/06/ibm-announces-kubernetes-base-ibm-cloud-private-platform/" target="_blank">announced</a> IBM Cloud private. The <a href="https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/W1559b1be149d_43b0_881e_9783f38faaff/page/Overview%20of%20IBM%20Cloud%20private" target="_blank">wiki</a> describes the key features:</p>
  298. <blockquote><p>IBM Cloud private is an application platform for developing and managing on-premises, containerized applications. It is an integrated environment for managing containers that includes the container orchestrator Kubernetes, a private image repository, a management console, and monitoring frameworks.</p></blockquote>
  299. <p>IBM Cloud private provides services like IBM Db2, IBM MQ, Redis, API Connect and <a href="https://developer.ibm.com/microservice-builder/" target="_blank">Microservice Builder</a> which developers need to build workloads for traditional middleware. I hope to find time to blog more about this soon.</p>
  300. <p>The following diagram explains the architecture and core components.</p>
  301. <p><a href="http://heidloff.net/wp-content/uploads/2017/09/architecture_kubev3.jpg"><img src="http://heidloff.net/wp-content/uploads/2017/09/architecture_kubev3.jpg" alt="architecture_kubev3" width="1200" height="588" class="alignnone size-full wp-image-2502" /></a></p>
  302. <p>For developers there is a <a href="https://www.ibm.com/support/knowledgecenter/en/SSBS6K_2.1.0/installing/install_containers_CE.html" target="_blank">community edition</a> available. You can install all nodes in one virtual machine. I run it on my MacBook Pro from 2014 with Virtual Box (ubuntu, 4 processors, 4 GB memory). I&#8217;ve followed these <a href="https://www.ibm.com/support/knowledgecenter/en/SSBS6K_2.1.0/installing/install_containers_CE.html" target="_blank">instructions</a> (with the help of my colleague Ansgar Schmidt). There is also a <a href="https://www.ibm.com/support/knowledgecenter/en/SSBS6K_2.1.0/installing/install_containers_CE_UI.html" target="_blank">GUI</a> installer.</p>
  303. <p>Here is a screenshot of the management console.</p>
  304. <p><a href="http://heidloff.net/wp-content/uploads/2017/09/ibm-cloud-private.png"><img src="http://heidloff.net/wp-content/uploads/2017/09/ibm-cloud-private.png" alt="ibm-cloud-private" width="2586" height="1918" class="alignnone size-full wp-image-2498" /></a></p>
  305. <p>To find out more, check out the <a href="https://www.ibm.com/cloud-computing/products/ibm-cloud-private/" target="_blank">landing page</a>.</p>
  306. <p>The post <a rel="nofollow" href="http://heidloff.net/article/cloud-native-on-premises-ibm">Running Cloud-Native Applications On-Premises</a> appeared first on <a rel="nofollow" href="http://heidloff.net">Niklas Heidloff</a>.</p>
  307. ]]></content:encoded>
  308. <wfw:commentRss>http://heidloff.net/article/cloud-native-on-premises-ibm/feed/</wfw:commentRss>
  309. <slash:comments>0</slash:comments>
  310. </item>
  311. <item>
  312. <title>Node-RED Samples for IBM Watson IoT Hackathon</title>
  313. <link>http://heidloff.net/article/node-red-ibm-watson-iot</link>
  314. <comments>http://heidloff.net/article/node-red-ibm-watson-iot#comments</comments>
  315. <pubDate>Mon, 11 Sep 2017 11:49:01 +0000</pubDate>
  316. <dc:creator><![CDATA[Niklas Heidloff]]></dc:creator>
  317. <category><![CDATA[Articles]]></category>
  318.  
  319. <guid isPermaLink="false">http://heidloff.net/?p=2491</guid>
  320. <description><![CDATA[<p>Recently I gave an one hour webinar to help developers to prepare for a hackathon related to IBM Watson IoT. I demonstrated Node-RED and coded live some sample flows. Get the sample flows from GitHub. Functionality: Getting started with the Watson IoT Quickstart Using the IoT Starter Building simple web user interfaces via the Node-RED [&#8230;]</p>
  321. <p>The post <a rel="nofollow" href="http://heidloff.net/article/node-red-ibm-watson-iot">Node-RED Samples for IBM Watson IoT Hackathon</a> appeared first on <a rel="nofollow" href="http://heidloff.net">Niklas Heidloff</a>.</p>
  322. ]]></description>
  323. <content:encoded><![CDATA[<p>Recently I gave an one hour webinar to help developers to prepare for a hackathon related to <a href="https://www.ibm.com/internet-of-things/" target="_blank">IBM Watson IoT</a>. I demonstrated Node-RED and coded live some sample flows.<span id="more-2491"></span></p>
  324. <p><a href="https://github.com/nheidloff/node-red-watson-iot-samples" target="_blank">Get the sample flows from GitHub.</a></p>
  325. <p>Functionality:</p>
  326. <ul>
  327. <li>Getting started with the <a href="https://quickstart.internetofthings.ibmcloud.com/#/" target="_blank">Watson IoT Quickstart</a></li>
  328. <li>Using the <a href="https://console.bluemix.net/catalog/starters/internet-of-things-platform-starter" target="_blank">IoT Starter</a></li>
  329. <li>Building simple web user interfaces via the <a href="https://github.com/node-red/node-red-dashboard" target="_blank">Node-RED Dashboard</a></li>
  330. <li>Invoking REST APIs and implementing REST APIs</li>
  331. <li>Leveraging Watson services: Conversation, Translation, Tone Analyzer, Text to Speech</li>
  332. </ul>
  333. <p>Here is a screenshot of the flows with Watson nodes.</p>
  334. <p><a href="http://heidloff.net/wp-content/uploads/2017/09/Screen-Shot-2017-09-11-at-8.46.19-AM.png"><img src="http://heidloff.net/wp-content/uploads/2017/09/Screen-Shot-2017-09-11-at-8.46.19-AM.png" alt="Screen Shot 2017-09-11 at 8.46.19 AM" width="1980" height="1474" class="alignnone size-full wp-image-2492" /></a></p>
  335. <p>The post <a rel="nofollow" href="http://heidloff.net/article/node-red-ibm-watson-iot">Node-RED Samples for IBM Watson IoT Hackathon</a> appeared first on <a rel="nofollow" href="http://heidloff.net">Niklas Heidloff</a>.</p>
  336. ]]></content:encoded>
  337. <wfw:commentRss>http://heidloff.net/article/node-red-ibm-watson-iot/feed/</wfw:commentRss>
  338. <slash:comments>0</slash:comments>
  339. </item>
  340. <item>
  341. <title>Securing Kubernetes Applications with Vulnerability Advisor</title>
  342. <link>http://heidloff.net/article/kubernetes-docker-container-vulnerabilities</link>
  343. <comments>http://heidloff.net/article/kubernetes-docker-container-vulnerabilities#comments</comments>
  344. <pubDate>Tue, 05 Sep 2017 06:58:05 +0000</pubDate>
  345. <dc:creator><![CDATA[Niklas Heidloff]]></dc:creator>
  346. <category><![CDATA[Articles]]></category>
  347.  
  348. <guid isPermaLink="false">http://heidloff.net/?p=2484</guid>
  349. <description><![CDATA[<p>The Bluemix Vulnerability Advisor checks the security status of container images before deployments as well as the status of running containers. For example it can detect weak passwords, whether SSH is installed or whether images have known vulnerabilities. The Vulnerability Advisor leverages various sources like the CentOS announce archives and Red Hat RHSA announce archives [&#8230;]</p>
  350. <p>The post <a rel="nofollow" href="http://heidloff.net/article/kubernetes-docker-container-vulnerabilities">Securing Kubernetes Applications with Vulnerability Advisor</a> appeared first on <a rel="nofollow" href="http://heidloff.net">Niklas Heidloff</a>.</p>
  351. ]]></description>
  352. <content:encoded><![CDATA[<p>The Bluemix <a href="https://console.bluemix.net/docs/containers/va/va_index.html" target="_blank">Vulnerability Advisor</a> checks the security status of container images before deployments as well as the status of <a href="https://www.ibm.com/blogs/bluemix/2016/11/vulnerability-advisor-secure-your-dev-ops-across-containers/" target="_blank">running containers</a>. For example it can detect weak passwords, whether SSH is installed or whether images have known vulnerabilities. <span id="more-2484"></span></p>
  353. <p>The Vulnerability Advisor leverages various sources like the CentOS announce archives and Red Hat RHSA announce archives to know about vulnerabilities and it calculates risk based on the IBM <a href="https://exchange.xforce.ibmcloud.com/" target="_blank">X-Force Exchange</a> technology.</p>
  354. <p>While this functionality has been available for scalable containers groups for quite some time, you can also use this functionality now in DevOps Delivery Pipelines when deploying Kubernetes applications. There is a nice <a href="https://www.ibm.com/devops/method/tutorials/tc_secure_kube" target="_blank">tutorial</a> that describes in detail how to set up a hello world sample. Below is a quick summary.</p>
  355. <p>In Delivery Pipelines you can add stages with the tester type &#8220;IBM Vulnerability Advisor&#8221; which checks all images of a Kubernetes application. At the bottom of the screenshot is a checkbox to define whether you want to stop running the pipeline if this stage fails.</p>
  356. <p><a href="http://heidloff.net/wp-content/uploads/2017/09/vulnerability3.png"><img src="http://heidloff.net/wp-content/uploads/2017/09/vulnerability3.png" alt="vulnerability3" width="1532" height="1566" class="alignnone size-full wp-image-2486" /></a></p>
  357. <p>Since the currently latest version of the node image from Docker hub has vulnerabilities, the deployment of the sample application is prevented. To fix these issues the node image provided by IBM (registry.ng.bluemix.net/ibmnode) is used instead.</p>
  358. <p>The screenshot shows how to read the output of the advisor via the &#8216;bx cr&#8217; CLI. Alternatively you can also see this information in the Bluemix web user interface.  </p>
  359. <p><a href="http://heidloff.net/wp-content/uploads/2017/09/vulnerability2.png"><img src="http://heidloff.net/wp-content/uploads/2017/09/vulnerability2.png" alt="vulnerability2" width="2302" height="1180" class="alignnone size-full wp-image-2483" /></a></p>
  360. <p>To lean more about the Vulnerability Advisor read the <a href="https://console.bluemix.net/docs/containers/va/va_index.html" target="_blank">documentation</a>.</p>
  361. <p>The post <a rel="nofollow" href="http://heidloff.net/article/kubernetes-docker-container-vulnerabilities">Securing Kubernetes Applications with Vulnerability Advisor</a> appeared first on <a rel="nofollow" href="http://heidloff.net">Niklas Heidloff</a>.</p>
  362. ]]></content:encoded>
  363. <wfw:commentRss>http://heidloff.net/article/kubernetes-docker-container-vulnerabilities/feed/</wfw:commentRss>
  364. <slash:comments>0</slash:comments>
  365. </item>
  366. <item>
  367. <title>Tool to manage all Bluemix CLIs</title>
  368. <link>http://heidloff.net/article/tool-manage-bluemix-cli</link>
  369. <comments>http://heidloff.net/article/tool-manage-bluemix-cli#comments</comments>
  370. <pubDate>Fri, 01 Sep 2017 07:33:07 +0000</pubDate>
  371. <dc:creator><![CDATA[Niklas Heidloff]]></dc:creator>
  372. <category><![CDATA[Articles]]></category>
  373.  
  374. <guid isPermaLink="false">http://heidloff.net/?p=2474</guid>
  375. <description><![CDATA[<p>As a Bluemix developer you typically need to use several CLIs (command line interfaces). There is a specific CLI for Bluemix with multiple plugins to manage Bluemix applications and services. Additionally you can use third party CLIs like Docker, Kubernetes and Cloud Foundry against Bluemix. Recently a new tool has been published for macOS &#8216;IBM [&#8230;]</p>
  376. <p>The post <a rel="nofollow" href="http://heidloff.net/article/tool-manage-bluemix-cli">Tool to manage all Bluemix CLIs</a> appeared first on <a rel="nofollow" href="http://heidloff.net">Niklas Heidloff</a>.</p>
  377. ]]></description>
  378. <content:encoded><![CDATA[<p>As a <a href="https://bluemix.net" target="_blank">Bluemix</a> developer you typically need to use several <a href="https://console.bluemix.net/docs/cli/index.html#cli" target="_blank">CLIs</a> (command line interfaces). There is a specific <a href="https://console.bluemix.net/docs/cli/reference/bluemix_cli/bx_cli.html#bluemix_cli" target="_blank">CLI for Bluemix</a> with multiple plugins to manage Bluemix applications and services. Additionally you can use third party CLIs like Docker, Kubernetes and Cloud Foundry against Bluemix.<span id="more-2474"></span></p>
  379. <p>Recently a new tool has been published for macOS &#8216;<a href="https://console.bluemix.net/docs/cli/icat.html#icat" target="_blank">IBM Cloud Application Tools 2</a>&#8216; (beta). I find this tool pretty useful since you can install and update all CLIs with a few clicks. In the past I had to download new CLI versions manually, find the right install locations, set environment paths, etc.</p>
  380. <p>Here is a screenshot.</p>
  381. <p><a href="http://heidloff.net/wp-content/uploads/2017/09/bluemix-app-tool2.png"><img src="http://heidloff.net/wp-content/uploads/2017/09/bluemix-app-tool2.png" alt="bluemix-app-tool2" width="446" height="600" class="alignnone size-full wp-image-2475" /></a></p>
  382. <p>If you don&#8217;t use macOS you might be interested in a <a href="https://ansi.23-5.eu/2017/07/docker-container-bluemix-cli-tools/" target="_blank">Docker image</a> with all CLIs which my colleague Ansgar published.</p>
  383. <p>The post <a rel="nofollow" href="http://heidloff.net/article/tool-manage-bluemix-cli">Tool to manage all Bluemix CLIs</a> appeared first on <a rel="nofollow" href="http://heidloff.net">Niklas Heidloff</a>.</p>
  384. ]]></content:encoded>
  385. <wfw:commentRss>http://heidloff.net/article/tool-manage-bluemix-cli/feed/</wfw:commentRss>
  386. <slash:comments>0</slash:comments>
  387. </item>
  388. </channel>
  389. </rss>
  390.  

If you would like to create a banner that links to this page (i.e. this validation result), do the following:

  1. Download the "valid RSS" banner.

  2. Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)

  3. Add this HTML to your page (change the image src attribute if necessary):

If you would like to create a text link instead, here is the URL you can use:

http://www.feedvalidator.org/check.cgi?url=http%3A//heidloff.net/nh/home.nsf/feed.rss

Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda