Applications nowadays, are usually deployed inside containers. A container consists of libraries and tools which allow the application to run inside. Since there can be exploitable vulnerabilities, it is not only important to take security into account for your application, but also for the container it runs in. There are […]
Continuous Delivery
Connect Azure Pipelines with sonarcloud through maven (YAML)
Introduction Sonarcloud is a static code analysis tool. This means that it checks out the code at your repository, does an analysis and shows you the results. It may look something like this: It gives detailed information about your code and you can for example let it scan if you […]
Azure Pipelines: publish to Azure Artifacts
This article is a follow-up to my previous article about using Azure Artifacts for own NPM modules. In that article I showed how to create a NPM module by hand on your local system and publish it to Azure Artifacts. But now we like to integrate it into CI/CD, so […]
OpenEBS: Create persistent storage in your Charmed Kubernetes cluster quick and easy!
As a developer I wanted to experiment with Kubernetes environments which approximate production deployments. In order to do that I wanted a distributed storage solution and chose OpenEBS. Mainly because it was easy to get started and quick to get up and running. In this blog post I’ll describe how […]
Charmed Kubernetes on KVM using MAAS and Juju
Coming to this solution was a journey. I was looking for a Kubernetes installation which was easy to deploy and cleanup on my own laptop (I didn’t want to have to pay for a hosted solution). I did want a solution which was more or less production-like because I wanted […]
Deploy Angular and Node.js webapp in Azure Pipelines (part 5)
In the previous article I explained how to set up multiple environments for Azure Pipelines. In this article I will explain how you can deploy the artifacts to the on-premise VM’s. This are the artifacts you build in the pipeline. I am using an template for this, because we are […]
On-premise VM’s and Azure Pipelines: Set up with multiple stages in Azure Pipelines (part 4)
In the previous article we discussed how we can build a pipeline and at some tests to it. In this article we’re going to discuss how we can set up the on-premise VM’s so that we can deploy the artifacts to them. You can also deploy the artifacts to an […]
Add tests for Angular and Node.js webapp in Azure Pipelines (part 3)
In the previous article I showed how to build a webapp in the Azure pipeline. In this article I will explain to you how you run tests in your pipeline. I will show you how to do this for both Angular and Node.js. Adding tests frontend – Angular Adding tests […]
Creating a re-usable Vagrant Box from an existing VM with Ubuntu and k3s (with the Kubernetes Dashboard) and adding mysql, using Vagrant and Oracle VirtualBox
In a previous article, I shared with you the steps I took, to get k3s installed (with the Kubernetes Dashboard) on top of an Ubuntu guest Operating System within an Oracle VirtualBox appliance, with the help of Vagrant. [ https://technology.amis.nl/2020/01/15/rapidly-spinning-up-a-vm-with-ubuntu-and-k3s-with-the-kubernetes-dashboard-on-my-windows-laptop-using-vagrant-and-oracle-virtualbox/] For training and demo purposes, I wanted to add mysql […]
Quick and easy: A multi-node Kubernetes cluster on CentOS 7 + QEMU/KVM (libvirt)
Kubernetes is a popular container orchestration platform. As a developer understanding the environment in which your application is going to run is important since this can help you use available services of the platform and fix issues. There are several options to run Kubernetes locally to get some experience with […]
Azure Pipeline: Build Angular and Node.js webapp (part 2)
In the previous article, we discussed how we can set up a pipeline with multiple stages in Azure Pipelines. In this article we will discuss how we can build the Angular and Node.js apps in the pipeline itself. I usually put all the build processes in one stage. In that […]
Azure Pipelines: Using and set up a webapp (part 1)
This will be the first part 5 part series about Azure Pipelines. In this first part I will explain to you how to set up your Azure Pipeline so it’s capable of deploying a Node.js and Angular webapp. We will use Node for the backend and Angular for the frontend. […]
Azure Pipelines: How to build and test an Angular and Node.js webapp and deploy it to on-premise VM’s using multiple stages (YAML) – Overview
What is Azure Pipelines? Azure pipelines is a free continuous integration/continuous delivery tool from Azure Devops (Microsoft). Not only can it deploy to the azure cloud, it can also deploy to self hosted VMs. Even multiple, with multiple stages. For instance, an Acceptance, Test and Production environment. All of this […]
The size of Docker images containing OpenJDK 11.0.6
When running Java applications in containers, you need to be careful with your resources. If you’re not careful with layering your images (for example using Google’s Jib), you can quickly get into disk-space issues, especially when your base image and/or application gets updated regularly. One of the ways you can save […]
Very first steps in Oracle Cloud Infrastructure as Code with Terraform
Resources in Oracle Cloud Infrastructure can be managed through the console – the browser based UI. That works great but requires manual steps – no automation – that take time and easily go wrong (and become extremely boring over time). Additionally, it is a rather individualistic way of working that […]
Set Terraform Resource properties from an element in a list retrieved by a Data Source – using a local value
Terraform is a platform for implementing Infrastructure as Code. Terraform defines a syntax for describing resources and provides an engine that interprets the resources definitions, compares this desired state with the existing state in the destination environment and subsequently attempts to bring the destination in line with the desired state. […]
Rapidly spinning up a VM with Ubuntu and k3s (with the Kubernetes Dashboard) on my Windows laptop using Vagrant and Oracle VirtualBox
In November of last year, my colleague Lucas Jellema, wrote an article with the title “Ultra fast, ultra small Kubernetes on Linux – K3S beating minikube”. [https://technology.amis.nl/2019/11/12/ultra-fast-ultra-small-kubernetes-on-linux-k3s-beating-minikube/] For training and demo purposes, on my Windows laptop, I already had an environment with a guest Operating System, Docker and Minikube available […]
pgAdmin in Docker: Provisioning connections and passwords
pgAdmin is a popular open source and feature rich administration and development platform for PostgreSQL. When provisioning Postgres database environments using containers, it is not unusual to also provision a pgAdmin container. The pgAdmin image provided on Docker Hub does not contain any server connection details. When your pgAdmin container […]
Using Elastic Stack, Filebeat and Logstash (for log aggregation)
In a previous article I described how I used ElasticSearch, Filebeat and Kibana, for log aggregation (getting log information available at a centralized location). [https://technology.amis.nl/2019/09/15/using-elastic-stack-filebeat-for-log-aggregation/] In this article I will talk about the installation and use of Filebeat in combination with Logstash (from the Elastic Stack).
Using Elastic Stack, Filebeat (for log aggregation)
In my last article I described how I used ElasticSearch, Fluentd and Kibana (EFK). Besides log aggregation (getting log information available at a centralized location), I also described how I created some visualizations within a dashboard. [https://technology.amis.nl/2019/05/06/using-elasticsearch-fluentd-and-kibana-for-log-aggregation/] In a new series of articles, I will dive into using Filebeat and […]
Using ElasticSearch, Fluentd and Kibana (for log aggregation)
In my last article I described how I installed ElasticSearch, Fluentd and Kibana (EFK). [https://technology.amis.nl/2019/04/23/using-vagrant-and-shell-scripts-to-further-automate-setting-up-my-demo-environment-from-scratch-including-elasticsearch-fluentd-and-kibana-efk-within-minikube/] In this article I will dive into using ElasticSearch, Fluentd and Kibana. Besides log aggregation (getting log information available at a centralized location), I will also describe how I created some visualizations within a dashboard. […]
Using Vagrant and shell scripts to further automate setting up my demo environment from scratch, including ElasticSearch, Fluentd and Kibana (EFK) within Minikube
For training and demo purposes, on my windows laptop, I needed an environment with a guest Operating System, Docker and Minikube available within an Oracle VirtualBox appliance. So, in a series of articles up till now, I described the following: The steps I took, to get Docker and Minikube (using […]
6 tips to make your life with Vagrant even better!
HashiCorp Vagrant is a great tool to quickly get up and running with a development environment. In this blog post I’ll give some tips to make your life with Vagrant even better! You can find an example which uses these tips here.
Using Helm, the package manager for Kubernetes, to install two versions of a RESTful Web Service Spring Boot application within Minikube
In my last article I described how two versions of a RESTful Web Service Spring Boot application were used in Minikube, together with an external “Dockerized” MySQL database. [https://technology.amis.nl/2019/03/05/using-a-restful-web-service-spring-boot-application-in-minikube-together-with-an-external-dockerized-mysql-database/] In this article I will describe how you can use Helm, the package manager for Kubernetes, to install two versions of […]
Using a RESTful Web Service Spring Boot application in Minikube, together with an external “Dockerized” MySQL database
In a previous article, I talked about an environment, I prepared on my Windows laptop, with a guest Operating System, Docker and Minikube available within an Oracle VirtualBox appliance. [https://technology.amis.nl/2019/02/12/rapidly-spinning-up-a-vm-with-ubuntu-docker-and-minikube-using-the-vm-drivernone-option-on-my-windows-laptop-using-vagrant-and-oracle-virtualbox/] In another article I created two versions of a RESTful Web Service Spring Boot application, being a book service. With […]
Rapidly spinning up a VM with Ubuntu, Docker and Minikube (using the –vm-driver=none option) on my Windows laptop using Vagrant and Oracle VirtualBox
For training and demo purposes, on my Windows laptop, I needed an environment with a guest Operating System, Docker and Minikube available within an Oracle VirtualBox appliance. In this article, I will share with you the steps I took, to get Docker and Minikube (using the –vm-driver=none option) installed on […]
Minikube on Windows. Hyper-V vs Vagrant/VirtualBox
Kubernetes is a system for running and coordinating containerized applications across a cluster of machines. Minikube runs a single-node Kubernetes cluster and can be used for local development. In this blog post I’ll compare 2 different ways to get a working Minikube environment on Windows based on experience with a […]
Monitoring Spring Boot applications with Prometheus and Grafana
In order to compare the performance of different JDKs for reactive Spring Boot services, I made a setup in which a Spring Boot application is wrapped in a Docker container. This makes it easy to create different containers for different JDKs with the same Spring Boot application running in it. […]
Running Reactive Spring Boot on GraalVM in Docker
GraalVM is an open source polyglot VM which makes it easy to mix and match different languages such as Java, Javascript and R. It has the ability (with some restrictions) to compile code to native executables. This of course offers great performance benefits. Recently, GraalVM Docker files and images have […]
How to deploy InfluxDB in Azure using a VM service with dedicated storage
InfluxDB isn’t natively supported on Azure. This blog post will teach you how to deploy InfluxDB (or any other database) in a VM with a managed disk on the Azure platform. This will enable you to use this fast time-series database for your project. If the standard range of […]
Jenkins 2.0 pipeline: Scripting active parameters for SCM
Last year I got introduced to the new features 2nd generation Jenkins at a workshop of CloudBees . This year I got also the opportunity to discover them in practice. One of the most interesting and often challenging part of working with scripted pipelines is the gap between the list of plugins supported […]
Docker host and bridged networking. Running library/httpd on different ports
Docker provides different networking options. When using the Docker host networking, you don’t have the option to create port mappings. When using images like library/httpd:2.4, you don’t have the option to update the port on which it runs; it runs by default on port 80. Suppose you want to use […]
Getting started with Enterprise Modules’ ora_profile to install Oracle 18c
A couple of moths ago, Enterprise Modules announced the easy to start way of making use their Oracle modules, ora_profile. Recently their modules have been updated to support the on-premise release of Oracle 18c (18.3). In this post I’ll explain how to get started using Vagrant, VirtualBox and a little […]
Rapidly spinning up a VM with Ubuntu and Docker–on my Windows machine using Vagrant and VirtualBox
I have a Windows laptop. And of course I want to work with Docker containers. Using the Docker Quickstart Terminal is one way of doing so, and to some extent that works fine. But whenever I want to have more control over the Linux environment that runs the Docker host, […]
Quickly spinning up Docker Containers with baseline Oracle Database Setup – for performing automated tests
Here is a procedure for running an Oracle Database, preparing a baseline in objects (tables, stored procedures) and data, creating an image of that baseline and subsequently running containers based on that baseline image. Each container starts with a fresh setup. For running automated tests that require test data to […]
Getting started with git behind a company proxy
Since a few months I’ve been involved in working with git to save our Infrastructure as Code in GitHub. But I don’t want to have to type in my password every time and do not like in clear text saved passwords, so I prefer ssh over https. But when working […]
Handle a GitHub Push Event from a Web Hook Trigger in a Node application
My requirement in this case: a push of one or more commits to a GitHub repository need to trigger a Node application that inspects the commit and when specific conditions are met – it will download the contents of the commit. I have implemented this functionality using a Node application […]
Oracle JET Web Applications – Automating Build, Package and Deploy (to Application Container Cloud) using a Docker Container
The essential message of this article is the automation for Oracle JET application of the flow from source code commit to a running application on Oracle Application Container Cloud, as shown in this picture: I will describe the inside of the “black box” (actually light blue in this picture) where […]
Quickly create a Virtualbox development VM with XE DB using Kickstart, Packer, Vagrant
The topic of quickly creating an Oracle development VM is not new. Several years ago Edwin Biemond and Lucas Jellema have written several blogs about this and have given presentations about the topics at various conferences. You can also download ready made Virtualbox images from Oracle here and specifically for […]
Docker, WebLogic Image on Amazon EC2 Container Service
This blog series shows how to get started with WebLogic and Docker – in 3 different Clouds: Docker and the Oracle Images Create and run a WebLogic Docker Image on a local machine and upload the WebLogic Docker Image into the Docker Hub registry WebLogic Docker Container on Oracle Container […]